https://bugs.eclipse.org/bugs/show_bug.cgi?id=536407, migrate to EPL 2.0 and catch up with branch development

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/about.html b/about.html
index 64c0598..e8b834d 100644
--- a/about.html
+++ b/about.html
@@ -8,13 +8,13 @@
 <body lang="EN-US">
 <h2>About This Content</h2>
  
-<p>June 1, 2016</p>	
+<p>November 30, 2017</p>	
 <h3>License</h3>
 
 <p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
 indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+Eclipse Public License Version 2.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
 For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
 
 <p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
diff --git a/notice.html b/notice.html
index c3d34c3..008b801 100644
--- a/notice.html
+++ b/notice.html
@@ -7,101 +7,183 @@
 </head>
 
 <body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 9, 2014</p>
+	<h2>Eclipse Foundation Software User Agreement</h2>
+	<p>November 22, 2017</p>
 
-<h3>Usage Of Content</h3>
+	<h3>Usage Of Content</h3>
 
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+	<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+		INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+		(COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY
+		THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+		CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+		BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
+		GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
+		APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+		BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+		AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+		AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+		USE THE CONTENT.</p>
 
-<h3>Applicable Licenses</h3>
+	<h3>Applicable Licenses</h3>
 
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+	<p>
+		Unless otherwise indicated, all Content made available by the Eclipse
+		Foundation is provided to you under the terms and conditions of the
+		Eclipse Public License Version 2.0 (&quot;EPL&quot;). A copy of the
+		EPL is provided with this Content and is also available at <a
+			href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+	<p>Content includes, but is not limited to, source code, object
+		code, documentation and other files maintained in the Eclipse
+		Foundation source code repository (&quot;Repository&quot;) in software
+		modules (&quot;Modules&quot;) and made available as downloadable
+		archives (&quot;Downloads&quot;).</p>
 
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
+	<ul>
+		<li>Content may be structured and packaged into modules to
+			facilitate delivering, extending, and upgrading the Content. Typical
+			modules may include plug-ins (&quot;Plug-ins&quot;), plug-in
+			fragments (&quot;Fragments&quot;), and features
+			(&quot;Features&quot;).</li>
+		<li>Each Plug-in or Fragment may be packaged as a sub-directory
+			or JAR (Java&trade; ARchive) in a directory named
+			&quot;plugins&quot;.</li>
+		<li>A Feature is a bundle of one or more Plug-ins and/or
+			Fragments and associated material. Each Feature may be packaged as a
+			sub-directory in a directory named &quot;features&quot;. Within a
+			Feature, files named &quot;feature.xml&quot; may contain a list of
+			the names and version numbers of the Plug-ins and/or Fragments
+			associated with that Feature.</li>
+		<li>Features may also include other Features (&quot;Included
+			Features&quot;). Within a Feature, files named
+			&quot;feature.xml&quot; may contain a list of the names and version
+			numbers of Included Features.</li>
+	</ul>
 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
+	<p>The terms and conditions governing Plug-ins and Fragments should
+		be contained in files named &quot;about.html&quot;
+		(&quot;Abouts&quot;). The terms and conditions governing Features and
+		Included Features should be contained in files named
+		&quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and
+		Feature Licenses may be located in any directory of a Download or
+		Module including, but not limited to the following locations:</p>
 
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
+	<ul>
+		<li>The top-level (root) directory</li>
+		<li>Plug-in and Fragment directories</li>
+		<li>Inside Plug-ins and Fragments packaged as JARs</li>
+		<li>Sub-directories of the directory named &quot;src&quot; of
+			certain Plug-ins</li>
+		<li>Feature directories</li>
+	</ul>
 
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
+	<p>Note: if a Feature made available by the Eclipse Foundation is
+		installed using the Provisioning Technology (as defined below), you
+		must agree to a license (&quot;Feature Update License&quot;) during
+		the installation process. If the Feature contains Included Features,
+		the Feature Update License should either provide you with the terms
+		and conditions governing the Included Features or inform you where you
+		can locate them. Feature Update Licenses may be found in the
+		&quot;license&quot; property of files named
+		&quot;feature.properties&quot; found within a Feature. Such Abouts,
+		Feature Licenses, and Feature Update Licenses contain the terms and
+		conditions (or references to such terms and conditions) that govern
+		your use of the associated Content in that directory.</p>
 
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+	<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY
+		REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
+		CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
+		ARE NOT LIMITED TO):</p>
 
-<ul>
-       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
+	<ul>
+		<li>Eclipse Public License Version 1.0 (available at <a
+			href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)
+		</li>
+		<li>Eclipse Distribution License Version 1.0 (available at <a
+			href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)
+		</li>
+		<li>Common Public License Version 1.0 (available at <a
+			href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)
+		</li>
+		<li>Apache Software License 1.1 (available at <a
+			href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)
+		</li>
+		<li>Apache Software License 2.0 (available at <a
+			href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)
+		</li>
+		<li>Mozilla Public License Version 1.1 (available at <a
+			href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)
+		</li>
+	</ul>
 
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+	<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+		CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+		or Feature Update License is provided, please contact the Eclipse
+		Foundation to determine what terms and conditions govern that
+		particular Content.</p>
 
 
-<h3>Use of Provisioning Technology</h3>
+	<h3>Use of Provisioning Technology</h3>
 
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
+	<p>
+		The Eclipse Foundation makes available provisioning software, examples
+		of which include, but are not limited to, p2 and the Eclipse Update
+		Manager (&quot;Provisioning Technology&quot;) for the purpose of
+		allowing users to install software, documentation, information and/or
+		other materials (collectively &quot;Installable Software&quot;). This
+		capability is provided with the intent of allowing such users to
+		install, extend and update Eclipse-based products. Information about
+		packaging Installable Software is available at <a
+			href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+		(&quot;Specification&quot;).
+	</p>
 
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+	<p>You may use Provisioning Technology to allow other parties to
+		install Installable Software. You shall be responsible for enabling
+		the applicable license agreements relating to the Installable Software
+		to be presented to, and accepted by, the users of the Provisioning
+		Technology in accordance with the Specification. By using Provisioning
+		Technology in such a manner and making it available in accordance with
+		the Specification, you further acknowledge your agreement to, and the
+		acquisition of all necessary rights to permit the following:</p>
 
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
+	<ol>
+		<li>A series of actions may occur (&quot;Provisioning
+			Process&quot;) in which a user may execute the Provisioning
+			Technology on a machine (&quot;Target Machine&quot;) with the intent
+			of installing, extending or updating the functionality of an
+			Eclipse-based product.</li>
+		<li>During the Provisioning Process, the Provisioning Technology
+			may cause third party Installable Software or a portion thereof to be
+			accessed and copied to the Target Machine.</li>
+		<li>Pursuant to the Specification, you will provide to the user
+			the terms and conditions that govern the use of the Installable
+			Software (&quot;Installable Software Agreement&quot;) and such
+			Installable Software Agreement shall be accessed from the Target
+			Machine in accordance with the Specification. Such Installable
+			Software Agreement must inform the user of the terms and conditions
+			that govern the Installable Software and must solicit acceptance by
+			the end user in the manner prescribed in such Installable Software
+			Agreement. Upon such indication of agreement by the user, the
+			provisioning Technology will complete installation of the Installable
+			Software.</li>
+	</ol>
 
-<h3>Cryptography</h3>
+	<h3>Cryptography</h3>
 
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+	<p>Content may contain encryption software. The country in which
+		you are currently may have restrictions on the import, possession, and
+		use, and/or re-export to another country, of encryption software.
+		BEFORE using any encryption software, please check the country's laws,
+		regulations and policies concerning the import, possession, or use,
+		and re-export of encryption software, to see if this is permitted.</p>
 
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+	<p>
+		<small>Java and all Java-based trademarks are trademarks of
+			Oracle Corporation in the United States, other countries, or both.</small>
+	</p>
 </body>
 </html>
diff --git a/org.eclipse.osbp.xtext.chart.feature/LICENSE.txt b/org.eclipse.osbp.xtext.chart.feature/LICENSE.txt
index ff42ad4..fc5938d 100644
--- a/org.eclipse.osbp.xtext.chart.feature/LICENSE.txt
+++ b/org.eclipse.osbp.xtext.chart.feature/LICENSE.txt
@@ -1,161 +1,140 @@
-Eclipse Public License -v 1.0
+Eclipse Foundation Software User Agreement
 
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
-OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+November 22, 2017
 
-1. DEFINITIONS
+Usage Of Content
 
-"Contribution" means:
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU
+MAY NOT USE THE CONTENT.
 
-a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+Applicable Licenses
 
-b) in the case of each subsequent Contributor:
+Unless otherwise indicated, all Content made available by the Eclipse Foundation
+is provided to you under the terms and conditions of the Eclipse Public License
+Version 2.0 ("EPL"). A copy of the EPL is provided with this Content and is also
+available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL,
+"Program" will mean the Content.
 
-i) changes to the Program, and
+Content includes, but is not limited to, source code, object code, documentation
+and other files maintained in the Eclipse Foundation source code repository
+("Repository") in software modules ("Modules") and made available as
+downloadable archives ("Downloads").
 
-ii) additions to the Program;
+-   Content may be structured and packaged into modules to facilitate
+    delivering, extending, and upgrading the Content. Typical modules may
+    include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and
+    features ("Features").
+-   Each Plug-in or Fragment may be packaged as a sub-directory or JAR
+    (Java™ ARchive) in a directory named "plugins".
+-   A Feature is a bundle of one or more Plug-ins and/or Fragments and
+    associated material. Each Feature may be packaged as a sub-directory in a
+    directory named "features". Within a Feature, files named "feature.xml" may
+    contain a list of the names and version numbers of the Plug-ins and/or
+    Fragments associated with that Feature.
+-   Features may also include other Features ("Included Features"). Within a
+    Feature, files named "feature.xml" may contain a list of the names and
+    version numbers of Included Features.
 
-where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
-A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
-acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
-derivative works of the Program.
+The terms and conditions governing Plug-ins and Fragments should be contained in
+files named "about.html" ("Abouts"). The terms and conditions governing Features
+and Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+directory of a Download or Module including, but not limited to the following
+locations:
 
-"Contributor" means any person or entity that distributes the Program.
+-   The top-level (root) directory
+-   Plug-in and Fragment directories
+-   Inside Plug-ins and Fragments packaged as JARs
+-   Sub-directories of the directory named "src" of certain Plug-ins
+-   Feature directories
 
-"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.
+Note: if a Feature made available by the Eclipse Foundation is installed using
+the Provisioning Technology (as defined below), you must agree to a license
+("Feature Update License") during the installation process. If the Feature
+contains Included Features, the Feature Update License should either provide you
+with the terms and conditions governing the Included Features or inform you
+where you can locate them. Feature Update Licenses may be found in the "license"
+property of files named "feature.properties" found within a Feature. Such
+Abouts, Feature Licenses, and Feature Update Licenses contain the terms and
+conditions (or references to such terms and conditions) that govern your use of
+the associated Content in that directory.
 
-"Program" means the Contributions distributed in accordance with this Agreement.
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
 
-"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+-   Eclipse Public License Version 1.0 (available at
+    http://www.eclipse.org/legal/epl-v10.html)
+-   Eclipse Distribution License Version 1.0 (available at
+    http://www.eclipse.org/licenses/edl-v1.0.html)
+-   Common Public License Version 1.0 (available at
+    http://www.eclipse.org/legal/cpl-v10.html)
+-   Apache Software License 1.1 (available at
+    http://www.apache.org/licenses/LICENSE)
+-   Apache Software License 2.0 (available at
+    http://www.apache.org/licenses/LICENSE-2.0)
+-   Mozilla Public License Version 1.1 (available at
+    http://www.mozilla.org/MPL/MPL-1.1.html)
 
-2. GRANT OF RIGHTS
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO
+USE OF THE CONTENT. If no About, Feature License, or Feature Update License is
+provided, please contact the Eclipse Foundation to determine what terms and
+conditions govern that particular Content.
 
-a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
-and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
-form.
+Use of Provisioning Technology
 
-b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
-Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
-combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
-addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
-apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+The Eclipse Foundation makes available provisioning software, examples of which
+include, but are not limited to, p2 and the Eclipse Update Manager
+("Provisioning Technology") for the purpose of allowing users to install
+software, documentation, information and/or other materials (collectively
+"Installable Software"). This capability is provided with the intent of allowing
+such users to install, extend and update Eclipse-based products. Information
+about packaging Installable Software is available at
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").
 
-c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
-assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
-based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
-rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
-Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+You may use Provisioning Technology to allow other parties to install
+Installable Software. You shall be responsible for enabling the applicable
+license agreements relating to the Installable Software to be presented to, and
+accepted by, the users of the Provisioning Technology in accordance with the
+Specification. By using Provisioning Technology in such a manner and making it
+available in accordance with the Specification, you further acknowledge your
+agreement to, and the acquisition of all necessary rights to permit the
+following:
 
-d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
-grant the copyright license set forth in this Agreement.
+1.  A series of actions may occur ("Provisioning Process") in which a user may
+    execute the Provisioning Technology on a machine ("Target Machine") with the
+    intent of installing, extending or updating the functionality of an
+    Eclipse-based product.
+2.  During the Provisioning Process, the Provisioning Technology may cause third
+    party Installable Software or a portion thereof to be accessed and copied to
+    the Target Machine.
+3.  Pursuant to the Specification, you will provide to the user the terms and
+    conditions that govern the use of the Installable Software ("Installable
+    Software Agreement") and such Installable Software Agreement shall be
+    accessed from the Target Machine in accordance with the Specification. Such
+    Installable Software Agreement must inform the user of the terms and
+    conditions that govern the Installable Software and must solicit acceptance
+    by the end user in the manner prescribed in such Installable
+    Software Agreement. Upon such indication of agreement by the user, the
+    provisioning Technology will complete installation of the
+    Installable Software.
 
-3. REQUIREMENTS
+Cryptography
 
-A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
 
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-
-i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
-warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
-fitness for a particular purpose;
-
-ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;
-
-iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
-other party; and
-
-iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
-in a reasonable manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-a) it must be made available under this Agreement; and
-
-b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained within the Program.
-
-Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
-the Program in a commercial product offering should do so in a manner which does not create potential liability for
-other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
-("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
-against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
-brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
-Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
- participate in any such claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
-then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
-related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
-Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
-those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
-the Commercial Contributor must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
-determining the appropriateness of using and distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
-with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
-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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
-provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
-Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
-litigation is filed.
-
-All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
-noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
-of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
- granted by Recipient relating to the Program shall continue and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
-is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
-new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
-right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
-Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
-distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
-new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
-of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
-of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the
+United States, other countries, or both.
diff --git a/org.eclipse.osbp.xtext.chart.feature/build.properties b/org.eclipse.osbp.xtext.chart.feature/build.properties
index b8920ff..d6b1b0a 100644
--- a/org.eclipse.osbp.xtext.chart.feature/build.properties
+++ b/org.eclipse.osbp.xtext.chart.feature/build.properties
@@ -1,2 +1,2 @@
-bin.includes = license.html,  epl-v10.html,  feature.xml,\
+bin.includes = license.html,  epl-2.0.html,  feature.xml,\
                feature.properties
diff --git a/org.eclipse.osbp.xtext.chart.feature/epl-2.0.html b/org.eclipse.osbp.xtext.chart.feature/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.osbp.xtext.chart.feature/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title>Eclipse Public License - Version 2.0</title>
+    <style type="text/css">
+      body {
+        margin: 1.5em 3em;
+      }
+      h1{
+        font-size:1.5em;
+      }
+      h2{
+        font-size:1em;
+        margin-bottom:0.5em;
+        margin-top:1em;
+      }
+      p {
+        margin-top:  0.5em;
+        margin-bottom: 0.5em;
+      }
+      ul, ol{
+        list-style-type:none;
+      }
+    </style>
+  </head>
+  <body>
+    <h1>Eclipse Public License - v 2.0</h1>
+    <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+      PUBLIC LICENSE (&ldquo;AGREEMENT&rdquo;). ANY USE, REPRODUCTION OR DISTRIBUTION
+      OF THE PROGRAM CONSTITUTES RECIPIENT&#039;S ACCEPTANCE OF THIS AGREEMENT.
+    </p>
+    <h2 id="definitions">1. DEFINITIONS</h2>
+    <p>&ldquo;Contribution&rdquo; means:</p>
+    <ul>
+      <li>a) in the case of the initial Contributor, the initial content
+        Distributed under this Agreement, and
+      </li>
+      <li>
+        b) in the case of each subsequent Contributor:
+        <ul>
+          <li>i) changes to the Program, and</li>
+          <li>ii) additions to the Program;</li>
+        </ul>
+        where such changes and/or additions to the Program originate from
+        and are Distributed by that particular Contributor. A Contribution
+        &ldquo;originates&rdquo; from a Contributor if it was added to the Program by such
+        Contributor itself or anyone acting on such Contributor&#039;s behalf.
+        Contributions do not include changes or additions to the Program that
+        are not Modified Works.
+      </li>
+    </ul>
+    <p>&ldquo;Contributor&rdquo; means any person or entity that Distributes the Program.</p>
+    <p>&ldquo;Licensed Patents&rdquo; mean patent claims licensable by a Contributor which
+      are necessarily infringed by the use or sale of its Contribution alone
+      or when combined with the Program.
+    </p>
+    <p>&ldquo;Program&rdquo; means the Contributions Distributed in accordance with this
+      Agreement.
+    </p>
+    <p>&ldquo;Recipient&rdquo; means anyone who receives the Program under this Agreement
+      or any Secondary License (as applicable), including Contributors.
+    </p>
+    <p>&ldquo;Derivative Works&rdquo; shall mean any work, whether in Source Code or other
+      form, that is based on (or derived from) the Program and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship.
+    </p>
+    <p>&ldquo;Modified Works&rdquo; shall mean any work in Source Code or other form that
+      results from an addition to, deletion from, or modification of the
+      contents of the Program, including, for purposes of clarity any new file
+      in Source Code form that contains any contents of the Program. Modified
+      Works shall not include works that contain only declarations, interfaces,
+      types, classes, structures, or files of the Program solely in each case
+      in order to link to, bind by name, or subclass the Program or Modified
+      Works thereof.
+    </p>
+    <p>&ldquo;Distribute&rdquo; means the acts of a) distributing or b) making available
+      in any manner that enables the transfer of a copy.
+    </p>
+    <p>&ldquo;Source Code&rdquo; means the form of a Program preferred for making
+      modifications, including but not limited to software source code,
+      documentation source, and configuration files.
+    </p>
+    <p>&ldquo;Secondary License&rdquo; means either the GNU General Public License,
+      Version 2.0, or any later versions of that license, including any
+      exceptions or additional permissions as identified by the initial
+      Contributor.
+    </p>
+    <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+    <ul>
+      <li>a) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free copyright
+        license to reproduce, prepare Derivative Works of, publicly display,
+        publicly perform, Distribute and sublicense the Contribution of such
+        Contributor, if any, and such Derivative Works.
+      </li>
+      <li>b) Subject to the terms of this Agreement, each Contributor hereby
+        grants Recipient a non-exclusive, worldwide, royalty-free patent
+        license under Licensed Patents to make, use, sell, offer to sell,
+        import and otherwise transfer the Contribution of such Contributor,
+        if any, in Source Code or other form. This patent license shall
+        apply to the combination of the Contribution and the Program if,
+        at the time the Contribution is added by the Contributor, such
+        addition of the Contribution causes such combination to be covered
+        by the Licensed Patents. The patent license shall not apply to any
+        other combinations which include the Contribution. No hardware per
+        se is licensed hereunder.
+      </li>
+      <li>c) Recipient understands that although each Contributor grants the
+        licenses to its Contributions set forth herein, no assurances are
+        provided by any Contributor that the Program does not infringe the
+        patent or other intellectual property rights of any other entity.
+        Each Contributor disclaims any liability to Recipient for claims
+        brought by any other entity based on infringement of intellectual
+        property rights or otherwise. As a condition to exercising the rights
+        and licenses granted hereunder, each Recipient hereby assumes sole
+        responsibility to secure any other intellectual property rights needed,
+        if any. For example, if a third party patent license is required to
+        allow Recipient to Distribute the Program, it is Recipient&#039;s
+        responsibility to acquire that license before distributing the Program.
+      </li>
+      <li>d) Each Contributor represents that to its knowledge it has sufficient
+        copyright rights in its Contribution, if any, to grant the copyright
+        license set forth in this Agreement.
+      </li>
+      <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+        makes additional grants to any Recipient (other than those set forth
+        in this Agreement) as a result of such Recipient&#039;s receipt of the
+        Program under the terms of a Secondary License (if permitted under
+        the terms of Section 3).
+      </li>
+    </ul>
+    <h2 id="requirements">3. REQUIREMENTS</h2>
+    <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+    <ul>
+      <li>a) the Program must also be made available as Source Code, in
+        accordance with section 3.2, and the Contributor must accompany
+        the Program with a statement that the Source Code for the Program
+        is available under this Agreement, and informs Recipients how to
+        obtain it in a reasonable manner on or through a medium customarily
+        used for software exchange; and
+      </li>
+      <li>
+        b) the Contributor may Distribute the Program under a license
+        different than this Agreement, provided that such license:
+        <ul>
+          <li>i) effectively disclaims on behalf of all other Contributors all
+            warranties and conditions, express and implied, including warranties
+            or conditions of title and non-infringement, and implied warranties
+            or conditions of merchantability and fitness for a particular purpose;
+          </li>
+          <li>ii) effectively excludes on behalf of all other Contributors all
+            liability for damages, including direct, indirect, special, incidental
+            and consequential damages, such as lost profits;
+          </li>
+          <li>iii) does not attempt to limit or alter the recipients&#039; rights in the
+            Source Code under section 3.2; and
+          </li>
+          <li>iv) requires any subsequent distribution of the Program by any party
+            to be under a license that satisfies the requirements of this section 3.
+          </li>
+        </ul>
+      </li>
+    </ul>
+    <p>3.2 When the Program is Distributed as Source Code:</p>
+    <ul>
+      <li>a) it must be made available under this Agreement, or if the Program (i)
+        is combined with other material in a separate file or files made available
+        under a Secondary License, and (ii) the initial Contributor attached to
+        the Source Code the notice described in Exhibit A of this Agreement,
+        then the Program may be made available under the terms of such
+        Secondary Licenses, and
+      </li>
+      <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+    </ul>
+    <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+      attribution notices, disclaimers of warranty, or limitations of liability
+      (&lsquo;notices&rsquo;) contained within the Program from any copy of the Program which
+      they Distribute, provided that Contributors may add their own appropriate
+      notices.
+    </p>
+    <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+    <p>Commercial distributors of software may accept certain responsibilities
+      with respect to end users, business partners and the like. While this
+      license is intended to facilitate the commercial use of the Program, the
+      Contributor who includes the Program in a commercial product offering should
+      do so in a manner which does not create potential liability for other
+      Contributors. Therefore, if a Contributor includes the Program in a
+      commercial product offering, such Contributor (&ldquo;Commercial Contributor&rdquo;)
+      hereby agrees to defend and indemnify every other Contributor
+      (&ldquo;Indemnified Contributor&rdquo;) against any losses, damages and costs
+      (collectively &ldquo;Losses&rdquo;) arising from claims, lawsuits and other legal actions
+      brought by a third party against the Indemnified Contributor to the extent
+      caused by the acts or omissions of such Commercial Contributor in connection
+      with its distribution of the Program in a commercial product offering.
+      The obligations in this section do not apply to any claims or Losses relating
+      to any actual or alleged intellectual property infringement. In order to
+      qualify, an Indemnified Contributor must: a) promptly notify the
+      Commercial Contributor in writing of such claim, and b) allow the Commercial
+      Contributor to control, and cooperate with the Commercial Contributor in,
+      the defense and any related settlement negotiations. The Indemnified
+      Contributor may participate in any such claim at its own expense.
+    </p>
+    <p>For example, a Contributor might include the Program
+      in a commercial product offering, Product X. That Contributor is then a
+      Commercial Contributor. If that Commercial Contributor then makes performance
+      claims, or offers warranties related to Product X, those performance claims
+      and warranties are such Commercial Contributor&#039;s responsibility alone.
+      Under this section, the Commercial Contributor would have to defend claims
+      against the other Contributors related to those performance claims and
+      warranties, and if a court requires any other Contributor to pay any damages
+      as a result, the Commercial Contributor must pay those damages.
+    </p>
+    <h2 id="warranty">5. NO WARRANTY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN &ldquo;AS IS&rdquo; BASIS, WITHOUT
+      WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+      WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+      MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+      solely responsible for determining the appropriateness of using and
+      distributing the Program and assumes all risks associated with its
+      exercise of rights under this Agreement, including but not limited to the
+      risks and costs of program errors, compliance with applicable laws, damage
+      to or loss of data, programs or equipment, and unavailability or
+      interruption of operations.
+    </p>
+    <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+    <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+      BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+      LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+      OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+      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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+      GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+    </p>
+    <h2 id="general">7. GENERAL</h2>
+    <p>If any provision of this Agreement is invalid or unenforceable under
+      applicable law, it shall not affect the validity or enforceability of the
+      remainder of the terms of this Agreement, and without further action by the
+      parties hereto, such provision shall be reformed to the minimum extent
+      necessary to make such provision valid and enforceable.
+    </p>
+    <p>If Recipient institutes patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+      (excluding combinations of the Program with other software or hardware)
+      infringes such Recipient&#039;s patent(s), then such Recipient&#039;s rights granted
+      under Section 2(b) shall terminate as of the date such litigation is filed.
+    </p>
+    <p>All Recipient&#039;s rights under this Agreement shall terminate if it fails to
+      comply with any of the material terms or conditions of this Agreement and
+      does not cure such failure in a reasonable period of time after becoming
+      aware of such noncompliance. If all Recipient&#039;s rights under this Agreement
+      terminate, Recipient agrees to cease use and distribution of the Program
+      as soon as reasonably practicable. However, Recipient&#039;s obligations under
+      this Agreement and any licenses granted by Recipient relating to the
+      Program shall continue and survive.
+    </p>
+    <p>Everyone is permitted to copy and distribute copies of this Agreement,
+      but in order to avoid inconsistency the Agreement is copyrighted and may
+      only be modified in the following manner. The Agreement Steward reserves
+      the right to publish new versions (including revisions) of this Agreement
+      from time to time. No one other than the Agreement Steward has the right
+      to modify this Agreement. The Eclipse Foundation is the initial Agreement
+      Steward. The Eclipse Foundation may assign the responsibility to serve as
+      the Agreement Steward to a suitable separate entity. Each new version of
+      the Agreement will be given a distinguishing version number. The Program
+      (including Contributions) may always be Distributed subject to the version
+      of the Agreement under which it was received. In addition, after a new
+      version of the Agreement is published, Contributor may elect to Distribute
+      the Program (including its Contributions) under the new version.
+    </p>
+    <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+      receives no rights or licenses to the intellectual property of any
+      Contributor under this Agreement, whether expressly, by implication,
+      estoppel or otherwise. All rights in the Program not expressly granted
+      under this Agreement are reserved. Nothing in this Agreement is intended
+      to be enforceable by any entity that is not a Contributor or Recipient.
+      No third-party beneficiary rights are created under this Agreement.
+    </p>
+    <h2 id="exhibit-a">Exhibit A &ndash; Form of Secondary Licenses Notice</h2>
+    <p>&ldquo;This Source Code may also be made available under the following 
+    	Secondary Licenses when the conditions for such availability set forth 
+    	in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+    	version(s), and exceptions or additional permissions here}.&rdquo;
+    </p>
+    <blockquote>
+      <p>Simply including a copy of this Agreement, including this Exhibit A
+        is not sufficient to license the Source Code under Secondary Licenses.
+      </p>
+      <p>If it is not possible or desirable to put the notice in a particular file,
+        then You may include the notice in a location (such as a LICENSE file in a
+        relevant directory) where a recipient would be likely to look for
+        such a notice.
+      </p>
+      <p>You may add additional accurate notices of copyright ownership.</p>
+    </blockquote>
+  </body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.chart.feature/epl-v10.html b/org.eclipse.osbp.xtext.chart.feature/epl-v10.html
deleted file mode 100644
index b398acc..0000000
--- a/org.eclipse.osbp.xtext.chart.feature/epl-v10.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>"Contribution" means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>"Contributor" means any person or entity that distributes
-the Program.</p>
-
-<p>"Licensed Patents" mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-("Commercial Contributor") hereby agrees to defend and
-indemnify every other Contributor ("Indemnified Contributor")
-against any losses, damages and costs (collectively "Losses")
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), 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 OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.chart.feature/feature.properties b/org.eclipse.osbp.xtext.chart.feature/feature.properties
index c6f297c..9263800 100644
--- a/org.eclipse.osbp.xtext.chart.feature/feature.properties
+++ b/org.eclipse.osbp.xtext.chart.feature/feature.properties
@@ -1,9 +1,11 @@
 ###############################################################################
 # Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany).
 # All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
+# are made available under the terms of the Eclipse Public License 2.0 
 # which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
 #
 # Contributors:
 #     Cristiano Gavião - initial API and implementation
@@ -30,9 +32,11 @@
 copyright=\
 Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) \n\
 All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
 which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
 \n\
 ################ end of copyright property ####################################
 
@@ -44,126 +48,143 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-February 1, 2011\n\
+\n\
+November 22, 2017\n\
 \n\
 Usage Of Content\n\
 \n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION\n\
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF\n\
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE\n\
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED\n\
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE\n\
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY\n\
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU\n\
+MAY NOT USE THE CONTENT.\n\
 \n\
 Applicable Licenses\n\
 \n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public License\n\
+Version 2.0 ("EPL"). A copy of the EPL is provided with this Content and is also\n\
+available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL,\n\
+"Program" will mean the Content.\n\
 \n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
+Content includes, but is not limited to, source code, object code, documentation\n\
+and other files maintained in the Eclipse Foundation source code repository\n\
+("Repository") in software modules ("Modules") and made available as\n\
+downloadable archives ("Downloads").\n\
 \n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+-   Content may be structured and packaged into modules to facilitate\n\
+    delivering, extending, and upgrading the Content. Typical modules may\n\
+    include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and\n\
+    features ("Features").\n\
+-   Each Plug-in or Fragment may be packaged as a sub-directory or JAR\n\
+    (Java™ ARchive) in a directory named "plugins".\n\
+-   A Feature is a bundle of one or more Plug-ins and/or Fragments and\n\
+    associated material. Each Feature may be packaged as a sub-directory in a\n\
+    directory named "features". Within a Feature, files named "feature.xml" may\n\
+    contain a list of the names and version numbers of the Plug-ins and/or\n\
+    Fragments associated with that Feature.\n\
+-   Features may also include other Features ("Included Features"). Within a\n\
+    Feature, files named "feature.xml" may contain a list of the names and\n\
+    version numbers of Included Features.\n\
 \n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
+The terms and conditions governing Plug-ins and Fragments should be contained in\n\
+files named "about.html" ("Abouts"). The terms and conditions governing Features\n\
+and Included Features should be contained in files named "license.html"\n\
+("Feature Licenses"). Abouts and Feature Licenses may be located in any\n\
+directory of a Download or Module including, but not limited to the following\n\
+locations:\n\
 \n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
+-   The top-level (root) directory\n\
+-   Plug-in and Fragment directories\n\
+-   Inside Plug-ins and Fragments packaged as JARs\n\
+-   Sub-directories of the directory named "src" of certain Plug-ins\n\
+-   Feature directories\n\
 \n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using\n\
+the Provisioning Technology (as defined below), you must agree to a license\n\
+("Feature Update License") during the installation process. If the Feature\n\
+contains Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform you\n\
+where you can locate them. Feature Update Licenses may be found in the "license"\n\
+property of files named "feature.properties" found within a Feature. Such\n\
+Abouts, Feature Licenses, and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your use of\n\
+the associated Content in that directory.\n\
 \n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL\n\
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE\n\
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
-       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+-   Eclipse Public License Version 1.0 (available at\n\
+    http://www.eclipse.org/legal/epl-v10.html)\n\
+-   Eclipse Distribution License Version 1.0 (available at\n\
+    http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+-   Common Public License Version 1.0 (available at\n\
+    http://www.eclipse.org/legal/cpl-v10.html)\n\
+-   Apache Software License 1.1 (available at\n\
+    http://www.apache.org/licenses/LICENSE)\n\
+-   Apache Software License 2.0 (available at\n\
+    http://www.apache.org/licenses/LICENSE-2.0)\n\
+-   Mozilla Public License Version 1.1 (available at\n\
+    http://www.mozilla.org/MPL/MPL-1.1.html)\n\
 \n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO\n\
+USE OF THE CONTENT. If no About, Feature License, or Feature Update License is\n\
+provided, please contact the Eclipse Foundation to determine what terms and\n\
+conditions govern that particular Content.\n\
 \n\
-\n\Use of Provisioning Technology\n\
+Use of Provisioning Technology\n\
 \n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
+The Eclipse Foundation makes available provisioning software, examples of which\n\
+include, but are not limited to, p2 and the Eclipse Update Manager\n\
+("Provisioning Technology") for the purpose of allowing users to install\n\
+software, documentation, information and/or other materials (collectively\n\
+"Installable Software"). This capability is provided with the intent of allowing\n\
+such users to install, extend and update Eclipse-based products. Information\n\
+about packaging Installable Software is available at\n\
 http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
 \n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
+You may use Provisioning Technology to allow other parties to install\n\
+Installable Software. You shall be responsible for enabling the applicable\n\
+license agreements relating to the Installable Software to be presented to, and\n\
+accepted by, the users of the Provisioning Technology in accordance with the\n\
+Specification. By using Provisioning Technology in such a manner and making it\n\
+available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the\n\
+following:\n\
 \n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
+1.  A series of actions may occur ("Provisioning Process") in which a user may\n\
+    execute the Provisioning Technology on a machine ("Target Machine") with the\n\
+    intent of installing, extending or updating the functionality of an\n\
+    Eclipse-based product.\n\
+2.  During the Provisioning Process, the Provisioning Technology may cause third\n\
+    party Installable Software or a portion thereof to be accessed and copied to\n\
+    the Target Machine.\n\
+3.  Pursuant to the Specification, you will provide to the user the terms and\n\
+    conditions that govern the use of the Installable Software ("Installable\n\
+    Software Agreement") and such Installable Software Agreement shall be\n\
+    accessed from the Target Machine in accordance with the Specification. Such\n\
+    Installable Software Agreement must inform the user of the terms and\n\
+    conditions that govern the Installable Software and must solicit acceptance\n\
+    by the end user in the manner prescribed in such Installable\n\
+    Software Agreement. Upon such indication of agreement by the user, the\n\
+    provisioning Technology will complete installation of the\n\
+    Installable Software.\n\
 \n\
 Cryptography\n\
 \n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
+Content may contain encryption software. The country in which you are currently\n\
+may have restrictions on the import, possession, and use, and/or re-export to\n\
+another country, of encryption software. BEFORE using any encryption software,\n\
+please check the country's laws, regulations and policies concerning the import,\n\
+possession, or use, and re-export of encryption software, to see if this is\n\
+permitted.\n\
 \n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the\n\
+United States, other countries, or both.\n
 ########### end of license property ##########################################
diff --git a/org.eclipse.osbp.xtext.chart.feature/license.html b/org.eclipse.osbp.xtext.chart.feature/license.html
index 6e579a5..008b801 100644
--- a/org.eclipse.osbp.xtext.chart.feature/license.html
+++ b/org.eclipse.osbp.xtext.chart.feature/license.html
@@ -1,164 +1,189 @@
-<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<?xml version="1.0" encoding="ISO-8859-1" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
 <title>Eclipse Foundation Software User Agreement</title>
 </head>
 
 <body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>February 1, 2011</p>
+	<h2>Eclipse Foundation Software User Agreement</h2>
+	<p>November 22, 2017</p>
 
-<h3>Usage Of Content</h3>
+	<h3>Usage Of Content</h3>
 
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+	<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+		INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+		(COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY
+		THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+		CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+		BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
+		GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
+		APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+		BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+		AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+		AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+		USE THE CONTENT.</p>
 
-<h3>Applicable Licenses</h3>
+	<h3>Applicable Licenses</h3>
 
-<p>Unless otherwise indicated, all Content made available by the Eclipse
- Foundation is provided to you under the terms and conditions of the 
-Eclipse Public License Version 1.0
-   ("EPL").  A copy of the EPL is provided with this Content and is also
- available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, "Program" will mean the Content.</p>
+	<p>
+		Unless otherwise indicated, all Content made available by the Eclipse
+		Foundation is provided to you under the terms and conditions of the
+		Eclipse Public License Version 2.0 (&quot;EPL&quot;). A copy of the
+		EPL is provided with this Content and is also available at <a
+			href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+		For purposes of the EPL, &quot;Program&quot; will mean the Content.
+	</p>
 
-<p>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse Foundation 
-source code
-   repository ("Repository") in software modules ("Modules") and made 
-available as downloadable archives ("Downloads").</p>
+	<p>Content includes, but is not limited to, source code, object
+		code, documentation and other files maintained in the Eclipse
+		Foundation source code repository (&quot;Repository&quot;) in software
+		modules (&quot;Modules&quot;) and made available as downloadable
+		archives (&quot;Downloads&quot;).</p>
 
-<ul>
-       <li>Content may be structured and packaged into modules to 
-facilitate delivering, extending, and upgrading the Content.  Typical 
-modules may include plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features").</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or 
-Fragments and associated material.  Each Feature may be packaged as a 
-sub-directory in a directory named "features".  Within a Feature, files 
-named "feature.xml" may contain a list of the names and version numbers 
-of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features ("Included 
-Features"). Within a Feature, files named "feature.xml" may contain a 
-list of the names and version numbers of Included Features.</li>
-</ul>
+	<ul>
+		<li>Content may be structured and packaged into modules to
+			facilitate delivering, extending, and upgrading the Content. Typical
+			modules may include plug-ins (&quot;Plug-ins&quot;), plug-in
+			fragments (&quot;Fragments&quot;), and features
+			(&quot;Features&quot;).</li>
+		<li>Each Plug-in or Fragment may be packaged as a sub-directory
+			or JAR (Java&trade; ARchive) in a directory named
+			&quot;plugins&quot;.</li>
+		<li>A Feature is a bundle of one or more Plug-ins and/or
+			Fragments and associated material. Each Feature may be packaged as a
+			sub-directory in a directory named &quot;features&quot;. Within a
+			Feature, files named &quot;feature.xml&quot; may contain a list of
+			the names and version numbers of the Plug-ins and/or Fragments
+			associated with that Feature.</li>
+		<li>Features may also include other Features (&quot;Included
+			Features&quot;). Within a Feature, files named
+			&quot;feature.xml&quot; may contain a list of the names and version
+			numbers of Included Features.</li>
+	</ul>
 
-<p>The terms and conditions governing Plug-ins and Fragments should be 
-contained in files named "about.html" ("Abouts"). The terms and 
-conditions governing Features and
-Included Features should be contained in files named "license.html" 
-("Feature Licenses").  Abouts and Feature Licenses may be located in any
- directory of a Download or Module
-including, but not limited to the following locations:</p>
+	<p>The terms and conditions governing Plug-ins and Fragments should
+		be contained in files named &quot;about.html&quot;
+		(&quot;Abouts&quot;). The terms and conditions governing Features and
+		Included Features should be contained in files named
+		&quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and
+		Feature Licenses may be located in any directory of a Download or
+		Module including, but not limited to the following locations:</p>
 
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
+	<ul>
+		<li>The top-level (root) directory</li>
+		<li>Plug-in and Fragment directories</li>
+		<li>Inside Plug-ins and Fragments packaged as JARs</li>
+		<li>Sub-directories of the directory named &quot;src&quot; of
+			certain Plug-ins</li>
+		<li>Feature directories</li>
+	</ul>
 
-<p>Note: if a Feature made available by the Eclipse Foundation is 
-installed using the Provisioning Technology (as defined below), you must
- agree to a license ("Feature Update License") during the
-installation process.  If the Feature contains Included Features, the 
-Feature Update License should either provide you with the terms and 
-conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be 
-found in the "license" property of files named "feature.properties" 
-found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
-terms and conditions (or references to such terms and conditions) that 
-govern your use of the associated Content in
-that directory.</p>
+	<p>Note: if a Feature made available by the Eclipse Foundation is
+		installed using the Provisioning Technology (as defined below), you
+		must agree to a license (&quot;Feature Update License&quot;) during
+		the installation process. If the Feature contains Included Features,
+		the Feature Update License should either provide you with the terms
+		and conditions governing the Included Features or inform you where you
+		can locate them. Feature Update Licenses may be found in the
+		&quot;license&quot; property of files named
+		&quot;feature.properties&quot; found within a Feature. Such Abouts,
+		Feature Licenses, and Feature Update Licenses contain the terms and
+		conditions (or references to such terms and conditions) that govern
+		your use of the associated Content in that directory.</p>
 
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
-  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+	<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY
+		REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
+		CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
+		ARE NOT LIMITED TO):</p>
 
-<ul>
-       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
+	<ul>
+		<li>Eclipse Public License Version 1.0 (available at <a
+			href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)
+		</li>
+		<li>Eclipse Distribution License Version 1.0 (available at <a
+			href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)
+		</li>
+		<li>Common Public License Version 1.0 (available at <a
+			href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)
+		</li>
+		<li>Apache Software License 1.1 (available at <a
+			href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)
+		</li>
+		<li>Apache Software License 2.0 (available at <a
+			href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)
+		</li>
+		<li>Mozilla Public License Version 1.1 (available at <a
+			href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)
+		</li>
+	</ul>
 
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
-CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
-or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions 
-govern that particular Content.</p>
+	<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+		CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+		or Feature Update License is provided, please contact the Eclipse
+		Foundation to determine what terms and conditions govern that
+		particular Content.</p>
 
 
-<h3>Use of Provisioning Technology</h3>
+	<h3>Use of Provisioning Technology</h3>
 
-<p>The Eclipse Foundation makes available provisioning software, 
-examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager ("Provisioning Technology") for the purpose of 
-allowing users to install software, documentation, information and/or
-   other materials (collectively "Installable Software"). This 
-capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about 
-packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   ("Specification").</p>
+	<p>
+		The Eclipse Foundation makes available provisioning software, examples
+		of which include, but are not limited to, p2 and the Eclipse Update
+		Manager (&quot;Provisioning Technology&quot;) for the purpose of
+		allowing users to install software, documentation, information and/or
+		other materials (collectively &quot;Installable Software&quot;). This
+		capability is provided with the intent of allowing such users to
+		install, extend and update Eclipse-based products. Information about
+		packaging Installable Software is available at <a
+			href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+		(&quot;Specification&quot;).
+	</p>
 
-<p>You may use Provisioning Technology to allow other parties to install
- Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to
- be presented to, and accepted by, the users of the Provisioning 
-Technology
-   in accordance with the Specification. By using Provisioning 
-Technology in such a manner and making it available in accordance with 
-the
-   Specification, you further acknowledge your agreement to, and the 
-acquisition of all necessary rights to permit the following:</p>
+	<p>You may use Provisioning Technology to allow other parties to
+		install Installable Software. You shall be responsible for enabling
+		the applicable license agreements relating to the Installable Software
+		to be presented to, and accepted by, the users of the Provisioning
+		Technology in accordance with the Specification. By using Provisioning
+		Technology in such a manner and making it available in accordance with
+		the Specification, you further acknowledge your agreement to, and the
+		acquisition of all necessary rights to permit the following:</p>
 
-<ol>
-       <li>A series of actions may occur ("Provisioning Process") in 
-which a user may execute the Provisioning Technology
-       on a machine ("Target Machine") with the intent of installing, 
-extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology 
-may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user 
-the terms and conditions that govern the use of the Installable
-       Software ("Installable Software Agreement") and such Installable 
-Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable 
-Software Agreement must inform the user of the terms and conditions that
- govern
-       the Installable Software and must solicit acceptance by the end 
-user in the manner prescribed in such Installable Software Agreement. 
-Upon such
-       indication of agreement by the user, the provisioning Technology 
-will complete installation of the Installable Software.</li>
-</ol>
+	<ol>
+		<li>A series of actions may occur (&quot;Provisioning
+			Process&quot;) in which a user may execute the Provisioning
+			Technology on a machine (&quot;Target Machine&quot;) with the intent
+			of installing, extending or updating the functionality of an
+			Eclipse-based product.</li>
+		<li>During the Provisioning Process, the Provisioning Technology
+			may cause third party Installable Software or a portion thereof to be
+			accessed and copied to the Target Machine.</li>
+		<li>Pursuant to the Specification, you will provide to the user
+			the terms and conditions that govern the use of the Installable
+			Software (&quot;Installable Software Agreement&quot;) and such
+			Installable Software Agreement shall be accessed from the Target
+			Machine in accordance with the Specification. Such Installable
+			Software Agreement must inform the user of the terms and conditions
+			that govern the Installable Software and must solicit acceptance by
+			the end user in the manner prescribed in such Installable Software
+			Agreement. Upon such indication of agreement by the user, the
+			provisioning Technology will complete installation of the Installable
+			Software.</li>
+	</ol>
 
-<h3>Cryptography</h3>
+	<h3>Cryptography</h3>
 
-<p>Content may contain encryption software. The country in which you are
- currently may have restrictions on the import, possession, and use, 
-and/or re-export to
-   another country, of encryption software. BEFORE using any encryption 
-software, please check the country's laws, regulations and policies 
-concerning the import,
-   possession, or use, and re-export of encryption software, to see if 
-this is permitted.</p>
+	<p>Content may contain encryption software. The country in which
+		you are currently may have restrictions on the import, possession, and
+		use, and/or re-export to another country, of encryption software.
+		BEFORE using any encryption software, please check the country's laws,
+		regulations and policies concerning the import, possession, or use,
+		and re-export of encryption software, to see if this is permitted.</p>
 
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-
-
-</body></html>
\ No newline at end of file
+	<p>
+		<small>Java and all Java-based trademarks are trademarks of
+			Oracle Corporation in the United States, other countries, or both.</small>
+	</p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.chart.feature/pom.xml b/org.eclipse.osbp.xtext.chart.feature/pom.xml
index 7b7e6a2..5593add 100644
--- a/org.eclipse.osbp.xtext.chart.feature/pom.xml
+++ b/org.eclipse.osbp.xtext.chart.feature/pom.xml
@@ -2,9 +2,11 @@
 <!--#======================================================================= -->
 <!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
 <!--# All rights reserved. This program and the accompanying materials -->
-<!--# are made available under the terms of the Eclipse Public License v1.0 -->
+<!--# are made available under the terms of the Eclipse Public License 2.0  -->
 <!--# which accompanies this distribution, and is available at -->
-<!--# http://www.eclipse.org/legal/epl-v10.html -->
+<!--# https://www.eclipse.org/legal/epl-2.0/    -->
+<!--#                                           -->
+<!--# SPDX-License-Identifier: EPL-2.0          -->
 <!--# -->
 <!--# Contributors: -->
 <!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
@@ -84,13 +86,6 @@
             <artifactId>org.eclipse.osbp.xtext.chart.ui</artifactId>
             <version>0.9.0-SNAPSHOT</version>
         </dependency>
-		<dependency>
-			<groupId>org.eclipse.osbp.dependencies</groupId>
-			<artifactId>
-				org.eclipse.osbp.dependencies.bundle.activemq.all.osgi
-			</artifactId>
-			<version>5.14.5-SNAPSHOT</version>
-		</dependency>
     </dependencies>
 
 </project>
diff --git a/org.eclipse.osbp.xtext.chart.ide/pom.xml b/org.eclipse.osbp.xtext.chart.ide/pom.xml
index 3091ae1..c18c1f2 100644
--- a/org.eclipse.osbp.xtext.chart.ide/pom.xml
+++ b/org.eclipse.osbp.xtext.chart.ide/pom.xml
@@ -2,9 +2,11 @@
 <!--#======================================================================= -->
 <!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
 <!--# All rights reserved. This program and the accompanying materials -->
-<!--# are made available under the terms of the Eclipse Public License v1.0 -->
+<!--# are made available under the terms of the Eclipse Public License 2.0  -->
 <!--# which accompanies this distribution, and is available at -->
-<!--# http://www.eclipse.org/legal/epl-v10.html -->
+<!--# https://www.eclipse.org/legal/epl-2.0/    -->
+<!--#                                           -->
+<!--# SPDX-License-Identifier: EPL-2.0          -->
 <!--# -->
 <!--# Contributors: -->
 <!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/AbstractChartDSLIdeModule.java b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/AbstractChartDSLIdeModule.java
index 1915261..67caf00 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/AbstractChartDSLIdeModule.java
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/AbstractChartDSLIdeModule.java
@@ -3,9 +3,11 @@
  *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
  *                                                                            
  *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
+ *  are made available under the terms of the Eclipse Public License 2.0        
  *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *  https://www.eclipse.org/legal/epl-2.0/                                 
+ *                                 
+ *  SPDX-License-Identifier: EPL-2.0                                 
  *                                                                            
  *  Contributors:                                                      
  * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/ChartDSLParser.java b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/ChartDSLParser.java
index 860213f..1c4168f 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/ChartDSLParser.java
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/ChartDSLParser.java
@@ -3,9 +3,11 @@
  *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
  *                                                                            
  *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
+ *  are made available under the terms of the Eclipse Public License 2.0        
  *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *  https://www.eclipse.org/legal/epl-2.0/                                 
+ *                                 
+ *  SPDX-License-Identifier: EPL-2.0                                 
  *                                                                            
  *  Contributors:                                                      
  * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
@@ -100,7 +102,6 @@
 					put(grammarAccess.getChartPackageAccess().getGroup_3(), "rule__ChartPackage__Group_3__0");
 					put(grammarAccess.getChartAccess().getGroup(), "rule__Chart__Group__0");
 					put(grammarAccess.getChartAccess().getGroup_3(), "rule__Chart__Group_3__0");
-					put(grammarAccess.getChartAccess().getGroup_6_0(), "rule__Chart__Group_6_0__0");
 					put(grammarAccess.getChartAccess().getGroup_7(), "rule__Chart__Group_7__0");
 					put(grammarAccess.getChartBarAccess().getGroup(), "rule__ChartBar__Group__0");
 					put(grammarAccess.getChartLineAccess().getGroup(), "rule__ChartLine__Group__0");
@@ -332,9 +333,7 @@
 					put(grammarAccess.getChartAccess().getDescriptionAssignment_3_0(), "rule__Chart__DescriptionAssignment_3_0");
 					put(grammarAccess.getChartAccess().getDescriptionValueAssignment_3_1(), "rule__Chart__DescriptionValueAssignment_3_1");
 					put(grammarAccess.getChartAccess().getCharttypeAssignment_5(), "rule__Chart__CharttypeAssignment_5");
-					put(grammarAccess.getChartAccess().getPollingAssignment_6_0_0(), "rule__Chart__PollingAssignment_6_0_0");
-					put(grammarAccess.getChartAccess().getPollingTimeAssignment_6_0_1(), "rule__Chart__PollingTimeAssignment_6_0_1");
-					put(grammarAccess.getChartAccess().getSelectByIdAssignment_6_1(), "rule__Chart__SelectByIdAssignment_6_1");
+					put(grammarAccess.getChartAccess().getSelectByIdAssignment_6(), "rule__Chart__SelectByIdAssignment_6");
 					put(grammarAccess.getChartAccess().getSourceAssignment_7_1(), "rule__Chart__SourceAssignment_7_1");
 					put(grammarAccess.getChartBarAccess().getShadowAssignment_2_0(), "rule__ChartBar__ShadowAssignment_2_0");
 					put(grammarAccess.getChartBarAccess().getAnimatedAssignment_2_1(), "rule__ChartBar__AnimatedAssignment_2_1");
@@ -535,7 +534,6 @@
 					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
 					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
 					put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
-					put(grammarAccess.getChartAccess().getUnorderedGroup_6(), "rule__Chart__UnorderedGroup_6");
 					put(grammarAccess.getChartBarAccess().getUnorderedGroup_2(), "rule__ChartBar__UnorderedGroup_2");
 					put(grammarAccess.getChartLineAccess().getUnorderedGroup_2(), "rule__ChartLine__UnorderedGroup_2");
 					put(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), "rule__ChartBubble__UnorderedGroup_2");
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/PartialChartDSLContentAssistParser.java b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/PartialChartDSLContentAssistParser.java
index a51483a..d265634 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/PartialChartDSLContentAssistParser.java
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/PartialChartDSLContentAssistParser.java
@@ -3,9 +3,11 @@
  *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
  *                                                                            
  *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
+ *  are made available under the terms of the Eclipse Public License 2.0        
  *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *  https://www.eclipse.org/legal/epl-2.0/                                 
+ *                                 
+ *  SPDX-License-Identifier: EPL-2.0                                 
  *                                                                            
  *  Contributors:                                                      
  * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.g b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.g
index 2af5390..81ca426 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.g
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.g
@@ -4615,9 +4615,9 @@
 	}
 :
 (
-	{ before(grammarAccess.getChartAccess().getUnorderedGroup_6()); }
-	(rule__Chart__UnorderedGroup_6)
-	{ after(grammarAccess.getChartAccess().getUnorderedGroup_6()); }
+	{ before(grammarAccess.getChartAccess().getSelectByIdAssignment_6()); }
+	(rule__Chart__SelectByIdAssignment_6)?
+	{ after(grammarAccess.getChartAccess().getSelectByIdAssignment_6()); }
 )
 ;
 finally {
@@ -4705,60 +4705,6 @@
 }
 
 
-rule__Chart__Group_6_0__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Chart__Group_6_0__0__Impl
-	rule__Chart__Group_6_0__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__Group_6_0__0__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getChartAccess().getPollingAssignment_6_0_0()); }
-	(rule__Chart__PollingAssignment_6_0_0)
-	{ after(grammarAccess.getChartAccess().getPollingAssignment_6_0_0()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__Group_6_0__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Chart__Group_6_0__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__Group_6_0__1__Impl
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-(
-	{ before(grammarAccess.getChartAccess().getPollingTimeAssignment_6_0_1()); }
-	(rule__Chart__PollingTimeAssignment_6_0_1)
-	{ after(grammarAccess.getChartAccess().getPollingTimeAssignment_6_0_1()); }
-)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
 rule__Chart__Group_7__0
 	@init {
 		int stackSize = keepStackSize();
@@ -19569,89 +19515,6 @@
 }
 
 
-rule__Chart__UnorderedGroup_6
-	@init {
-		int stackSize = keepStackSize();
-		getUnorderedGroupHelper().enter(grammarAccess.getChartAccess().getUnorderedGroup_6());
-	}
-:
-	rule__Chart__UnorderedGroup_6__0
-	?
-;
-finally {
-	getUnorderedGroupHelper().leave(grammarAccess.getChartAccess().getUnorderedGroup_6());
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__UnorderedGroup_6__Impl
-	@init {
-		int stackSize = keepStackSize();
-		boolean selected = false;
-	}
-:
-		(
-		( 
-			{getUnorderedGroupHelper().canSelect(grammarAccess.getChartAccess().getUnorderedGroup_6(), 0)}?=>(
-				{
-					getUnorderedGroupHelper().select(grammarAccess.getChartAccess().getUnorderedGroup_6(), 0);
-				}
-				{
-					selected = true;
-				}
-				(
-					{ before(grammarAccess.getChartAccess().getGroup_6_0()); }
-					(rule__Chart__Group_6_0__0)
-					{ after(grammarAccess.getChartAccess().getGroup_6_0()); }
-				)
-			)
-		)|
-		( 
-			{getUnorderedGroupHelper().canSelect(grammarAccess.getChartAccess().getUnorderedGroup_6(), 1)}?=>(
-				{
-					getUnorderedGroupHelper().select(grammarAccess.getChartAccess().getUnorderedGroup_6(), 1);
-				}
-				{
-					selected = true;
-				}
-				(
-					{ before(grammarAccess.getChartAccess().getSelectByIdAssignment_6_1()); }
-					(rule__Chart__SelectByIdAssignment_6_1)
-					{ after(grammarAccess.getChartAccess().getSelectByIdAssignment_6_1()); }
-				)
-			)
-		)
-		)
-;
-finally {
-	if (selected)
-		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getChartAccess().getUnorderedGroup_6());
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__UnorderedGroup_6__0
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Chart__UnorderedGroup_6__Impl
-	rule__Chart__UnorderedGroup_6__1?
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__UnorderedGroup_6__1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	rule__Chart__UnorderedGroup_6__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
 rule__ChartBar__UnorderedGroup_2
 	@init {
 		int stackSize = keepStackSize();
@@ -20297,53 +20160,19 @@
 	restoreStackSize(stackSize);
 }
 
-rule__Chart__PollingAssignment_6_0_0
+rule__Chart__SelectByIdAssignment_6
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getChartAccess().getPollingPollingKeyword_6_0_0_0()); }
+		{ before(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_0()); }
 		(
-			{ before(grammarAccess.getChartAccess().getPollingPollingKeyword_6_0_0_0()); }
-			'polling'
-			{ after(grammarAccess.getChartAccess().getPollingPollingKeyword_6_0_0_0()); }
-		)
-		{ after(grammarAccess.getChartAccess().getPollingPollingKeyword_6_0_0_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__PollingTimeAssignment_6_0_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getChartAccess().getPollingTimeINTTerminalRuleCall_6_0_1_0()); }
-		RULE_INT
-		{ after(grammarAccess.getChartAccess().getPollingTimeINTTerminalRuleCall_6_0_1_0()); }
-	)
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Chart__SelectByIdAssignment_6_1
-	@init {
-		int stackSize = keepStackSize();
-	}
-:
-	(
-		{ before(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_1_0()); }
-		(
-			{ before(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_1_0()); }
+			{ before(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_0()); }
 			'selectById'
-			{ after(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_1_0()); }
+			{ after(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_0()); }
 		)
-		{ after(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_1_0()); }
+		{ after(grammarAccess.getChartAccess().getSelectByIdSelectByIdKeyword_6_0()); }
 	)
 ;
 finally {
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.tokens b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.tokens
index ca069d4..9bda4b1 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.tokens
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSL.tokens
@@ -25,7 +25,7 @@
 '/'=38
 '/='=19
 ':'=106
-'::'=150
+'::'=149
 ';'=94
 '<'=27
 '<>'=32
@@ -36,14 +36,14 @@
 '>'=26
 '>='=25
 '?'=121
-'?.'=151
+'?.'=150
 '?:'=33
 '@'=95
 '['=101
 ']'=99
-'always'=147
+'always'=146
 'angle'=92
-'animated'=127
+'animated'=126
 'as'=75
 'axis'=90
 'bar'=77
@@ -52,8 +52,8 @@
 'catch'=120
 'category'=66
 'chart'=74
-'collapsible'=144
-'cursor'=132
+'collapsible'=143
+'cursor'=131
 'datamart'=87
 'date'=68
 'default'=107
@@ -62,82 +62,81 @@
 'donut'=80
 'east'=60
 'else'=104
-'empty'=136
+'empty'=135
 'extends'=45
 'extension'=48
 'false'=50
 'fast'=57
-'fillZero'=134
-'filled'=135
+'fillZero'=133
+'filled'=134
 'finally'=118
 'for'=109
 'gauge'=82
-'gradient'=138
-'hasTicks'=141
+'gradient'=137
+'hasTicks'=140
 'if'=103
 'import'=47
 'inside'=51
 'inside-grid'=52
 'instanceof'=102
-'intervals'=142
-'label'=140
+'intervals'=141
+'label'=139
 'legend'=88
 'line'=78
 'linear'=67
 'logarithmic'=69
-'map'=143
+'map'=142
 'maximum'=84
 'minimum'=83
-'multiplier'=137
+'multiplier'=136
 'new'=112
 'normal'=55
 'north'=58
 'north-east'=59
 'north-west'=65
-'ns'=149
+'ns'=148
 'null'=113
 'outside'=53
 'outside-grid'=54
 'package'=71
 'pie'=79
-'polling'=124
 'pyramid'=70
 'renders'=91
-'replot'=146
+'replot'=145
 'return'=116
 'segmentcolor'=93
-'selectById'=125
-'shaded'=126
-'shortLabel'=148
-'showMarker'=130
+'selectById'=124
+'shaded'=125
+'shortLabel'=147
+'showMarker'=129
 'slow'=56
 'south'=62
 'south-east'=61
 'south-west'=63
-'stacked'=129
+'stacked'=128
 'static'=46
 'super'=49
-'swapped'=128
+'swapped'=127
 'switch'=105
 'synchronized'=119
 'throw'=115
-'toggle'=145
+'toggle'=144
 'tooltip'=89
-'transparent'=139
+'transparent'=138
 'tree'=85
-'trendLine'=131
-'true'=154
+'trendLine'=130
+'true'=153
 'try'=117
 'typeof'=114
 'upTo'=86
 'using'=76
 'val'=44
-'var'=153
+'var'=152
 'west'=64
 'while'=110
-'zoom'=133
+'zoom'=132
 '{'=72
-'|'=152
+'|'=151
 '||'=14
 '}'=73
 RULE_ANY_OTHER=12
@@ -205,7 +204,6 @@
 T__151=151
 T__152=152
 T__153=153
-T__154=154
 T__15=15
 T__16=16
 T__17=17
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLLexer.java b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLLexer.java
index 423959f..37b48a6 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLLexer.java
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLLexer.java
@@ -1,3 +1,20 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License 2.0        
+ *  which accompanies this distribution, and is available at                  
+ *  https://www.eclipse.org/legal/epl-2.0/                                 
+ *                                 
+ *  SPDX-License-Identifier: EPL-2.0                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ * generated by Xtext 2.11.0
+ *
+ */
 package org.eclipse.osbp.xtext.chart.ide.contentassist.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
@@ -68,7 +85,6 @@
     public static final int T__30=30;
     public static final int T__31=31;
     public static final int T__32=32;
-    public static final int T__154=154;
     public static final int T__151=151;
     public static final int T__150=150;
     public static final int T__153=153;
@@ -2491,10 +2507,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:122:8: ( 'polling' )
-            // InternalChartDSL.g:122:10: 'polling'
+            // InternalChartDSL.g:122:8: ( 'selectById' )
+            // InternalChartDSL.g:122:10: 'selectById'
             {
-            match("polling"); 
+            match("selectById"); 
 
 
             }
@@ -2512,10 +2528,10 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:123:8: ( 'selectById' )
-            // InternalChartDSL.g:123:10: 'selectById'
+            // InternalChartDSL.g:123:8: ( 'shaded' )
+            // InternalChartDSL.g:123:10: 'shaded'
             {
-            match("selectById"); 
+            match("shaded"); 
 
 
             }
@@ -2533,10 +2549,10 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:124:8: ( 'shaded' )
-            // InternalChartDSL.g:124:10: 'shaded'
+            // InternalChartDSL.g:124:8: ( 'animated' )
+            // InternalChartDSL.g:124:10: 'animated'
             {
-            match("shaded"); 
+            match("animated"); 
 
 
             }
@@ -2554,10 +2570,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:125:8: ( 'animated' )
-            // InternalChartDSL.g:125:10: 'animated'
+            // InternalChartDSL.g:125:8: ( 'swapped' )
+            // InternalChartDSL.g:125:10: 'swapped'
             {
-            match("animated"); 
+            match("swapped"); 
 
 
             }
@@ -2575,10 +2591,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:126:8: ( 'swapped' )
-            // InternalChartDSL.g:126:10: 'swapped'
+            // InternalChartDSL.g:126:8: ( 'stacked' )
+            // InternalChartDSL.g:126:10: 'stacked'
             {
-            match("swapped"); 
+            match("stacked"); 
 
 
             }
@@ -2596,10 +2612,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:127:8: ( 'stacked' )
-            // InternalChartDSL.g:127:10: 'stacked'
+            // InternalChartDSL.g:127:8: ( 'showMarker' )
+            // InternalChartDSL.g:127:10: 'showMarker'
             {
-            match("stacked"); 
+            match("showMarker"); 
 
 
             }
@@ -2617,10 +2633,10 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:128:8: ( 'showMarker' )
-            // InternalChartDSL.g:128:10: 'showMarker'
+            // InternalChartDSL.g:128:8: ( 'trendLine' )
+            // InternalChartDSL.g:128:10: 'trendLine'
             {
-            match("showMarker"); 
+            match("trendLine"); 
 
 
             }
@@ -2638,10 +2654,10 @@
         try {
             int _type = T__131;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:129:8: ( 'trendLine' )
-            // InternalChartDSL.g:129:10: 'trendLine'
+            // InternalChartDSL.g:129:8: ( 'cursor' )
+            // InternalChartDSL.g:129:10: 'cursor'
             {
-            match("trendLine"); 
+            match("cursor"); 
 
 
             }
@@ -2659,10 +2675,10 @@
         try {
             int _type = T__132;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:130:8: ( 'cursor' )
-            // InternalChartDSL.g:130:10: 'cursor'
+            // InternalChartDSL.g:130:8: ( 'zoom' )
+            // InternalChartDSL.g:130:10: 'zoom'
             {
-            match("cursor"); 
+            match("zoom"); 
 
 
             }
@@ -2680,10 +2696,10 @@
         try {
             int _type = T__133;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:131:8: ( 'zoom' )
-            // InternalChartDSL.g:131:10: 'zoom'
+            // InternalChartDSL.g:131:8: ( 'fillZero' )
+            // InternalChartDSL.g:131:10: 'fillZero'
             {
-            match("zoom"); 
+            match("fillZero"); 
 
 
             }
@@ -2701,10 +2717,10 @@
         try {
             int _type = T__134;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:132:8: ( 'fillZero' )
-            // InternalChartDSL.g:132:10: 'fillZero'
+            // InternalChartDSL.g:132:8: ( 'filled' )
+            // InternalChartDSL.g:132:10: 'filled'
             {
-            match("fillZero"); 
+            match("filled"); 
 
 
             }
@@ -2722,10 +2738,10 @@
         try {
             int _type = T__135;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:133:8: ( 'filled' )
-            // InternalChartDSL.g:133:10: 'filled'
+            // InternalChartDSL.g:133:8: ( 'empty' )
+            // InternalChartDSL.g:133:10: 'empty'
             {
-            match("filled"); 
+            match("empty"); 
 
 
             }
@@ -2743,10 +2759,10 @@
         try {
             int _type = T__136;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:134:8: ( 'empty' )
-            // InternalChartDSL.g:134:10: 'empty'
+            // InternalChartDSL.g:134:8: ( 'multiplier' )
+            // InternalChartDSL.g:134:10: 'multiplier'
             {
-            match("empty"); 
+            match("multiplier"); 
 
 
             }
@@ -2764,10 +2780,10 @@
         try {
             int _type = T__137;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:135:8: ( 'multiplier' )
-            // InternalChartDSL.g:135:10: 'multiplier'
+            // InternalChartDSL.g:135:8: ( 'gradient' )
+            // InternalChartDSL.g:135:10: 'gradient'
             {
-            match("multiplier"); 
+            match("gradient"); 
 
 
             }
@@ -2785,10 +2801,10 @@
         try {
             int _type = T__138;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:136:8: ( 'gradient' )
-            // InternalChartDSL.g:136:10: 'gradient'
+            // InternalChartDSL.g:136:8: ( 'transparent' )
+            // InternalChartDSL.g:136:10: 'transparent'
             {
-            match("gradient"); 
+            match("transparent"); 
 
 
             }
@@ -2806,10 +2822,10 @@
         try {
             int _type = T__139;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:137:8: ( 'transparent' )
-            // InternalChartDSL.g:137:10: 'transparent'
+            // InternalChartDSL.g:137:8: ( 'label' )
+            // InternalChartDSL.g:137:10: 'label'
             {
-            match("transparent"); 
+            match("label"); 
 
 
             }
@@ -2827,10 +2843,10 @@
         try {
             int _type = T__140;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:138:8: ( 'label' )
-            // InternalChartDSL.g:138:10: 'label'
+            // InternalChartDSL.g:138:8: ( 'hasTicks' )
+            // InternalChartDSL.g:138:10: 'hasTicks'
             {
-            match("label"); 
+            match("hasTicks"); 
 
 
             }
@@ -2848,10 +2864,10 @@
         try {
             int _type = T__141;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:139:8: ( 'hasTicks' )
-            // InternalChartDSL.g:139:10: 'hasTicks'
+            // InternalChartDSL.g:139:8: ( 'intervals' )
+            // InternalChartDSL.g:139:10: 'intervals'
             {
-            match("hasTicks"); 
+            match("intervals"); 
 
 
             }
@@ -2869,10 +2885,10 @@
         try {
             int _type = T__142;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:140:8: ( 'intervals' )
-            // InternalChartDSL.g:140:10: 'intervals'
+            // InternalChartDSL.g:140:8: ( 'map' )
+            // InternalChartDSL.g:140:10: 'map'
             {
-            match("intervals"); 
+            match("map"); 
 
 
             }
@@ -2890,10 +2906,10 @@
         try {
             int _type = T__143;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:141:8: ( 'map' )
-            // InternalChartDSL.g:141:10: 'map'
+            // InternalChartDSL.g:141:8: ( 'collapsible' )
+            // InternalChartDSL.g:141:10: 'collapsible'
             {
-            match("map"); 
+            match("collapsible"); 
 
 
             }
@@ -2911,10 +2927,10 @@
         try {
             int _type = T__144;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:142:8: ( 'collapsible' )
-            // InternalChartDSL.g:142:10: 'collapsible'
+            // InternalChartDSL.g:142:8: ( 'toggle' )
+            // InternalChartDSL.g:142:10: 'toggle'
             {
-            match("collapsible"); 
+            match("toggle"); 
 
 
             }
@@ -2932,10 +2948,10 @@
         try {
             int _type = T__145;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:143:8: ( 'toggle' )
-            // InternalChartDSL.g:143:10: 'toggle'
+            // InternalChartDSL.g:143:8: ( 'replot' )
+            // InternalChartDSL.g:143:10: 'replot'
             {
-            match("toggle"); 
+            match("replot"); 
 
 
             }
@@ -2953,10 +2969,10 @@
         try {
             int _type = T__146;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:144:8: ( 'replot' )
-            // InternalChartDSL.g:144:10: 'replot'
+            // InternalChartDSL.g:144:8: ( 'always' )
+            // InternalChartDSL.g:144:10: 'always'
             {
-            match("replot"); 
+            match("always"); 
 
 
             }
@@ -2974,10 +2990,10 @@
         try {
             int _type = T__147;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:145:8: ( 'always' )
-            // InternalChartDSL.g:145:10: 'always'
+            // InternalChartDSL.g:145:8: ( 'shortLabel' )
+            // InternalChartDSL.g:145:10: 'shortLabel'
             {
-            match("always"); 
+            match("shortLabel"); 
 
 
             }
@@ -2995,10 +3011,10 @@
         try {
             int _type = T__148;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:146:8: ( 'shortLabel' )
-            // InternalChartDSL.g:146:10: 'shortLabel'
+            // InternalChartDSL.g:146:8: ( 'ns' )
+            // InternalChartDSL.g:146:10: 'ns'
             {
-            match("shortLabel"); 
+            match("ns"); 
 
 
             }
@@ -3016,10 +3032,10 @@
         try {
             int _type = T__149;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:147:8: ( 'ns' )
-            // InternalChartDSL.g:147:10: 'ns'
+            // InternalChartDSL.g:147:8: ( '::' )
+            // InternalChartDSL.g:147:10: '::'
             {
-            match("ns"); 
+            match("::"); 
 
 
             }
@@ -3037,10 +3053,10 @@
         try {
             int _type = T__150;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:148:8: ( '::' )
-            // InternalChartDSL.g:148:10: '::'
+            // InternalChartDSL.g:148:8: ( '?.' )
+            // InternalChartDSL.g:148:10: '?.'
             {
-            match("::"); 
+            match("?."); 
 
 
             }
@@ -3058,11 +3074,10 @@
         try {
             int _type = T__151;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:149:8: ( '?.' )
-            // InternalChartDSL.g:149:10: '?.'
+            // InternalChartDSL.g:149:8: ( '|' )
+            // InternalChartDSL.g:149:10: '|'
             {
-            match("?."); 
-
+            match('|'); 
 
             }
 
@@ -3079,10 +3094,11 @@
         try {
             int _type = T__152;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:150:8: ( '|' )
-            // InternalChartDSL.g:150:10: '|'
+            // InternalChartDSL.g:150:8: ( 'var' )
+            // InternalChartDSL.g:150:10: 'var'
             {
-            match('|'); 
+            match("var"); 
+
 
             }
 
@@ -3099,29 +3115,8 @@
         try {
             int _type = T__153;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:151:8: ( 'var' )
-            // InternalChartDSL.g:151:10: 'var'
-            {
-            match("var"); 
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
-    // $ANTLR end "T__153"
-
-    // $ANTLR start "T__154"
-    public final void mT__154() throws RecognitionException {
-        try {
-            int _type = T__154;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:152:8: ( 'true' )
-            // InternalChartDSL.g:152:10: 'true'
+            // InternalChartDSL.g:151:8: ( 'true' )
+            // InternalChartDSL.g:151:10: 'true'
             {
             match("true"); 
 
@@ -3134,17 +3129,17 @@
         finally {
         }
     }
-    // $ANTLR end "T__154"
+    // $ANTLR end "T__153"
 
     // $ANTLR start "RULE_HEX"
     public final void mRULE_HEX() throws RecognitionException {
         try {
             int _type = RULE_HEX;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23568:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
-            // InternalChartDSL.g:23568:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalChartDSL.g:23397:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )? )
+            // InternalChartDSL.g:23397:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             {
-            // InternalChartDSL.g:23568:12: ( '0x' | '0X' )
+            // InternalChartDSL.g:23397:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -3172,7 +3167,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // InternalChartDSL.g:23568:13: '0x'
+                    // InternalChartDSL.g:23397:13: '0x'
                     {
                     match("0x"); 
 
@@ -3180,7 +3175,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalChartDSL.g:23568:18: '0X'
+                    // InternalChartDSL.g:23397:18: '0X'
                     {
                     match("0X"); 
 
@@ -3190,7 +3185,7 @@
 
             }
 
-            // InternalChartDSL.g:23568:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
+            // InternalChartDSL.g:23397:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
             int cnt2=0;
             loop2:
             do {
@@ -3228,7 +3223,7 @@
                 cnt2++;
             } while (true);
 
-            // InternalChartDSL.g:23568:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
+            // InternalChartDSL.g:23397:58: ( '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) ) )?
             int alt4=2;
             int LA4_0 = input.LA(1);
 
@@ -3237,10 +3232,10 @@
             }
             switch (alt4) {
                 case 1 :
-                    // InternalChartDSL.g:23568:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalChartDSL.g:23397:59: '#' ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     {
                     match('#'); 
-                    // InternalChartDSL.g:23568:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
+                    // InternalChartDSL.g:23397:63: ( ( 'b' | 'B' ) ( 'i' | 'I' ) | ( 'l' | 'L' ) )
                     int alt3=2;
                     int LA3_0 = input.LA(1);
 
@@ -3258,7 +3253,7 @@
                     }
                     switch (alt3) {
                         case 1 :
-                            // InternalChartDSL.g:23568:64: ( 'b' | 'B' ) ( 'i' | 'I' )
+                            // InternalChartDSL.g:23397:64: ( 'b' | 'B' ) ( 'i' | 'I' )
                             {
                             if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                                 input.consume();
@@ -3282,7 +3277,7 @@
                             }
                             break;
                         case 2 :
-                            // InternalChartDSL.g:23568:84: ( 'l' | 'L' )
+                            // InternalChartDSL.g:23397:84: ( 'l' | 'L' )
                             {
                             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
                                 input.consume();
@@ -3321,11 +3316,11 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23570:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
-            // InternalChartDSL.g:23570:12: '0' .. '9' ( '0' .. '9' | '_' )*
+            // InternalChartDSL.g:23399:10: ( '0' .. '9' ( '0' .. '9' | '_' )* )
+            // InternalChartDSL.g:23399:12: '0' .. '9' ( '0' .. '9' | '_' )*
             {
             matchRange('0','9'); 
-            // InternalChartDSL.g:23570:21: ( '0' .. '9' | '_' )*
+            // InternalChartDSL.g:23399:21: ( '0' .. '9' | '_' )*
             loop5:
             do {
                 int alt5=2;
@@ -3374,11 +3369,11 @@
         try {
             int _type = RULE_DECIMAL;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23572:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
-            // InternalChartDSL.g:23572:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalChartDSL.g:23401:14: ( RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )? )
+            // InternalChartDSL.g:23401:16: RULE_INT ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )? ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             {
             mRULE_INT(); 
-            // InternalChartDSL.g:23572:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
+            // InternalChartDSL.g:23401:25: ( ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -3387,7 +3382,7 @@
             }
             switch (alt7) {
                 case 1 :
-                    // InternalChartDSL.g:23572:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
+                    // InternalChartDSL.g:23401:26: ( 'e' | 'E' ) ( '+' | '-' )? RULE_INT
                     {
                     if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                         input.consume();
@@ -3398,7 +3393,7 @@
                         recover(mse);
                         throw mse;}
 
-                    // InternalChartDSL.g:23572:36: ( '+' | '-' )?
+                    // InternalChartDSL.g:23401:36: ( '+' | '-' )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -3431,7 +3426,7 @@
 
             }
 
-            // InternalChartDSL.g:23572:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
+            // InternalChartDSL.g:23401:58: ( ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' ) | ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' ) )?
             int alt8=3;
             int LA8_0 = input.LA(1);
 
@@ -3443,7 +3438,7 @@
             }
             switch (alt8) {
                 case 1 :
-                    // InternalChartDSL.g:23572:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
+                    // InternalChartDSL.g:23401:59: ( 'b' | 'B' ) ( 'i' | 'I' | 'd' | 'D' )
                     {
                     if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
                         input.consume();
@@ -3467,7 +3462,7 @@
                     }
                     break;
                 case 2 :
-                    // InternalChartDSL.g:23572:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
+                    // InternalChartDSL.g:23401:87: ( 'l' | 'L' | 'd' | 'D' | 'f' | 'F' )
                     {
                     if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='L'||input.LA(1)=='d'||input.LA(1)=='f'||input.LA(1)=='l' ) {
                         input.consume();
@@ -3500,10 +3495,10 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23574:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
-            // InternalChartDSL.g:23574:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalChartDSL.g:23403:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )* )
+            // InternalChartDSL.g:23403:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             {
-            // InternalChartDSL.g:23574:11: ( '^' )?
+            // InternalChartDSL.g:23403:11: ( '^' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -3512,7 +3507,7 @@
             }
             switch (alt9) {
                 case 1 :
-                    // InternalChartDSL.g:23574:11: '^'
+                    // InternalChartDSL.g:23403:11: '^'
                     {
                     match('^'); 
 
@@ -3530,7 +3525,7 @@
                 recover(mse);
                 throw mse;}
 
-            // InternalChartDSL.g:23574:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
+            // InternalChartDSL.g:23403:44: ( 'a' .. 'z' | 'A' .. 'Z' | '$' | '_' | '0' .. '9' )*
             loop10:
             do {
                 int alt10=2;
@@ -3579,10 +3574,10 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23576:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
-            // InternalChartDSL.g:23576:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalChartDSL.g:23405:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
+            // InternalChartDSL.g:23405:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             {
-            // InternalChartDSL.g:23576:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
+            // InternalChartDSL.g:23405:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -3600,10 +3595,10 @@
             }
             switch (alt15) {
                 case 1 :
-                    // InternalChartDSL.g:23576:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
+                    // InternalChartDSL.g:23405:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                     {
                     match('\"'); 
-                    // InternalChartDSL.g:23576:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // InternalChartDSL.g:23405:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop11:
                     do {
                         int alt11=3;
@@ -3619,7 +3614,7 @@
 
                         switch (alt11) {
                     	case 1 :
-                    	    // InternalChartDSL.g:23576:21: '\\\\' .
+                    	    // InternalChartDSL.g:23405:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -3627,7 +3622,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalChartDSL.g:23576:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // InternalChartDSL.g:23405:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -3647,7 +3642,7 @@
                         }
                     } while (true);
 
-                    // InternalChartDSL.g:23576:44: ( '\"' )?
+                    // InternalChartDSL.g:23405:44: ( '\"' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -3656,7 +3651,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // InternalChartDSL.g:23576:44: '\"'
+                            // InternalChartDSL.g:23405:44: '\"'
                             {
                             match('\"'); 
 
@@ -3669,10 +3664,10 @@
                     }
                     break;
                 case 2 :
-                    // InternalChartDSL.g:23576:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
+                    // InternalChartDSL.g:23405:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                     {
                     match('\''); 
-                    // InternalChartDSL.g:23576:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // InternalChartDSL.g:23405:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop13:
                     do {
                         int alt13=3;
@@ -3688,7 +3683,7 @@
 
                         switch (alt13) {
                     	case 1 :
-                    	    // InternalChartDSL.g:23576:55: '\\\\' .
+                    	    // InternalChartDSL.g:23405:55: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -3696,7 +3691,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // InternalChartDSL.g:23576:62: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // InternalChartDSL.g:23405:62: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -3716,7 +3711,7 @@
                         }
                     } while (true);
 
-                    // InternalChartDSL.g:23576:79: ( '\\'' )?
+                    // InternalChartDSL.g:23405:79: ( '\\'' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -3725,7 +3720,7 @@
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalChartDSL.g:23576:79: '\\''
+                            // InternalChartDSL.g:23405:79: '\\''
                             {
                             match('\''); 
 
@@ -3756,12 +3751,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23578:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalChartDSL.g:23578:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalChartDSL.g:23407:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalChartDSL.g:23407:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalChartDSL.g:23578:24: ( options {greedy=false; } : . )*
+            // InternalChartDSL.g:23407:24: ( options {greedy=false; } : . )*
             loop16:
             do {
                 int alt16=2;
@@ -3786,7 +3781,7 @@
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalChartDSL.g:23578:52: .
+            	    // InternalChartDSL.g:23407:52: .
             	    {
             	    matchAny(); 
 
@@ -3816,12 +3811,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23580:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalChartDSL.g:23580:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalChartDSL.g:23409:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalChartDSL.g:23409:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalChartDSL.g:23580:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalChartDSL.g:23409:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop17:
             do {
                 int alt17=2;
@@ -3834,7 +3829,7 @@
 
                 switch (alt17) {
             	case 1 :
-            	    // InternalChartDSL.g:23580:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalChartDSL.g:23409:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -3854,7 +3849,7 @@
                 }
             } while (true);
 
-            // InternalChartDSL.g:23580:40: ( ( '\\r' )? '\\n' )?
+            // InternalChartDSL.g:23409:40: ( ( '\\r' )? '\\n' )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -3863,9 +3858,9 @@
             }
             switch (alt19) {
                 case 1 :
-                    // InternalChartDSL.g:23580:41: ( '\\r' )? '\\n'
+                    // InternalChartDSL.g:23409:41: ( '\\r' )? '\\n'
                     {
-                    // InternalChartDSL.g:23580:41: ( '\\r' )?
+                    // InternalChartDSL.g:23409:41: ( '\\r' )?
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -3874,7 +3869,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // InternalChartDSL.g:23580:41: '\\r'
+                            // InternalChartDSL.g:23409:41: '\\r'
                             {
                             match('\r'); 
 
@@ -3906,10 +3901,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23582:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalChartDSL.g:23582:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalChartDSL.g:23411:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalChartDSL.g:23411:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalChartDSL.g:23582:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalChartDSL.g:23411:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt20=0;
             loop20:
             do {
@@ -3963,8 +3958,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalChartDSL.g:23584:16: ( . )
-            // InternalChartDSL.g:23584:18: .
+            // InternalChartDSL.g:23413:16: ( . )
+            // InternalChartDSL.g:23413:18: .
             {
             matchAny(); 
 
@@ -3979,8 +3974,8 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalChartDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt21=151;
+        // InternalChartDSL.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt21=150;
         alt21 = dfa21.predict(input);
         switch (alt21) {
             case 1 :
@@ -4971,70 +4966,63 @@
                 }
                 break;
             case 142 :
-                // InternalChartDSL.g:1:910: T__154
-                {
-                mT__154(); 
-
-                }
-                break;
-            case 143 :
-                // InternalChartDSL.g:1:917: RULE_HEX
+                // InternalChartDSL.g:1:910: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 144 :
-                // InternalChartDSL.g:1:926: RULE_INT
+            case 143 :
+                // InternalChartDSL.g:1:919: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 145 :
-                // InternalChartDSL.g:1:935: RULE_DECIMAL
+            case 144 :
+                // InternalChartDSL.g:1:928: RULE_DECIMAL
                 {
                 mRULE_DECIMAL(); 
 
                 }
                 break;
-            case 146 :
-                // InternalChartDSL.g:1:948: RULE_ID
+            case 145 :
+                // InternalChartDSL.g:1:941: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 147 :
-                // InternalChartDSL.g:1:956: RULE_STRING
+            case 146 :
+                // InternalChartDSL.g:1:949: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 148 :
-                // InternalChartDSL.g:1:968: RULE_ML_COMMENT
+            case 147 :
+                // InternalChartDSL.g:1:961: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 149 :
-                // InternalChartDSL.g:1:984: RULE_SL_COMMENT
+            case 148 :
+                // InternalChartDSL.g:1:977: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 150 :
-                // InternalChartDSL.g:1:1000: RULE_WS
+            case 149 :
+                // InternalChartDSL.g:1:993: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 151 :
-                // InternalChartDSL.g:1:1008: RULE_ANY_OTHER
+            case 150 :
+                // InternalChartDSL.g:1:1001: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -5048,17 +5036,17 @@
 
     protected DFA21 dfa21 = new DFA21(this);
     static final String DFA21_eotS =
-        "\1\uffff\1\70\1\72\1\74\1\77\1\103\1\106\1\112\1\114\1\116\1\120\1\122\1\124\1\127\14\131\2\uffff\7\131\10\uffff\1\u009f\2\131\2\u00a4\1\65\5\uffff\1\u00a9\26\uffff\1\u00ab\5\uffff\1\u00ad\4\uffff\1\131\1\uffff\16\131\1\u00c2\7\131\1\u00cc\13\131\1\u00da\5\131\2\uffff\1\u00e1\21\131\12\uffff\2\131\1\uffff\1\u00a4\12\uffff\1\u00fd\1\u00fe\22\131\1\uffff\2\131\1\u0116\4\131\1\u011c\1\131\1\uffff\15\131\1\uffff\4\131\1\u0131\1\131\1\uffff\6\131\1\u0139\5\131\1\u013f\2\131\1\u0143\13\131\2\uffff\1\131\1\u0150\1\u0151\4\131\1\u0156\16\131\1\u0165\1\uffff\5\131\1\uffff\1\u016c\1\u016d\3\131\1\u0171\3\131\1\u0176\3\131\1\u017a\6\131\1\uffff\1\131\1\u0182\4\131\1\u0187\1\uffff\5\131\1\uffff\1\131\1\u018e\1\131\1\uffff\1\131\1\u0191\7\131\1\u0199\2\131\2\uffff\1\u019d\2\131\1\u01a0\1\uffff\1\u01a2\14\131\1\u01af\1\uffff\5\131\1\u01b6\2\uffff\1\u01b7\1\131\1\u01b9\1\uffff\1\u01ba\3\131\1\uffff\2\131\1\u01c0\1\uffff\1\131\1\u01c2\5\131\1\uffff\1\u01c8\2\131\1\u01cb\1\uffff\1\131\1\u01cd\4\131\1\uffff\2\131\1\uffff\3\131\1\u01d7\3\131\1\uffff\3\131\1\uffff\1\u01de\1\131\3\uffff\2\131\1\u01e4\2\131\1\u01e7\2\131\1\u01ea\1\u01ec\2\131\1\uffff\2\131\1\u01f1\1\131\1\u01f3\3\uffff\1\131\2\uffff\1\u01f7\1\131\1\u01f9\1\131\1\u01fb\1\uffff\1\131\1\uffff\5\131\1\uffff\1\131\1\u0203\1\uffff\1\u0204\1\uffff\7\131\1\u020c\1\u020d\1\uffff\1\131\1\u020f\1\u0210\1\131\1\u0212\1\131\1\uffff\1\u0214\2\uffff\2\131\1\uffff\1\u0217\1\131\1\uffff\2\131\3\uffff\2\131\1\u021d\1\131\1\uffff\1\u0220\3\uffff\1\131\1\uffff\1\131\1\uffff\1\131\1\uffff\1\131\1\u0225\1\131\1\u0227\1\u0228\1\u0229\1\131\2\uffff\1\131\1\u022c\1\u022d\3\131\1\u0231\2\uffff\1\u0232\2\uffff\1\131\1\uffff\1\131\1\uffff\2\131\1\uffff\5\131\1\uffff\1\u023c\2\uffff\1\u023d\2\131\1\u0240\1\uffff\1\131\3\uffff\1\u0242\1\u0243\2\uffff\3\131\2\uffff\1\u0247\1\u0248\6\131\1\u024f\2\uffff\2\131\1\uffff\1\131\2\uffff\1\131\1\u0254\1\131\2\uffff\1\131\1\u0257\1\131\1\u0259\1\u025a\1\u025b\1\uffff\3\131\1\u025f\1\uffff\2\131\1\uffff\1\131\3\uffff\1\u0263\1\u0264\1\u0265\1\uffff\1\u0266\1\u0267\1\u0268\6\uffff";
+        "\1\uffff\1\70\1\72\1\74\1\77\1\103\1\106\1\112\1\114\1\116\1\120\1\122\1\124\1\127\14\131\2\uffff\7\131\10\uffff\1\u009e\2\131\2\u00a3\1\65\5\uffff\1\u00a8\26\uffff\1\u00aa\5\uffff\1\u00ac\4\uffff\1\131\1\uffff\16\131\1\u00c1\7\131\1\u00cb\13\131\1\u00d9\4\131\2\uffff\1\u00df\21\131\12\uffff\2\131\1\uffff\1\u00a3\12\uffff\1\u00fb\1\u00fc\22\131\1\uffff\2\131\1\u0114\4\131\1\u011a\1\131\1\uffff\15\131\1\uffff\4\131\1\u012f\1\uffff\6\131\1\u0136\5\131\1\u013c\2\131\1\u0140\13\131\2\uffff\1\131\1\u014d\1\u014e\4\131\1\u0153\16\131\1\u0162\1\uffff\5\131\1\uffff\1\u0169\1\u016a\3\131\1\u016e\3\131\1\u0173\3\131\1\u0177\6\131\1\uffff\1\u017e\4\131\1\u0183\1\uffff\5\131\1\uffff\1\131\1\u018a\1\131\1\uffff\1\131\1\u018d\7\131\1\u0195\2\131\2\uffff\1\u0199\2\131\1\u019c\1\uffff\1\u019e\14\131\1\u01ab\1\uffff\5\131\1\u01b2\2\uffff\1\u01b3\1\131\1\u01b5\1\uffff\1\u01b6\3\131\1\uffff\2\131\1\u01bc\1\uffff\1\131\1\u01be\4\131\1\uffff\1\u01c3\2\131\1\u01c6\1\uffff\1\131\1\u01c8\4\131\1\uffff\2\131\1\uffff\3\131\1\u01d2\3\131\1\uffff\3\131\1\uffff\1\u01d9\1\131\3\uffff\2\131\1\u01df\2\131\1\u01e2\2\131\1\u01e5\1\u01e7\2\131\1\uffff\2\131\1\u01ec\1\131\1\u01ee\3\uffff\1\131\2\uffff\1\u01f2\1\131\1\u01f4\1\131\1\u01f6\1\uffff\1\131\1\uffff\4\131\1\uffff\1\131\1\u01fd\1\uffff\1\u01fe\1\uffff\7\131\1\u0206\1\u0207\1\uffff\1\131\1\u0209\1\u020a\1\131\1\u020c\1\131\1\uffff\1\u020e\2\uffff\2\131\1\uffff\1\u0211\1\131\1\uffff\2\131\3\uffff\2\131\1\u0217\1\131\1\uffff\1\u021a\3\uffff\1\131\1\uffff\1\131\1\uffff\1\131\1\uffff\1\131\1\u021f\1\131\1\u0221\1\u0222\1\131\2\uffff\1\131\1\u0225\1\u0226\3\131\1\u022a\2\uffff\1\u022b\2\uffff\1\131\1\uffff\1\131\1\uffff\2\131\1\uffff\5\131\1\uffff\1\u0235\2\uffff\1\u0236\2\131\1\u0239\1\uffff\1\131\2\uffff\1\u023b\1\u023c\2\uffff\3\131\2\uffff\1\u0240\1\u0241\6\131\1\u0248\2\uffff\2\131\1\uffff\1\131\2\uffff\1\131\1\u024d\1\131\2\uffff\1\131\1\u0250\1\131\1\u0252\1\u0253\1\u0254\1\uffff\3\131\1\u0258\1\uffff\2\131\1\uffff\1\131\3\uffff\1\u025c\1\u025d\1\u025e\1\uffff\1\u025f\1\u0260\1\u0261\6\uffff";
     static final String DFA21_eofS =
-        "\u0269\uffff";
+        "\u0262\uffff";
     static final String DFA21_minS =
-        "\1\0\1\75\1\174\1\46\1\53\1\55\2\52\3\75\1\76\2\56\2\141\1\145\1\146\1\141\1\165\2\145\4\141\2\uffff\1\154\1\160\3\141\1\150\1\145\10\uffff\1\72\1\157\1\141\2\60\1\44\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\uffff\1\164\2\163\1\160\1\141\1\160\1\157\1\165\1\147\1\141\1\156\1\141\1\160\1\163\1\44\1\154\1\162\1\154\1\164\1\162\1\167\1\154\1\44\1\163\1\151\1\163\1\141\1\162\1\154\1\156\2\147\1\142\1\164\1\44\1\146\1\162\1\143\1\145\1\154\2\uffff\1\44\1\151\1\147\1\167\1\151\1\124\1\162\1\142\1\165\1\141\1\156\1\160\1\154\1\141\1\147\1\160\1\162\1\156\12\uffff\1\157\1\163\1\uffff\1\60\12\uffff\2\44\1\145\1\164\1\145\1\164\1\143\1\145\1\167\1\164\1\155\1\145\1\164\1\160\1\143\1\144\1\162\1\157\1\151\1\145\1\uffff\1\163\1\164\1\44\1\141\1\154\1\163\1\155\1\44\1\154\1\uffff\1\164\1\154\1\143\1\145\1\162\1\163\1\154\1\145\1\141\2\145\1\141\1\165\1\uffff\1\141\1\143\1\141\1\153\1\44\1\154\1\uffff\1\163\1\154\1\155\1\141\1\156\1\157\1\44\1\142\1\147\1\144\2\151\1\44\1\164\1\145\1\44\1\156\1\145\1\154\1\147\1\145\1\157\1\144\1\165\1\154\1\155\1\124\2\uffff\1\156\2\44\1\171\1\151\1\153\1\162\1\44\1\150\1\145\2\143\1\160\1\150\1\145\1\115\1\164\1\162\1\144\1\141\1\162\1\145\1\44\1\uffff\1\154\1\132\1\151\1\141\1\150\1\uffff\2\44\1\145\1\147\1\150\1\44\1\164\1\157\1\141\1\44\1\162\1\156\1\154\1\44\1\155\1\164\1\165\1\162\1\155\1\141\1\uffff\1\151\1\44\1\145\1\141\1\171\1\147\1\44\1\uffff\1\154\1\145\1\151\2\155\1\uffff\1\151\1\44\1\144\1\uffff\1\163\1\44\1\164\1\154\1\157\1\167\1\145\1\162\1\157\1\44\1\151\1\144\2\uffff\1\44\1\143\1\145\1\44\1\uffff\1\44\1\156\1\164\1\150\1\145\1\162\1\144\1\141\1\114\1\164\1\145\1\156\1\166\1\44\1\uffff\1\154\1\145\2\144\1\154\1\44\2\uffff\1\44\1\157\1\44\1\uffff\1\44\1\162\1\160\1\162\1\uffff\1\151\1\144\1\44\1\uffff\1\141\1\44\1\154\2\151\1\147\1\156\1\uffff\1\44\1\164\1\163\1\44\1\uffff\1\145\1\44\1\145\2\165\1\160\1\uffff\1\114\1\160\1\uffff\1\151\1\145\1\146\1\44\1\162\1\156\1\164\1\uffff\1\143\1\163\1\151\1\uffff\1\44\1\144\1\uffff\1\145\1\uffff\1\164\1\102\1\44\1\144\1\157\1\44\1\162\1\141\2\44\1\143\1\141\1\uffff\1\171\1\162\1\44\1\145\1\44\1\145\2\uffff\1\162\2\uffff\1\44\1\163\1\44\1\164\1\44\1\uffff\1\162\1\uffff\1\164\1\142\1\144\1\145\1\147\1\uffff\1\145\1\44\1\uffff\1\44\1\uffff\1\156\2\155\1\154\1\151\1\141\1\160\2\44\1\uffff\1\163\2\44\1\153\1\44\1\157\1\uffff\1\44\2\uffff\1\143\1\171\1\uffff\1\44\1\156\1\uffff\1\153\1\142\3\uffff\1\145\1\154\1\44\1\157\1\uffff\1\44\3\uffff\1\171\1\uffff\1\151\1\uffff\1\150\1\uffff\1\164\1\44\1\145\3\44\1\144\2\uffff\1\164\2\44\1\151\1\156\1\162\1\44\2\uffff\1\44\2\uffff\1\163\1\uffff\1\156\1\uffff\1\157\1\111\1\uffff\1\151\2\145\1\157\1\163\1\uffff\1\44\2\uffff\1\44\1\142\1\155\1\44\1\uffff\1\144\3\uffff\2\44\2\uffff\3\145\2\uffff\2\44\1\154\1\144\1\172\1\162\1\154\1\146\1\44\2\uffff\1\154\1\151\1\uffff\1\102\2\uffff\1\162\1\44\1\156\2\uffff\1\157\1\44\1\145\3\44\1\uffff\1\145\1\143\1\171\1\44\1\uffff\1\164\1\162\1\uffff\1\144\3\uffff\3\44\1\uffff\3\44\6\uffff";
+        "\1\0\1\75\1\174\1\46\1\53\1\55\2\52\3\75\1\76\2\56\2\141\1\145\1\146\1\141\1\165\2\145\4\141\2\uffff\1\154\1\160\3\141\1\150\1\145\10\uffff\1\72\1\157\1\141\2\60\1\44\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\154\1\uffff\1\164\2\163\1\160\1\141\1\160\1\157\1\165\1\147\1\141\1\156\1\141\1\160\1\163\1\44\1\154\1\162\1\154\1\164\1\162\1\167\1\154\1\44\1\163\1\151\1\163\1\141\1\162\1\154\1\156\2\147\1\142\1\164\1\44\1\146\1\162\1\143\1\145\2\uffff\1\44\1\151\1\147\1\167\1\151\1\124\1\162\1\142\1\165\1\141\1\156\1\160\1\154\1\141\1\147\1\160\1\162\1\156\12\uffff\1\157\1\163\1\uffff\1\60\12\uffff\2\44\1\145\1\164\1\145\1\164\1\143\1\145\1\167\1\164\1\155\1\145\1\164\1\160\1\143\1\144\1\162\1\157\1\151\1\145\1\uffff\1\163\1\164\1\44\1\141\1\154\1\163\1\155\1\44\1\154\1\uffff\1\164\1\154\1\143\1\145\1\162\1\163\1\154\1\145\1\141\2\145\1\141\1\165\1\uffff\1\141\1\143\1\141\1\153\1\44\1\uffff\1\163\1\154\1\155\1\141\1\156\1\157\1\44\1\142\1\147\1\144\2\151\1\44\1\164\1\145\1\44\1\156\1\145\1\154\1\147\1\145\1\157\1\144\1\165\1\154\1\155\1\124\2\uffff\1\156\2\44\1\171\1\151\1\153\1\162\1\44\1\150\1\145\2\143\1\160\1\150\1\145\1\115\1\164\1\162\1\144\1\141\1\162\1\145\1\44\1\uffff\1\154\1\132\1\151\1\141\1\150\1\uffff\2\44\1\145\1\147\1\150\1\44\1\164\1\157\1\141\1\44\1\162\1\156\1\154\1\44\1\155\1\164\1\165\1\162\1\155\1\141\1\uffff\1\44\1\145\1\141\1\171\1\147\1\44\1\uffff\1\154\1\145\1\151\2\155\1\uffff\1\151\1\44\1\144\1\uffff\1\163\1\44\1\164\1\154\1\157\1\167\1\145\1\162\1\157\1\44\1\151\1\144\2\uffff\1\44\1\143\1\145\1\44\1\uffff\1\44\1\156\1\164\1\150\1\145\1\162\1\144\1\141\1\114\1\164\1\145\1\156\1\166\1\44\1\uffff\1\154\1\145\2\144\1\154\1\44\2\uffff\1\44\1\157\1\44\1\uffff\1\44\1\162\1\160\1\162\1\uffff\1\151\1\144\1\44\1\uffff\1\141\1\44\1\154\2\151\1\147\1\uffff\1\44\1\164\1\163\1\44\1\uffff\1\145\1\44\1\145\2\165\1\160\1\uffff\1\114\1\160\1\uffff\1\151\1\145\1\146\1\44\1\162\1\156\1\164\1\uffff\1\143\1\163\1\151\1\uffff\1\44\1\144\1\uffff\1\145\1\uffff\1\164\1\102\1\44\1\144\1\157\1\44\1\162\1\141\2\44\1\143\1\141\1\uffff\1\171\1\162\1\44\1\145\1\44\1\145\2\uffff\1\162\2\uffff\1\44\1\163\1\44\1\164\1\44\1\uffff\1\162\1\uffff\1\164\1\142\1\144\1\145\1\uffff\1\145\1\44\1\uffff\1\44\1\uffff\1\156\2\155\1\154\1\151\1\141\1\160\2\44\1\uffff\1\163\2\44\1\153\1\44\1\157\1\uffff\1\44\2\uffff\1\143\1\171\1\uffff\1\44\1\156\1\uffff\1\153\1\142\3\uffff\1\145\1\154\1\44\1\157\1\uffff\1\44\3\uffff\1\171\1\uffff\1\151\1\uffff\1\150\1\uffff\1\164\1\44\1\145\2\44\1\144\2\uffff\1\164\2\44\1\151\1\156\1\162\1\44\2\uffff\1\44\2\uffff\1\163\1\uffff\1\156\1\uffff\1\157\1\111\1\uffff\1\151\2\145\1\157\1\163\1\uffff\1\44\2\uffff\1\44\1\142\1\155\1\44\1\uffff\1\144\2\uffff\2\44\2\uffff\3\145\2\uffff\2\44\1\154\1\144\1\172\1\162\1\154\1\146\1\44\2\uffff\1\154\1\151\1\uffff\1\102\2\uffff\1\162\1\44\1\156\2\uffff\1\157\1\44\1\145\3\44\1\uffff\1\145\1\143\1\171\1\44\1\uffff\1\164\1\162\1\uffff\1\144\3\uffff\3\44\1\uffff\3\44\6\uffff";
     static final String DFA21_maxS =
-        "\1\uffff\1\76\1\174\1\46\1\75\1\76\5\75\1\76\1\56\1\72\1\141\1\170\1\171\1\156\1\157\2\165\1\150\1\165\2\157\1\171\2\uffff\1\170\1\163\1\165\1\162\1\165\1\171\1\145\10\uffff\1\72\1\157\1\141\1\170\1\154\1\172\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\162\1\uffff\1\164\2\163\1\160\1\141\1\160\1\157\1\165\1\154\1\151\1\156\1\157\1\160\1\164\1\172\1\163\1\162\1\156\1\164\1\162\1\167\1\154\1\172\1\163\1\151\1\164\1\141\1\162\1\154\1\156\2\147\1\142\1\164\1\172\1\163\1\162\1\143\1\145\1\154\2\uffff\1\172\2\151\1\167\1\151\1\124\1\162\1\142\1\165\1\141\1\156\1\170\1\154\1\171\1\157\1\160\1\162\1\164\12\uffff\1\157\1\163\1\uffff\1\154\12\uffff\2\172\1\145\1\164\1\145\2\164\1\145\1\167\1\164\1\155\1\145\1\164\1\160\1\143\1\144\1\167\1\157\1\164\1\145\1\uffff\1\163\1\164\1\172\1\141\1\154\1\163\1\164\1\172\1\154\1\uffff\1\164\1\154\2\145\1\162\1\163\1\154\1\145\1\141\3\145\1\165\1\uffff\1\141\1\143\1\141\1\153\1\172\1\154\1\uffff\1\163\1\154\1\155\1\141\1\156\1\157\1\172\1\142\1\147\1\144\2\151\1\172\1\164\1\156\1\172\1\156\1\145\1\154\1\147\1\145\1\157\1\144\1\165\1\154\1\155\1\124\2\uffff\1\156\2\172\1\171\1\151\1\153\1\162\1\172\1\150\1\145\2\143\1\160\1\150\1\145\1\115\1\164\1\162\1\144\1\141\1\162\1\145\1\172\1\uffff\1\154\1\145\1\151\1\141\1\150\1\uffff\2\172\1\145\1\147\1\150\1\172\1\164\1\157\1\141\1\172\1\162\1\156\1\154\1\172\1\155\1\164\1\165\1\162\1\155\1\141\1\uffff\1\151\1\172\1\145\1\141\1\171\1\147\1\172\1\uffff\1\154\1\145\1\151\2\155\1\uffff\1\151\1\172\1\144\1\uffff\1\163\1\172\1\164\1\154\1\157\1\167\1\145\1\162\1\157\1\172\1\151\1\163\2\uffff\1\172\1\143\1\145\1\172\1\uffff\1\172\1\156\1\164\1\150\1\145\1\162\1\144\1\141\1\114\1\164\1\145\1\156\1\166\1\172\1\uffff\1\154\1\145\2\144\1\154\1\172\2\uffff\1\172\1\157\1\172\1\uffff\1\172\1\162\1\160\1\162\1\uffff\1\151\1\144\1\172\1\uffff\1\141\1\172\1\154\2\151\1\147\1\156\1\uffff\1\172\1\164\1\163\1\172\1\uffff\1\145\1\172\1\145\2\165\1\160\1\uffff\1\114\1\160\1\uffff\1\151\1\145\1\146\1\172\1\162\1\156\1\164\1\uffff\1\143\1\163\1\151\1\uffff\1\172\1\144\1\uffff\1\167\1\uffff\1\164\1\102\1\172\1\144\1\157\1\172\1\162\1\141\2\172\1\143\1\141\1\uffff\1\171\1\162\1\172\1\145\1\172\1\167\2\uffff\1\162\2\uffff\1\172\1\163\1\172\1\164\1\172\1\uffff\1\162\1\uffff\1\164\1\142\1\144\1\145\1\147\1\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\156\2\155\1\154\1\151\1\141\1\160\2\172\1\uffff\1\163\2\172\1\153\1\172\1\157\1\uffff\1\172\2\uffff\1\143\1\171\1\uffff\1\172\1\156\1\uffff\1\153\1\142\3\uffff\1\145\1\154\1\172\1\157\1\uffff\1\172\3\uffff\1\171\1\uffff\1\151\1\uffff\1\150\1\uffff\1\164\1\172\1\145\3\172\1\144\2\uffff\1\164\2\172\1\151\1\156\1\162\1\172\2\uffff\1\172\2\uffff\1\163\1\uffff\1\156\1\uffff\1\157\1\111\1\uffff\1\151\2\145\1\157\1\163\1\uffff\1\172\2\uffff\1\172\1\142\1\155\1\172\1\uffff\1\144\3\uffff\2\172\2\uffff\3\145\2\uffff\2\172\1\154\1\144\1\172\1\162\1\154\1\146\1\172\2\uffff\1\154\1\151\1\uffff\1\102\2\uffff\1\162\1\172\1\156\2\uffff\1\157\1\172\1\145\3\172\1\uffff\1\145\1\143\1\171\1\172\1\uffff\1\164\1\162\1\uffff\1\144\3\uffff\3\172\1\uffff\3\172\6\uffff";
+        "\1\uffff\1\76\1\174\1\46\1\75\1\76\5\75\1\76\1\56\1\72\1\141\1\170\1\171\1\156\1\157\2\165\1\150\1\165\2\157\1\171\2\uffff\1\170\1\163\1\165\1\162\1\165\1\171\1\145\10\uffff\1\72\1\157\1\141\1\170\1\154\1\172\5\uffff\1\75\26\uffff\1\75\5\uffff\1\74\4\uffff\1\162\1\uffff\1\164\2\163\1\160\1\141\1\160\1\157\1\165\1\154\1\151\1\156\1\157\1\160\1\164\1\172\1\163\1\162\1\156\1\164\1\162\1\167\1\154\1\172\1\163\1\151\1\164\1\141\1\162\1\154\1\156\2\147\1\142\1\164\1\172\1\163\1\162\1\143\1\145\2\uffff\1\172\2\151\1\167\1\151\1\124\1\162\1\142\1\165\1\141\1\156\1\170\1\154\1\171\1\157\1\160\1\162\1\164\12\uffff\1\157\1\163\1\uffff\1\154\12\uffff\2\172\1\145\1\164\1\145\2\164\1\145\1\167\1\164\1\155\1\145\1\164\1\160\1\143\1\144\1\167\1\157\1\164\1\145\1\uffff\1\163\1\164\1\172\1\141\1\154\1\163\1\164\1\172\1\154\1\uffff\1\164\1\154\2\145\1\162\1\163\1\154\1\145\1\141\3\145\1\165\1\uffff\1\141\1\143\1\141\1\153\1\172\1\uffff\1\163\1\154\1\155\1\141\1\156\1\157\1\172\1\142\1\147\1\144\2\151\1\172\1\164\1\156\1\172\1\156\1\145\1\154\1\147\1\145\1\157\1\144\1\165\1\154\1\155\1\124\2\uffff\1\156\2\172\1\171\1\151\1\153\1\162\1\172\1\150\1\145\2\143\1\160\1\150\1\145\1\115\1\164\1\162\1\144\1\141\1\162\1\145\1\172\1\uffff\1\154\1\145\1\151\1\141\1\150\1\uffff\2\172\1\145\1\147\1\150\1\172\1\164\1\157\1\141\1\172\1\162\1\156\1\154\1\172\1\155\1\164\1\165\1\162\1\155\1\141\1\uffff\1\172\1\145\1\141\1\171\1\147\1\172\1\uffff\1\154\1\145\1\151\2\155\1\uffff\1\151\1\172\1\144\1\uffff\1\163\1\172\1\164\1\154\1\157\1\167\1\145\1\162\1\157\1\172\1\151\1\163\2\uffff\1\172\1\143\1\145\1\172\1\uffff\1\172\1\156\1\164\1\150\1\145\1\162\1\144\1\141\1\114\1\164\1\145\1\156\1\166\1\172\1\uffff\1\154\1\145\2\144\1\154\1\172\2\uffff\1\172\1\157\1\172\1\uffff\1\172\1\162\1\160\1\162\1\uffff\1\151\1\144\1\172\1\uffff\1\141\1\172\1\154\2\151\1\147\1\uffff\1\172\1\164\1\163\1\172\1\uffff\1\145\1\172\1\145\2\165\1\160\1\uffff\1\114\1\160\1\uffff\1\151\1\145\1\146\1\172\1\162\1\156\1\164\1\uffff\1\143\1\163\1\151\1\uffff\1\172\1\144\1\uffff\1\167\1\uffff\1\164\1\102\1\172\1\144\1\157\1\172\1\162\1\141\2\172\1\143\1\141\1\uffff\1\171\1\162\1\172\1\145\1\172\1\167\2\uffff\1\162\2\uffff\1\172\1\163\1\172\1\164\1\172\1\uffff\1\162\1\uffff\1\164\1\142\1\144\1\145\1\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\156\2\155\1\154\1\151\1\141\1\160\2\172\1\uffff\1\163\2\172\1\153\1\172\1\157\1\uffff\1\172\2\uffff\1\143\1\171\1\uffff\1\172\1\156\1\uffff\1\153\1\142\3\uffff\1\145\1\154\1\172\1\157\1\uffff\1\172\3\uffff\1\171\1\uffff\1\151\1\uffff\1\150\1\uffff\1\164\1\172\1\145\2\172\1\144\2\uffff\1\164\2\172\1\151\1\156\1\162\1\172\2\uffff\1\172\2\uffff\1\163\1\uffff\1\156\1\uffff\1\157\1\111\1\uffff\1\151\2\145\1\157\1\163\1\uffff\1\172\2\uffff\1\172\1\142\1\155\1\172\1\uffff\1\144\2\uffff\2\172\2\uffff\3\145\2\uffff\2\172\1\154\1\144\1\172\1\162\1\154\1\146\1\172\2\uffff\1\154\1\151\1\uffff\1\102\2\uffff\1\162\1\172\1\156\2\uffff\1\157\1\172\1\145\3\172\1\uffff\1\145\1\143\1\171\1\172\1\uffff\1\164\1\162\1\uffff\1\144\3\uffff\3\172\1\uffff\3\172\6\uffff";
     static final String DFA21_acceptS =
-        "\32\uffff\1\74\1\75\7\uffff\1\122\1\123\1\124\1\125\1\126\1\127\1\130\1\131\6\uffff\1\u0092\2\u0093\1\u0096\1\u0097\1\uffff\1\23\1\1\1\2\1\u008c\1\3\1\156\1\4\1\35\1\26\1\5\1\20\1\36\1\27\1\6\1\31\1\30\1\7\1\u0094\1\u0095\1\32\1\10\1\33\1\uffff\1\34\1\15\1\16\1\24\1\17\1\uffff\1\37\1\25\1\u008b\1\155\1\uffff\1\u0092\50\uffff\1\74\1\75\22\uffff\1\122\1\123\1\124\1\125\1\126\1\127\1\130\1\131\1\u008a\1\136\2\uffff\1\u008f\1\uffff\1\u0090\1\u0091\1\u0093\1\u0096\1\13\1\11\1\14\1\12\1\21\1\22\24\uffff\1\133\11\uffff\1\u0089\15\uffff\1\143\6\uffff\1\77\33\uffff\1\40\1\u008d\27\uffff\1\141\5\uffff\1\144\24\uffff\1\103\7\uffff\1\101\5\uffff\1\u0083\3\uffff\1\151\14\uffff\1\60\1\134\4\uffff\1\54\16\uffff\1\55\6\uffff\1\145\1\64\3\uffff\1\140\4\uffff\1\102\3\uffff\1\70\7\uffff\1\116\4\uffff\1\112\6\uffff\1\111\2\uffff\1\u008e\7\uffff\1\171\3\uffff\1\174\2\uffff\1\45\1\uffff\1\62\14\uffff\1\46\6\uffff\1\56\1\142\1\uffff\1\154\1\76\5\uffff\1\u0080\1\uffff\1\104\5\uffff\1\120\2\uffff\1\100\1\uffff\1\106\11\uffff\1\147\6\uffff\1\42\1\uffff\1\61\1\63\2\uffff\1\135\2\uffff\1\162\2\uffff\1\43\1\50\1\47\4\uffff\1\173\1\uffff\1\53\1\57\1\65\1\uffff\1\170\1\uffff\1\67\1\uffff\1\114\7\uffff\1\u0087\1\105\7\uffff\1\u0085\1\146\1\uffff\1\150\1\u0086\1\uffff\1\41\1\uffff\1\165\2\uffff\1\164\5\uffff\1\152\1\uffff\1\52\1\51\4\uffff\1\137\1\uffff\1\72\1\73\1\160\2\uffff\1\107\1\110\3\uffff\1\115\1\117\11\uffff\1\172\1\66\2\uffff\1\113\1\uffff\1\163\1\176\3\uffff\1\u0081\1\44\6\uffff\1\u0082\4\uffff\1\167\2\uffff\1\161\1\uffff\1\166\1\u0088\1\132\3\uffff\1\175\3\uffff\1\u0084\1\71\1\157\1\177\1\121\1\153";
+        "\32\uffff\1\74\1\75\7\uffff\1\122\1\123\1\124\1\125\1\126\1\127\1\130\1\131\6\uffff\1\u0091\2\u0092\1\u0095\1\u0096\1\uffff\1\23\1\1\1\2\1\u008b\1\3\1\156\1\4\1\35\1\26\1\5\1\20\1\36\1\27\1\6\1\31\1\30\1\7\1\u0093\1\u0094\1\32\1\10\1\33\1\uffff\1\34\1\15\1\16\1\24\1\17\1\uffff\1\37\1\25\1\u008a\1\155\1\uffff\1\u0091\47\uffff\1\74\1\75\22\uffff\1\122\1\123\1\124\1\125\1\126\1\127\1\130\1\131\1\u0089\1\136\2\uffff\1\u008e\1\uffff\1\u008f\1\u0090\1\u0092\1\u0095\1\13\1\11\1\14\1\12\1\21\1\22\24\uffff\1\133\11\uffff\1\u0088\15\uffff\1\143\5\uffff\1\77\33\uffff\1\40\1\u008c\27\uffff\1\141\5\uffff\1\144\24\uffff\1\103\6\uffff\1\101\5\uffff\1\u0082\3\uffff\1\151\14\uffff\1\60\1\134\4\uffff\1\54\16\uffff\1\55\6\uffff\1\145\1\64\3\uffff\1\140\4\uffff\1\102\3\uffff\1\70\6\uffff\1\116\4\uffff\1\112\6\uffff\1\111\2\uffff\1\u008d\7\uffff\1\170\3\uffff\1\173\2\uffff\1\45\1\uffff\1\62\14\uffff\1\46\6\uffff\1\56\1\142\1\uffff\1\154\1\76\5\uffff\1\177\1\uffff\1\104\4\uffff\1\120\2\uffff\1\100\1\uffff\1\106\11\uffff\1\147\6\uffff\1\42\1\uffff\1\61\1\63\2\uffff\1\135\2\uffff\1\161\2\uffff\1\43\1\50\1\47\4\uffff\1\172\1\uffff\1\53\1\57\1\65\1\uffff\1\167\1\uffff\1\67\1\uffff\1\114\6\uffff\1\u0086\1\105\7\uffff\1\u0084\1\146\1\uffff\1\150\1\u0085\1\uffff\1\41\1\uffff\1\164\2\uffff\1\163\5\uffff\1\152\1\uffff\1\52\1\51\4\uffff\1\137\1\uffff\1\72\1\73\2\uffff\1\107\1\110\3\uffff\1\115\1\117\11\uffff\1\171\1\66\2\uffff\1\113\1\uffff\1\162\1\175\3\uffff\1\u0080\1\44\6\uffff\1\u0081\4\uffff\1\166\2\uffff\1\160\1\uffff\1\165\1\u0087\1\132\3\uffff\1\174\3\uffff\1\u0083\1\71\1\157\1\176\1\121\1\153";
     static final String DFA21_specialS =
-        "\1\0\u0268\uffff}>";
+        "\1\0\u0261\uffff}>";
     static final String[] DFA21_transitionS = {
             "\11\65\2\64\2\65\1\64\22\65\1\64\1\11\1\62\1\51\1\61\1\10\1\3\1\63\1\45\1\46\1\6\1\4\1\47\1\5\1\14\1\7\1\56\11\57\1\53\1\43\1\13\1\1\1\12\1\15\1\44\32\61\1\52\1\65\1\50\1\60\1\61\1\65\1\34\1\36\1\26\1\30\1\17\1\22\1\37\1\55\1\21\2\61\1\27\1\40\1\24\1\23\1\31\1\61\1\42\1\20\1\41\1\35\1\16\1\25\2\61\1\54\1\32\1\2\1\33\uff82\65",
             "\1\66\1\67",
@@ -5085,16 +5073,16 @@
             "\1\163\6\uffff\1\164\6\uffff\1\166\5\uffff\1\165",
             "\1\172\3\uffff\1\171\3\uffff\1\167\5\uffff\1\170",
             "\1\173\3\uffff\1\175\11\uffff\1\174",
-            "\1\177\7\uffff\1\u0080\5\uffff\1\u0081\11\uffff\1\176",
+            "\1\177\7\uffff\1\u0080\17\uffff\1\176",
             "",
             "",
-            "\1\u0087\1\uffff\1\u0086\4\uffff\1\u0084\4\uffff\1\u0085",
-            "\1\u0089\2\uffff\1\u0088",
-            "\1\u008a\23\uffff\1\u008b",
-            "\1\u008c\20\uffff\1\u008d",
-            "\1\u008f\7\uffff\1\u008e\13\uffff\1\u0090",
-            "\1\u0094\6\uffff\1\u0092\2\uffff\1\u0091\6\uffff\1\u0093",
-            "\1\u0095",
+            "\1\u0086\1\uffff\1\u0085\4\uffff\1\u0083\4\uffff\1\u0084",
+            "\1\u0088\2\uffff\1\u0087",
+            "\1\u0089\23\uffff\1\u008a",
+            "\1\u008b\20\uffff\1\u008c",
+            "\1\u008e\7\uffff\1\u008d\13\uffff\1\u008f",
+            "\1\u0093\6\uffff\1\u0091\2\uffff\1\u0090\6\uffff\1\u0092",
+            "\1\u0094",
             "",
             "",
             "",
@@ -5103,18 +5091,18 @@
             "",
             "",
             "",
-            "\1\u009e",
+            "\1\u009d",
+            "\1\u009f",
             "\1\u00a0",
-            "\1\u00a1",
-            "\12\u00a3\10\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5\13\uffff\1\u00a2\6\uffff\1\u00a3\2\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5\13\uffff\1\u00a2",
-            "\12\u00a3\10\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5\22\uffff\1\u00a3\2\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5",
+            "\12\u00a2\10\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4\13\uffff\1\u00a1\6\uffff\1\u00a2\2\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4\13\uffff\1\u00a1",
+            "\12\u00a2\10\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4\22\uffff\1\u00a2\2\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4",
             "\1\131\34\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00a8",
+            "\1\u00a7",
             "",
             "",
             "",
@@ -5137,19 +5125,20 @@
             "",
             "",
             "",
-            "\1\u00aa",
+            "\1\u00a9",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00ac",
+            "\1\u00ab",
             "",
             "",
             "",
             "",
-            "\1\u00ae\5\uffff\1\u00af",
+            "\1\u00ad\5\uffff\1\u00ae",
             "",
+            "\1\u00af",
             "\1\u00b0",
             "\1\u00b1",
             "\1\u00b2",
@@ -5157,25 +5146,25 @@
             "\1\u00b4",
             "\1\u00b5",
             "\1\u00b6",
-            "\1\u00b7",
-            "\1\u00b8\4\uffff\1\u00b9",
-            "\1\u00bb\7\uffff\1\u00ba",
-            "\1\u00bc",
-            "\1\u00bd\15\uffff\1\u00be",
-            "\1\u00bf",
-            "\1\u00c0\1\u00c1",
+            "\1\u00b7\4\uffff\1\u00b8",
+            "\1\u00ba\7\uffff\1\u00b9",
+            "\1\u00bb",
+            "\1\u00bc\15\uffff\1\u00bd",
+            "\1\u00be",
+            "\1\u00bf\1\u00c0",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u00c3\6\uffff\1\u00c4",
-            "\1\u00c5",
-            "\1\u00c7\1\uffff\1\u00c6",
+            "\1\u00c2\6\uffff\1\u00c3",
+            "\1\u00c4",
+            "\1\u00c6\1\uffff\1\u00c5",
+            "\1\u00c7",
             "\1\u00c8",
             "\1\u00c9",
             "\1\u00ca",
-            "\1\u00cb",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u00cc",
             "\1\u00cd",
-            "\1\u00ce",
-            "\1\u00d0\1\u00cf",
+            "\1\u00cf\1\u00ce",
+            "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
             "\1\u00d3",
@@ -5183,33 +5172,31 @@
             "\1\u00d5",
             "\1\u00d6",
             "\1\u00d7",
-            "\1\u00d8",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\15\131\1\u00d9\14\131",
-            "\1\u00db\14\uffff\1\u00dc",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\15\131\1\u00d8\14\131",
+            "\1\u00da\14\uffff\1\u00db",
+            "\1\u00dc",
             "\1\u00dd",
             "\1\u00de",
-            "\1\u00df",
-            "\1\u00e0",
             "",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u00e2",
-            "\1\u00e3\1\uffff\1\u00e4",
+            "\1\u00e0",
+            "\1\u00e1\1\uffff\1\u00e2",
+            "\1\u00e3",
+            "\1\u00e4",
             "\1\u00e5",
             "\1\u00e6",
             "\1\u00e7",
             "\1\u00e8",
             "\1\u00e9",
             "\1\u00ea",
-            "\1\u00eb",
-            "\1\u00ec",
-            "\1\u00ee\7\uffff\1\u00ed",
-            "\1\u00ef",
-            "\1\u00f2\3\uffff\1\u00f0\17\uffff\1\u00f3\3\uffff\1\u00f1",
-            "\1\u00f5\7\uffff\1\u00f4",
-            "\1\u00f6",
-            "\1\u00f7",
-            "\1\u00f8\1\uffff\1\u00fa\3\uffff\1\u00f9",
+            "\1\u00ec\7\uffff\1\u00eb",
+            "\1\u00ed",
+            "\1\u00f0\3\uffff\1\u00ee\17\uffff\1\u00f1\3\uffff\1\u00ef",
+            "\1\u00f3\7\uffff\1\u00f2",
+            "\1\u00f4",
+            "\1\u00f5",
+            "\1\u00f6\1\uffff\1\u00f8\3\uffff\1\u00f7",
             "",
             "",
             "",
@@ -5220,10 +5207,10 @@
             "",
             "",
             "",
-            "\1\u00fb",
-            "\1\u00fc",
+            "\1\u00f9",
+            "\1\u00fa",
             "",
-            "\12\u00a3\10\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5\22\uffff\1\u00a3\2\uffff\1\u00a5\1\uffff\3\u00a5\5\uffff\1\u00a5",
+            "\12\u00a2\10\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4\22\uffff\1\u00a2\2\uffff\1\u00a4\1\uffff\3\u00a4\5\uffff\1\u00a4",
             "",
             "",
             "",
@@ -5236,11 +5223,13 @@
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u00fd",
+            "\1\u00fe",
             "\1\u00ff",
             "\1\u0100",
-            "\1\u0101",
-            "\1\u0102",
-            "\1\u0104\20\uffff\1\u0103",
+            "\1\u0102\20\uffff\1\u0101",
+            "\1\u0103",
+            "\1\u0104",
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
@@ -5248,60 +5237,60 @@
             "\1\u0109",
             "\1\u010a",
             "\1\u010b",
-            "\1\u010c",
-            "\1\u010d",
-            "\1\u010f\4\uffff\1\u010e",
-            "\1\u0110",
-            "\1\u0111\12\uffff\1\u0112",
+            "\1\u010d\4\uffff\1\u010c",
+            "\1\u010e",
+            "\1\u010f\12\uffff\1\u0110",
+            "\1\u0111",
+            "",
+            "\1\u0112",
             "\1\u0113",
-            "",
-            "\1\u0114",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0115",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0116",
             "\1\u0117",
-            "\1\u0118",
-            "\1\u0119",
-            "\1\u011a\6\uffff\1\u011b",
+            "\1\u0118\6\uffff\1\u0119",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u011d",
+            "\1\u011b",
             "",
-            "\1\u011e",
-            "\1\u011f",
-            "\1\u0121\1\uffff\1\u0120",
+            "\1\u011c",
+            "\1\u011d",
+            "\1\u011f\1\uffff\1\u011e",
+            "\1\u0120",
+            "\1\u0121",
             "\1\u0122",
             "\1\u0123",
             "\1\u0124",
             "\1\u0125",
             "\1\u0126",
             "\1\u0127",
-            "\1\u0128",
-            "\1\u0129",
-            "\1\u012b\3\uffff\1\u012a",
-            "\1\u012c",
+            "\1\u0129\3\uffff\1\u0128",
+            "\1\u012a",
             "",
+            "\1\u012b",
+            "\1\u012c",
             "\1\u012d",
             "\1\u012e",
-            "\1\u012f",
-            "\1\u0130",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0132",
             "",
+            "\1\u0130",
+            "\1\u0131",
+            "\1\u0132",
             "\1\u0133",
             "\1\u0134",
             "\1\u0135",
-            "\1\u0136",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0137",
             "\1\u0138",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0139",
             "\1\u013a",
             "\1\u013b",
-            "\1\u013c",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u013d",
-            "\1\u013e",
+            "\1\u013e\10\uffff\1\u013f",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0140",
-            "\1\u0141\10\uffff\1\u0142",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0141",
+            "\1\u0142",
+            "\1\u0143",
             "\1\u0144",
             "\1\u0145",
             "\1\u0146",
@@ -5310,19 +5299,19 @@
             "\1\u0149",
             "\1\u014a",
             "\1\u014b",
+            "",
+            "",
             "\1\u014c",
-            "\1\u014d",
-            "\1\u014e",
-            "",
-            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u014f",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0150",
+            "\1\u0151",
             "\1\u0152",
-            "\1\u0153",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0154",
             "\1\u0155",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0156",
             "\1\u0157",
             "\1\u0158",
             "\1\u0159",
@@ -5334,76 +5323,76 @@
             "\1\u015f",
             "\1\u0160",
             "\1\u0161",
-            "\1\u0162",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u0163",
-            "\1\u0164",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u0164\12\uffff\1\u0165",
             "\1\u0166",
-            "\1\u0167\12\uffff\1\u0168",
-            "\1\u0169",
-            "\1\u016a",
-            "\1\u016b",
+            "\1\u0167",
+            "\1\u0168",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u016e",
+            "\1\u016b",
+            "\1\u016c",
+            "\1\u016d",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u016f",
             "\1\u0170",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0172",
-            "\1\u0173",
+            "\1\u0171",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\1\u0172\31\131",
             "\1\u0174",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\1\u0175\31\131",
-            "\1\u0177",
+            "\1\u0175",
+            "\1\u0176",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0178",
             "\1\u0179",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u017a",
             "\1\u017b",
             "\1\u017c",
             "\1\u017d",
-            "\1\u017e",
+            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u017f",
             "\1\u0180",
-            "",
             "\1\u0181",
+            "\1\u0182",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0183",
+            "",
             "\1\u0184",
             "\1\u0185",
             "\1\u0186",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u0187",
             "\1\u0188",
+            "",
             "\1\u0189",
-            "\1\u018a",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u018b",
+            "",
             "\1\u018c",
-            "",
-            "\1\u018d",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u018e",
             "\1\u018f",
-            "",
             "\1\u0190",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0191",
             "\1\u0192",
             "\1\u0193",
             "\1\u0194",
-            "\1\u0195",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0196",
-            "\1\u0197",
-            "\1\u0198",
+            "\1\u0197\16\uffff\1\u0198",
+            "",
+            "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u019a",
-            "\1\u019b\16\uffff\1\u019c",
-            "",
-            "",
+            "\1\u019b",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u019e",
+            "",
+            "\1\131\10\uffff\1\u019d\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u019f",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "\1\131\10\uffff\1\u01a1\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01a0",
+            "\1\u01a1",
+            "\1\u01a2",
             "\1\u01a3",
             "\1\u01a4",
             "\1\u01a5",
@@ -5412,255 +5401,247 @@
             "\1\u01a8",
             "\1\u01a9",
             "\1\u01aa",
-            "\1\u01ab",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u01ac",
             "\1\u01ad",
             "\1\u01ae",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u01af",
             "\1\u01b0",
-            "\1\u01b1",
-            "\1\u01b2",
-            "\1\u01b3",
+            "\1\131\10\uffff\1\u01b1\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01b4",
-            "\1\131\10\uffff\1\u01b5\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01b7",
             "\1\u01b8",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01b9",
             "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01ba",
             "\1\u01bb",
-            "\1\u01bc",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u01bd",
-            "",
-            "\1\u01be",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01bf",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u01c0",
             "\1\u01c1",
+            "\1\u01c2",
+            "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u01c3",
             "\1\u01c4",
             "\1\u01c5",
-            "\1\u01c6",
-            "\1\u01c7",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
+            "\1\u01c7",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01c9",
             "\1\u01ca",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u01cb",
             "\1\u01cc",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "\1\u01cd",
             "\1\u01ce",
+            "",
             "\1\u01cf",
             "\1\u01d0",
             "\1\u01d1",
-            "",
-            "\1\u01d2",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01d3",
-            "",
             "\1\u01d4",
             "\1\u01d5",
+            "",
             "\1\u01d6",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01d7",
             "\1\u01d8",
-            "\1\u01d9",
+            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01da",
             "",
-            "\1\u01db",
-            "\1\u01dc",
+            "\1\u01db\21\uffff\1\u01dc",
+            "",
             "\1\u01dd",
-            "",
+            "\1\u01de",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u01df",
-            "",
-            "\1\u01e0\21\uffff\1\u01e1",
-            "",
-            "\1\u01e2",
+            "\1\u01e0",
+            "\1\u01e1",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01e3",
+            "\1\u01e4",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u01e5",
-            "\1\u01e6",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\10\uffff\1\u01e6\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01e8",
             "\1\u01e9",
+            "",
+            "\1\u01ea",
+            "\1\u01eb",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\10\uffff\1\u01eb\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u01ed",
-            "\1\u01ee",
-            "",
-            "\1\u01ef",
-            "\1\u01f0",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u01f2",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u01f4\21\uffff\1\u01f5",
+            "\1\u01ef\21\uffff\1\u01f0",
             "",
             "",
-            "\1\u01f6",
+            "\1\u01f1",
             "",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01f3",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01f5",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "\1\u01f7",
+            "",
             "\1\u01f8",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01f9",
             "\1\u01fa",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u01fb",
             "",
             "\1\u01fc",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
-            "\1\u01fd",
-            "\1\u01fe",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u01ff",
             "\1\u0200",
             "\1\u0201",
-            "",
             "\1\u0202",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
+            "\1\u0203",
+            "\1\u0204",
             "\1\u0205",
-            "\1\u0206",
-            "\1\u0207",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u0208",
-            "\1\u0209",
-            "\1\u020a",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u020b",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u020d",
+            "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
-            "\1\u020e",
+            "",
+            "\1\u020f",
+            "\1\u0210",
+            "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0211",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0212",
+            "",
             "\1\u0213",
+            "\1\u0214",
             "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "",
             "\1\u0215",
             "\1\u0216",
-            "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0218",
             "",
-            "\1\u0219",
-            "\1\u021a",
+            "\1\131\10\uffff\1\u0219\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "",
             "",
             "\1\u021b",
+            "",
             "\1\u021c",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "\1\u021d",
+            "",
             "\1\u021e",
-            "",
-            "\1\131\10\uffff\1\u021f\2\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "",
-            "",
-            "\1\u0221",
-            "",
-            "\1\u0222",
-            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0220",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0223",
             "",
+            "",
             "\1\u0224",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0226",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0227",
+            "\1\u0228",
+            "\1\u0229",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u022a",
             "",
             "",
-            "\1\u022b",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "",
+            "\1\u022c",
+            "",
+            "\1\u022d",
+            "",
             "\1\u022e",
             "\1\u022f",
+            "",
             "\1\u0230",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "",
+            "\1\u0231",
+            "\1\u0232",
             "\1\u0233",
-            "",
             "\1\u0234",
             "",
-            "\1\u0235",
-            "\1\u0236",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
+            "",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0237",
             "\1\u0238",
-            "\1\u0239",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u023a",
-            "\1\u023b",
-            "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
+            "",
+            "\1\u023d",
             "\1\u023e",
             "\1\u023f",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "\1\u0241",
-            "",
             "",
             "",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "",
+            "\1\u0242",
+            "\1\u0243",
             "\1\u0244",
             "\1\u0245",
             "\1\u0246",
+            "\1\u0247",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
             "",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u0249",
             "\1\u024a",
+            "",
             "\1\u024b",
+            "",
+            "",
             "\1\u024c",
-            "\1\u024d",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "\1\u024e",
+            "",
+            "",
+            "\1\u024f",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "",
-            "",
-            "\1\u0250",
             "\1\u0251",
-            "",
-            "\1\u0252",
-            "",
-            "",
-            "\1\u0253",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "",
             "\1\u0255",
-            "",
-            "",
             "\1\u0256",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\u0258",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0257",
             "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
             "",
-            "\1\u025c",
-            "\1\u025d",
-            "\1\u025e",
-            "\1\131\13\uffff\12\131\7\uffff\32\131\4\uffff\1\131\1\uffff\32\131",
+            "\1\u0259",
+            "\1\u025a",
             "",
-            "\1\u0260",
-            "\1\u0261",
-            "",
-            "\1\u0262",
+            "\1\u025b",
             "",
             "",
             "",
@@ -5709,7 +5690,7 @@
             this.transition = DFA21_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
diff --git a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLParser.java b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLParser.java
index bc0f58a..9c40c4b 100644
--- a/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLParser.java
+++ b/org.eclipse.osbp.xtext.chart.ide/src-gen/org/eclipse/osbp/xtext/chart/ide/contentassist/antlr/internal/InternalChartDSLParser.java
@@ -25,9 +25,11 @@
  *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
  *                                                                            
  *  All rights reserved. This program and the accompanying materials           
- *  are made available under the terms of the Eclipse Public License v1.0       
+ *  are made available under the terms of the Eclipse Public License 2.0        
  *  which accompanies this distribution, and is available at                  
- *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *  https://www.eclipse.org/legal/epl-2.0/                                 
+ *                                 
+ *  SPDX-License-Identifier: EPL-2.0                                 
  *                                                                            
  *  Contributors:                                                      
  * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
@@ -38,7 +40,7 @@
 @SuppressWarnings("all")
 public class InternalChartDSLParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'inside'", "'inside-grid'", "'outside'", "'outside-grid'", "'normal'", "'slow'", "'fast'", "'north'", "'north-east'", "'east'", "'south-east'", "'south'", "'south-west'", "'west'", "'north-west'", "'category'", "'linear'", "'date'", "'logarithmic'", "'pyramid'", "'package'", "'{'", "'}'", "'chart'", "'as'", "'using'", "'bar'", "'line'", "'pie'", "'donut'", "'bubble'", "'gauge'", "'minimum'", "'maximum'", "'tree'", "'upTo'", "'datamart'", "'legend'", "'tooltip'", "'axis'", "'renders'", "'angle'", "'segmentcolor'", "';'", "'@'", "'('", "')'", "','", "']'", "'#'", "'['", "'instanceof'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'describedBy'", "'polling'", "'selectById'", "'shaded'", "'animated'", "'swapped'", "'stacked'", "'showMarker'", "'trendLine'", "'cursor'", "'zoom'", "'fillZero'", "'filled'", "'empty'", "'multiplier'", "'gradient'", "'transparent'", "'label'", "'hasTicks'", "'intervals'", "'map'", "'collapsible'", "'toggle'", "'replot'", "'always'", "'shortLabel'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'+='", "'-='", "'*='", "'/='", "'%='", "'=='", "'!='", "'==='", "'!=='", "'>='", "'>'", "'<'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'.'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'false'", "'inside'", "'inside-grid'", "'outside'", "'outside-grid'", "'normal'", "'slow'", "'fast'", "'north'", "'north-east'", "'east'", "'south-east'", "'south'", "'south-west'", "'west'", "'north-west'", "'category'", "'linear'", "'date'", "'logarithmic'", "'pyramid'", "'package'", "'{'", "'}'", "'chart'", "'as'", "'using'", "'bar'", "'line'", "'pie'", "'donut'", "'bubble'", "'gauge'", "'minimum'", "'maximum'", "'tree'", "'upTo'", "'datamart'", "'legend'", "'tooltip'", "'axis'", "'renders'", "'angle'", "'segmentcolor'", "';'", "'@'", "'('", "')'", "','", "']'", "'#'", "'['", "'instanceof'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'new'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'describedBy'", "'selectById'", "'shaded'", "'animated'", "'swapped'", "'stacked'", "'showMarker'", "'trendLine'", "'cursor'", "'zoom'", "'fillZero'", "'filled'", "'empty'", "'multiplier'", "'gradient'", "'transparent'", "'label'", "'hasTicks'", "'intervals'", "'map'", "'collapsible'", "'toggle'", "'replot'", "'always'", "'shortLabel'", "'ns'", "'::'", "'?.'", "'|'", "'var'", "'true'"
     };
     public static final int T__144=144;
     public static final int T__143=143;
@@ -96,7 +98,6 @@
     public static final int T__30=30;
     public static final int T__31=31;
     public static final int T__32=32;
-    public static final int T__154=154;
     public static final int T__151=151;
     public static final int T__150=150;
     public static final int T__153=153;
@@ -9556,10 +9557,10 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==138) ) {
+            if ( (LA5_0==137) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==139) ) {
+            else if ( (LA5_0==138) ) {
                 alt5=2;
             }
             else {
@@ -9656,10 +9657,10 @@
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==143) ) {
+            if ( (LA6_0==142) ) {
                 alt6=1;
             }
-            else if ( (LA6_0==144) ) {
+            else if ( (LA6_0==143) ) {
                 alt6=2;
             }
             else {
@@ -10375,7 +10376,7 @@
             if ( (LA13_0==95) ) {
                 alt13=1;
             }
-            else if ( ((LA13_0>=RULE_STRING && LA13_0<=RULE_DECIMAL)||LA13_0==27||(LA13_0>=34 && LA13_0<=35)||LA13_0==40||(LA13_0>=45 && LA13_0<=50)||LA13_0==72||LA13_0==96||(LA13_0>=100 && LA13_0<=101)||LA13_0==103||LA13_0==105||(LA13_0>=109 && LA13_0<=117)||LA13_0==119||LA13_0==154) ) {
+            else if ( ((LA13_0>=RULE_STRING && LA13_0<=RULE_DECIMAL)||LA13_0==27||(LA13_0>=34 && LA13_0<=35)||LA13_0==40||(LA13_0>=45 && LA13_0<=50)||LA13_0==72||LA13_0==96||(LA13_0>=100 && LA13_0<=101)||LA13_0==103||LA13_0==105||(LA13_0>=109 && LA13_0<=117)||LA13_0==119||LA13_0==153) ) {
                 alt13=2;
             }
             else {
@@ -10463,7 +10464,7 @@
                 {
                 int LA14_1 = input.LA(2);
 
-                if ( (LA14_1==EOF||(LA14_1>=RULE_STRING && LA14_1<=RULE_DECIMAL)||(LA14_1>=14 && LA14_1<=50)||(LA14_1>=72 && LA14_1<=73)||LA14_1==75||LA14_1==94||(LA14_1>=96 && LA14_1<=120)||(LA14_1>=150 && LA14_1<=151)||(LA14_1>=153 && LA14_1<=154)) ) {
+                if ( (LA14_1==EOF||(LA14_1>=RULE_STRING && LA14_1<=RULE_DECIMAL)||(LA14_1>=14 && LA14_1<=50)||(LA14_1>=72 && LA14_1<=73)||LA14_1==75||LA14_1==94||(LA14_1>=96 && LA14_1<=120)||(LA14_1>=149 && LA14_1<=150)||(LA14_1>=152 && LA14_1<=153)) ) {
                     alt14=2;
                 }
                 else if ( (LA14_1==13) ) {
@@ -10482,12 +10483,12 @@
                 {
                 int LA14_2 = input.LA(2);
 
-                if ( (LA14_2==EOF||(LA14_2>=RULE_STRING && LA14_2<=RULE_DECIMAL)||(LA14_2>=14 && LA14_2<=50)||(LA14_2>=72 && LA14_2<=73)||LA14_2==75||LA14_2==94||(LA14_2>=96 && LA14_2<=120)||(LA14_2>=150 && LA14_2<=151)||(LA14_2>=153 && LA14_2<=154)) ) {
-                    alt14=2;
-                }
-                else if ( (LA14_2==13) ) {
+                if ( (LA14_2==13) ) {
                     alt14=1;
                 }
+                else if ( (LA14_2==EOF||(LA14_2>=RULE_STRING && LA14_2<=RULE_DECIMAL)||(LA14_2>=14 && LA14_2<=50)||(LA14_2>=72 && LA14_2<=73)||LA14_2==75||LA14_2==94||(LA14_2>=96 && LA14_2<=120)||(LA14_2>=149 && LA14_2<=150)||(LA14_2>=152 && LA14_2<=153)) ) {
+                    alt14=2;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -10501,12 +10502,12 @@
                 {
                 int LA14_3 = input.LA(2);
 
-                if ( (LA14_3==13) ) {
-                    alt14=1;
-                }
-                else if ( (LA14_3==EOF||(LA14_3>=RULE_STRING && LA14_3<=RULE_DECIMAL)||(LA14_3>=14 && LA14_3<=50)||(LA14_3>=72 && LA14_3<=73)||LA14_3==75||LA14_3==94||(LA14_3>=96 && LA14_3<=120)||(LA14_3>=150 && LA14_3<=151)||(LA14_3>=153 && LA14_3<=154)) ) {
+                if ( (LA14_3==EOF||(LA14_3>=RULE_STRING && LA14_3<=RULE_DECIMAL)||(LA14_3>=14 && LA14_3<=50)||(LA14_3>=72 && LA14_3<=73)||LA14_3==75||LA14_3==94||(LA14_3>=96 && LA14_3<=120)||(LA14_3>=149 && LA14_3<=150)||(LA14_3>=152 && LA14_3<=153)) ) {
                     alt14=2;
                 }
+                else if ( (LA14_3==13) ) {
+                    alt14=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -10520,12 +10521,12 @@
                 {
                 int LA14_4 = input.LA(2);
 
-                if ( (LA14_4==EOF||(LA14_4>=RULE_STRING && LA14_4<=RULE_DECIMAL)||(LA14_4>=14 && LA14_4<=50)||(LA14_4>=72 && LA14_4<=73)||LA14_4==75||LA14_4==94||(LA14_4>=96 && LA14_4<=120)||(LA14_4>=150 && LA14_4<=151)||(LA14_4>=153 && LA14_4<=154)) ) {
-                    alt14=2;
-                }
-                else if ( (LA14_4==13) ) {
+                if ( (LA14_4==13) ) {
                     alt14=1;
                 }
+                else if ( (LA14_4==EOF||(LA14_4>=RULE_STRING && LA14_4<=RULE_DECIMAL)||(LA14_4>=14 && LA14_4<=50)||(LA14_4>=72 && LA14_4<=73)||LA14_4==75||LA14_4==94||(LA14_4>=96 && LA14_4<=120)||(LA14_4>=149 && LA14_4<=150)||(LA14_4>=152 && LA14_4<=153)) ) {
+                    alt14=2;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -10539,12 +10540,12 @@
                 {
                 int LA14_5 = input.LA(2);
 
-                if ( (LA14_5==13) ) {
-                    alt14=1;
-                }
-                else if ( (LA14_5==EOF||(LA14_5>=RULE_STRING && LA14_5<=RULE_DECIMAL)||(LA14_5>=14 && LA14_5<=50)||(LA14_5>=72 && LA14_5<=73)||LA14_5==75||LA14_5==94||(LA14_5>=96 && LA14_5<=120)||(LA14_5>=150 && LA14_5<=151)||(LA14_5>=153 && LA14_5<=154)) ) {
+                if ( (LA14_5==EOF||(LA14_5>=RULE_STRING && LA14_5<=RULE_DECIMAL)||(LA14_5>=14 && LA14_5<=50)||(LA14_5>=72 && LA14_5<=73)||LA14_5==75||LA14_5==94||(LA14_5>=96 && LA14_5<=120)||(LA14_5>=149 && LA14_5<=150)||(LA14_5>=152 && LA14_5<=153)) ) {
                     alt14=2;
                 }
+                else if ( (LA14_5==13) ) {
+                    alt14=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -10580,7 +10581,7 @@
             case 116:
             case 117:
             case 119:
-            case 154:
+            case 153:
                 {
                 alt14=2;
                 }
@@ -11147,7 +11148,7 @@
                 if ( (LA18_2==13) ) {
                     alt18=2;
                 }
-                else if ( (LA18_2==EOF||(LA18_2>=RULE_STRING && LA18_2<=RULE_DECIMAL)||LA18_2==27||(LA18_2>=34 && LA18_2<=35)||LA18_2==40||(LA18_2>=45 && LA18_2<=50)||LA18_2==72||LA18_2==96||(LA18_2>=100 && LA18_2<=101)||LA18_2==103||LA18_2==105||(LA18_2>=109 && LA18_2<=117)||LA18_2==119||LA18_2==154) ) {
+                else if ( (LA18_2==EOF||(LA18_2>=RULE_STRING && LA18_2<=RULE_DECIMAL)||LA18_2==27||(LA18_2>=34 && LA18_2<=35)||LA18_2==40||(LA18_2>=45 && LA18_2<=50)||LA18_2==72||LA18_2==96||(LA18_2>=100 && LA18_2<=101)||LA18_2==103||LA18_2==105||(LA18_2>=109 && LA18_2<=117)||LA18_2==119||LA18_2==153) ) {
                     alt18=4;
                 }
                 else {
@@ -11519,12 +11520,12 @@
             if ( (LA20_0==26) ) {
                 int LA20_1 = input.LA(2);
 
-                if ( (LA20_1==26) ) {
-                    alt20=1;
-                }
-                else if ( (LA20_1==EOF||(LA20_1>=RULE_STRING && LA20_1<=RULE_DECIMAL)||LA20_1==27||(LA20_1>=34 && LA20_1<=35)||LA20_1==40||(LA20_1>=45 && LA20_1<=50)||LA20_1==72||LA20_1==96||(LA20_1>=100 && LA20_1<=101)||LA20_1==103||LA20_1==105||(LA20_1>=109 && LA20_1<=117)||LA20_1==119||LA20_1==154) ) {
+                if ( (LA20_1==EOF||(LA20_1>=RULE_STRING && LA20_1<=RULE_DECIMAL)||LA20_1==27||(LA20_1>=34 && LA20_1<=35)||LA20_1==40||(LA20_1>=45 && LA20_1<=50)||LA20_1==72||LA20_1==96||(LA20_1>=100 && LA20_1<=101)||LA20_1==103||LA20_1==105||(LA20_1>=109 && LA20_1<=117)||LA20_1==119||LA20_1==153) ) {
                     alt20=2;
                 }
+                else if ( (LA20_1==26) ) {
+                    alt20=1;
+                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -11955,7 +11956,7 @@
             if ( ((LA24_0>=34 && LA24_0<=35)||LA24_0==40) ) {
                 alt24=1;
             }
-            else if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_DECIMAL)||LA24_0==27||(LA24_0>=45 && LA24_0<=50)||LA24_0==72||LA24_0==96||(LA24_0>=100 && LA24_0<=101)||LA24_0==103||LA24_0==105||(LA24_0>=109 && LA24_0<=117)||LA24_0==119||LA24_0==154) ) {
+            else if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_DECIMAL)||LA24_0==27||(LA24_0>=45 && LA24_0<=50)||LA24_0==72||LA24_0==96||(LA24_0>=100 && LA24_0<=101)||LA24_0==103||LA24_0==105||(LA24_0>=109 && LA24_0<=117)||LA24_0==119||LA24_0==153) ) {
                 alt24=2;
             }
             else {
@@ -12323,7 +12324,7 @@
             if ( (LA28_0==43) ) {
                 alt28=1;
             }
-            else if ( (LA28_0==150) ) {
+            else if ( (LA28_0==149) ) {
                 alt28=2;
             }
             else {
@@ -12414,12 +12415,12 @@
                 alt29=1;
                 }
                 break;
-            case 151:
+            case 150:
                 {
                 alt29=2;
                 }
                 break;
-            case 150:
+            case 149:
                 {
                 alt29=3;
                 }
@@ -13019,7 +13020,7 @@
                 }
                 break;
             case 50:
-            case 154:
+            case 153:
                 {
                 alt32=3;
                 }
@@ -13535,10 +13536,10 @@
             int alt36=2;
             int LA36_0 = input.LA(1);
 
-            if ( (LA36_0==44||LA36_0==153) ) {
+            if ( (LA36_0==44||LA36_0==152) ) {
                 alt36=1;
             }
-            else if ( ((LA36_0>=RULE_STRING && LA36_0<=RULE_DECIMAL)||LA36_0==27||(LA36_0>=34 && LA36_0<=35)||LA36_0==40||(LA36_0>=45 && LA36_0<=50)||LA36_0==72||LA36_0==96||(LA36_0>=100 && LA36_0<=101)||LA36_0==103||LA36_0==105||(LA36_0>=109 && LA36_0<=117)||LA36_0==119||LA36_0==154) ) {
+            else if ( ((LA36_0>=RULE_STRING && LA36_0<=RULE_DECIMAL)||LA36_0==27||(LA36_0>=34 && LA36_0<=35)||LA36_0==40||(LA36_0>=45 && LA36_0<=50)||LA36_0==72||LA36_0==96||(LA36_0>=100 && LA36_0<=101)||LA36_0==103||LA36_0==105||(LA36_0>=109 && LA36_0<=117)||LA36_0==119||LA36_0==153) ) {
                 alt36=2;
             }
             else {
@@ -13623,7 +13624,7 @@
             int alt37=2;
             int LA37_0 = input.LA(1);
 
-            if ( (LA37_0==153) ) {
+            if ( (LA37_0==152) ) {
                 alt37=1;
             }
             else if ( (LA37_0==44) ) {
@@ -14246,7 +14247,7 @@
             if ( (LA43_0==50) ) {
                 alt43=1;
             }
-            else if ( (LA43_0==154) ) {
+            else if ( (LA43_0==153) ) {
                 alt43=2;
             }
             else {
@@ -17027,7 +17028,7 @@
             // InternalChartDSL.g:4604:1: ( rule__Chart__Group__6__Impl rule__Chart__Group__7 )
             // InternalChartDSL.g:4605:2: rule__Chart__Group__6__Impl rule__Chart__Group__7
             {
-            pushFollow(FOLLOW_15);
+            pushFollow(FOLLOW_14);
             rule__Chart__Group__6__Impl();
 
             state._fsp--;
@@ -17056,34 +17057,45 @@
 
 
     // $ANTLR start "rule__Chart__Group__6__Impl"
-    // InternalChartDSL.g:4612:1: rule__Chart__Group__6__Impl : ( ( rule__Chart__UnorderedGroup_6 ) ) ;
+    // InternalChartDSL.g:4612:1: rule__Chart__Group__6__Impl : ( ( rule__Chart__SelectByIdAssignment_6 )? ) ;
     public final void rule__Chart__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4616:1: ( ( ( rule__Chart__UnorderedGroup_6 ) ) )
-            // InternalChartDSL.g:4617:1: ( ( rule__Chart__UnorderedGroup_6 ) )
+            // InternalChartDSL.g:4616:1: ( ( ( rule__Chart__SelectByIdAssignment_6 )? ) )
+            // InternalChartDSL.g:4617:1: ( ( rule__Chart__SelectByIdAssignment_6 )? )
             {
-            // InternalChartDSL.g:4617:1: ( ( rule__Chart__UnorderedGroup_6 ) )
-            // InternalChartDSL.g:4618:2: ( rule__Chart__UnorderedGroup_6 )
+            // InternalChartDSL.g:4617:1: ( ( rule__Chart__SelectByIdAssignment_6 )? )
+            // InternalChartDSL.g:4618:2: ( rule__Chart__SelectByIdAssignment_6 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getChartAccess().getUnorderedGroup_6()); 
+               before(grammarAccess.getChartAccess().getSelectByIdAssignment_6()); 
             }
-            // InternalChartDSL.g:4619:2: ( rule__Chart__UnorderedGroup_6 )
-            // InternalChartDSL.g:4619:3: rule__Chart__UnorderedGroup_6
-            {
-            pushFollow(FOLLOW_2);
-            rule__Chart__UnorderedGroup_6();
+            // InternalChartDSL.g:4619:2: ( rule__Chart__SelectByIdAssignment_6 )?
+            int alt60=2;
+            int LA60_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA60_0==124) ) {
+                alt60=1;
+            }
+            switch (alt60) {
+                case 1 :
+                    // InternalChartDSL.g:4619:3: rule__Chart__SelectByIdAssignment_6
+                    {
+                    pushFollow(FOLLOW_2);
+                    rule__Chart__SelectByIdAssignment_6();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getChartAccess().getUnorderedGroup_6()); 
+               after(grammarAccess.getChartAccess().getSelectByIdAssignment_6()); 
             }
 
             }
@@ -17156,13 +17168,13 @@
                before(grammarAccess.getChartAccess().getGroup_7()); 
             }
             // InternalChartDSL.g:4645:2: ( rule__Chart__Group_7__0 )?
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            int alt61=2;
+            int LA61_0 = input.LA(1);
 
-            if ( (LA60_0==76) ) {
-                alt60=1;
+            if ( (LA61_0==76) ) {
+                alt61=1;
             }
-            switch (alt60) {
+            switch (alt61) {
                 case 1 :
                     // InternalChartDSL.g:4645:3: rule__Chart__Group_7__0
                     {
@@ -17211,7 +17223,7 @@
             // InternalChartDSL.g:4658:1: ( rule__Chart__Group_3__0__Impl rule__Chart__Group_3__1 )
             // InternalChartDSL.g:4659:2: rule__Chart__Group_3__0__Impl rule__Chart__Group_3__1
             {
-            pushFollow(FOLLOW_16);
+            pushFollow(FOLLOW_15);
             rule__Chart__Group_3__0__Impl();
 
             state._fsp--;
@@ -17374,190 +17386,17 @@
     // $ANTLR end "rule__Chart__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__Chart__Group_6_0__0"
-    // InternalChartDSL.g:4708:1: rule__Chart__Group_6_0__0 : rule__Chart__Group_6_0__0__Impl rule__Chart__Group_6_0__1 ;
-    public final void rule__Chart__Group_6_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalChartDSL.g:4712:1: ( rule__Chart__Group_6_0__0__Impl rule__Chart__Group_6_0__1 )
-            // InternalChartDSL.g:4713:2: rule__Chart__Group_6_0__0__Impl rule__Chart__Group_6_0__1
-            {
-            pushFollow(FOLLOW_17);
-            rule__Chart__Group_6_0__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_2);
-            rule__Chart__Group_6_0__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Chart__Group_6_0__0"
-
-
-    // $ANTLR start "rule__Chart__Group_6_0__0__Impl"
-    // InternalChartDSL.g:4720:1: rule__Chart__Group_6_0__0__Impl : ( ( rule__Chart__PollingAssignment_6_0_0 ) ) ;
-    public final void rule__Chart__Group_6_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalChartDSL.g:4724:1: ( ( ( rule__Chart__PollingAssignment_6_0_0 ) ) )
-            // InternalChartDSL.g:4725:1: ( ( rule__Chart__PollingAssignment_6_0_0 ) )
-            {
-            // InternalChartDSL.g:4725:1: ( ( rule__Chart__PollingAssignment_6_0_0 ) )
-            // InternalChartDSL.g:4726:2: ( rule__Chart__PollingAssignment_6_0_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getChartAccess().getPollingAssignment_6_0_0()); 
-            }
-            // InternalChartDSL.g:4727:2: ( rule__Chart__PollingAssignment_6_0_0 )
-            // InternalChartDSL.g:4727:3: rule__Chart__PollingAssignment_6_0_0
-            {
-            pushFollow(FOLLOW_2);
-            rule__Chart__PollingAssignment_6_0_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getChartAccess().getPollingAssignment_6_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Chart__Group_6_0__0__Impl"
-
-
-    // $ANTLR start "rule__Chart__Group_6_0__1"
-    // InternalChartDSL.g:4735:1: rule__Chart__Group_6_0__1 : rule__Chart__Group_6_0__1__Impl ;
-    public final void rule__Chart__Group_6_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalChartDSL.g:4739:1: ( rule__Chart__Group_6_0__1__Impl )
-            // InternalChartDSL.g:4740:2: rule__Chart__Group_6_0__1__Impl
-            {
-            pushFollow(FOLLOW_2);
-            rule__Chart__Group_6_0__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Chart__Group_6_0__1"
-
-
-    // $ANTLR start "rule__Chart__Group_6_0__1__Impl"
-    // InternalChartDSL.g:4746:1: rule__Chart__Group_6_0__1__Impl : ( ( rule__Chart__PollingTimeAssignment_6_0_1 ) ) ;
-    public final void rule__Chart__Group_6_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-        	
-        try {
-            // InternalChartDSL.g:4750:1: ( ( ( rule__Chart__PollingTimeAssignment_6_0_1 ) ) )
-            // InternalChartDSL.g:4751:1: ( ( rule__Chart__PollingTimeAssignment_6_0_1 ) )
-            {
-            // InternalChartDSL.g:4751:1: ( ( rule__Chart__PollingTimeAssignment_6_0_1 ) )
-            // InternalChartDSL.g:4752:2: ( rule__Chart__PollingTimeAssignment_6_0_1 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getChartAccess().getPollingTimeAssignment_6_0_1()); 
-            }
-            // InternalChartDSL.g:4753:2: ( rule__Chart__PollingTimeAssignment_6_0_1 )
-            // InternalChartDSL.g:4753:3: rule__Chart__PollingTimeAssignment_6_0_1
-            {
-            pushFollow(FOLLOW_2);
-            rule__Chart__PollingTimeAssignment_6_0_1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getChartAccess().getPollingTimeAssignment_6_0_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__Chart__Group_6_0__1__Impl"
-
-
     // $ANTLR start "rule__Chart__Group_7__0"
-    // InternalChartDSL.g:4762:1: rule__Chart__Group_7__0 : rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1 ;
+    // InternalChartDSL.g:4708:1: rule__Chart__Group_7__0 : rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1 ;
     public final void rule__Chart__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4766:1: ( rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1 )
-            // InternalChartDSL.g:4767:2: rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1
+            // InternalChartDSL.g:4712:1: ( rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1 )
+            // InternalChartDSL.g:4713:2: rule__Chart__Group_7__0__Impl rule__Chart__Group_7__1
             {
-            pushFollow(FOLLOW_18);
+            pushFollow(FOLLOW_16);
             rule__Chart__Group_7__0__Impl();
 
             state._fsp--;
@@ -17586,17 +17425,17 @@
 
 
     // $ANTLR start "rule__Chart__Group_7__0__Impl"
-    // InternalChartDSL.g:4774:1: rule__Chart__Group_7__0__Impl : ( 'using' ) ;
+    // InternalChartDSL.g:4720:1: rule__Chart__Group_7__0__Impl : ( 'using' ) ;
     public final void rule__Chart__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4778:1: ( ( 'using' ) )
-            // InternalChartDSL.g:4779:1: ( 'using' )
+            // InternalChartDSL.g:4724:1: ( ( 'using' ) )
+            // InternalChartDSL.g:4725:1: ( 'using' )
             {
-            // InternalChartDSL.g:4779:1: ( 'using' )
-            // InternalChartDSL.g:4780:2: 'using'
+            // InternalChartDSL.g:4725:1: ( 'using' )
+            // InternalChartDSL.g:4726:2: 'using'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAccess().getUsingKeyword_7_0()); 
@@ -17627,14 +17466,14 @@
 
 
     // $ANTLR start "rule__Chart__Group_7__1"
-    // InternalChartDSL.g:4789:1: rule__Chart__Group_7__1 : rule__Chart__Group_7__1__Impl ;
+    // InternalChartDSL.g:4735:1: rule__Chart__Group_7__1 : rule__Chart__Group_7__1__Impl ;
     public final void rule__Chart__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4793:1: ( rule__Chart__Group_7__1__Impl )
-            // InternalChartDSL.g:4794:2: rule__Chart__Group_7__1__Impl
+            // InternalChartDSL.g:4739:1: ( rule__Chart__Group_7__1__Impl )
+            // InternalChartDSL.g:4740:2: rule__Chart__Group_7__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__Chart__Group_7__1__Impl();
@@ -17660,23 +17499,23 @@
 
 
     // $ANTLR start "rule__Chart__Group_7__1__Impl"
-    // InternalChartDSL.g:4800:1: rule__Chart__Group_7__1__Impl : ( ( rule__Chart__SourceAssignment_7_1 ) ) ;
+    // InternalChartDSL.g:4746:1: rule__Chart__Group_7__1__Impl : ( ( rule__Chart__SourceAssignment_7_1 ) ) ;
     public final void rule__Chart__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4804:1: ( ( ( rule__Chart__SourceAssignment_7_1 ) ) )
-            // InternalChartDSL.g:4805:1: ( ( rule__Chart__SourceAssignment_7_1 ) )
+            // InternalChartDSL.g:4750:1: ( ( ( rule__Chart__SourceAssignment_7_1 ) ) )
+            // InternalChartDSL.g:4751:1: ( ( rule__Chart__SourceAssignment_7_1 ) )
             {
-            // InternalChartDSL.g:4805:1: ( ( rule__Chart__SourceAssignment_7_1 ) )
-            // InternalChartDSL.g:4806:2: ( rule__Chart__SourceAssignment_7_1 )
+            // InternalChartDSL.g:4751:1: ( ( rule__Chart__SourceAssignment_7_1 ) )
+            // InternalChartDSL.g:4752:2: ( rule__Chart__SourceAssignment_7_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAccess().getSourceAssignment_7_1()); 
             }
-            // InternalChartDSL.g:4807:2: ( rule__Chart__SourceAssignment_7_1 )
-            // InternalChartDSL.g:4807:3: rule__Chart__SourceAssignment_7_1
+            // InternalChartDSL.g:4753:2: ( rule__Chart__SourceAssignment_7_1 )
+            // InternalChartDSL.g:4753:3: rule__Chart__SourceAssignment_7_1
             {
             pushFollow(FOLLOW_2);
             rule__Chart__SourceAssignment_7_1();
@@ -17711,16 +17550,16 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__0"
-    // InternalChartDSL.g:4816:1: rule__ChartBar__Group__0 : rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1 ;
+    // InternalChartDSL.g:4762:1: rule__ChartBar__Group__0 : rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1 ;
     public final void rule__ChartBar__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4820:1: ( rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1 )
-            // InternalChartDSL.g:4821:2: rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1
+            // InternalChartDSL.g:4766:1: ( rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1 )
+            // InternalChartDSL.g:4767:2: rule__ChartBar__Group__0__Impl rule__ChartBar__Group__1
             {
-            pushFollow(FOLLOW_19);
+            pushFollow(FOLLOW_17);
             rule__ChartBar__Group__0__Impl();
 
             state._fsp--;
@@ -17749,23 +17588,23 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__0__Impl"
-    // InternalChartDSL.g:4828:1: rule__ChartBar__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:4774:1: rule__ChartBar__Group__0__Impl : ( () ) ;
     public final void rule__ChartBar__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4832:1: ( ( () ) )
-            // InternalChartDSL.g:4833:1: ( () )
+            // InternalChartDSL.g:4778:1: ( ( () ) )
+            // InternalChartDSL.g:4779:1: ( () )
             {
-            // InternalChartDSL.g:4833:1: ( () )
-            // InternalChartDSL.g:4834:2: ()
+            // InternalChartDSL.g:4779:1: ( () )
+            // InternalChartDSL.g:4780:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBarAccess().getChartBarAction_0()); 
             }
-            // InternalChartDSL.g:4835:2: ()
-            // InternalChartDSL.g:4835:3: 
+            // InternalChartDSL.g:4781:2: ()
+            // InternalChartDSL.g:4781:3: 
             {
             }
 
@@ -17790,16 +17629,16 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__1"
-    // InternalChartDSL.g:4843:1: rule__ChartBar__Group__1 : rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2 ;
+    // InternalChartDSL.g:4789:1: rule__ChartBar__Group__1 : rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2 ;
     public final void rule__ChartBar__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4847:1: ( rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2 )
-            // InternalChartDSL.g:4848:2: rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2
+            // InternalChartDSL.g:4793:1: ( rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2 )
+            // InternalChartDSL.g:4794:2: rule__ChartBar__Group__1__Impl rule__ChartBar__Group__2
             {
-            pushFollow(FOLLOW_20);
+            pushFollow(FOLLOW_18);
             rule__ChartBar__Group__1__Impl();
 
             state._fsp--;
@@ -17828,17 +17667,17 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__1__Impl"
-    // InternalChartDSL.g:4855:1: rule__ChartBar__Group__1__Impl : ( 'bar' ) ;
+    // InternalChartDSL.g:4801:1: rule__ChartBar__Group__1__Impl : ( 'bar' ) ;
     public final void rule__ChartBar__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4859:1: ( ( 'bar' ) )
-            // InternalChartDSL.g:4860:1: ( 'bar' )
+            // InternalChartDSL.g:4805:1: ( ( 'bar' ) )
+            // InternalChartDSL.g:4806:1: ( 'bar' )
             {
-            // InternalChartDSL.g:4860:1: ( 'bar' )
-            // InternalChartDSL.g:4861:2: 'bar'
+            // InternalChartDSL.g:4806:1: ( 'bar' )
+            // InternalChartDSL.g:4807:2: 'bar'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBarAccess().getBarKeyword_1()); 
@@ -17869,14 +17708,14 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__2"
-    // InternalChartDSL.g:4870:1: rule__ChartBar__Group__2 : rule__ChartBar__Group__2__Impl ;
+    // InternalChartDSL.g:4816:1: rule__ChartBar__Group__2 : rule__ChartBar__Group__2__Impl ;
     public final void rule__ChartBar__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4874:1: ( rule__ChartBar__Group__2__Impl )
-            // InternalChartDSL.g:4875:2: rule__ChartBar__Group__2__Impl
+            // InternalChartDSL.g:4820:1: ( rule__ChartBar__Group__2__Impl )
+            // InternalChartDSL.g:4821:2: rule__ChartBar__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartBar__Group__2__Impl();
@@ -17902,23 +17741,23 @@
 
 
     // $ANTLR start "rule__ChartBar__Group__2__Impl"
-    // InternalChartDSL.g:4881:1: rule__ChartBar__Group__2__Impl : ( ( rule__ChartBar__UnorderedGroup_2 ) ) ;
+    // InternalChartDSL.g:4827:1: rule__ChartBar__Group__2__Impl : ( ( rule__ChartBar__UnorderedGroup_2 ) ) ;
     public final void rule__ChartBar__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4885:1: ( ( ( rule__ChartBar__UnorderedGroup_2 ) ) )
-            // InternalChartDSL.g:4886:1: ( ( rule__ChartBar__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:4831:1: ( ( ( rule__ChartBar__UnorderedGroup_2 ) ) )
+            // InternalChartDSL.g:4832:1: ( ( rule__ChartBar__UnorderedGroup_2 ) )
             {
-            // InternalChartDSL.g:4886:1: ( ( rule__ChartBar__UnorderedGroup_2 ) )
-            // InternalChartDSL.g:4887:2: ( rule__ChartBar__UnorderedGroup_2 )
+            // InternalChartDSL.g:4832:1: ( ( rule__ChartBar__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:4833:2: ( rule__ChartBar__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBarAccess().getUnorderedGroup_2()); 
             }
-            // InternalChartDSL.g:4888:2: ( rule__ChartBar__UnorderedGroup_2 )
-            // InternalChartDSL.g:4888:3: rule__ChartBar__UnorderedGroup_2
+            // InternalChartDSL.g:4834:2: ( rule__ChartBar__UnorderedGroup_2 )
+            // InternalChartDSL.g:4834:3: rule__ChartBar__UnorderedGroup_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartBar__UnorderedGroup_2();
@@ -17953,16 +17792,16 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__0"
-    // InternalChartDSL.g:4897:1: rule__ChartLine__Group__0 : rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1 ;
+    // InternalChartDSL.g:4843:1: rule__ChartLine__Group__0 : rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1 ;
     public final void rule__ChartLine__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4901:1: ( rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1 )
-            // InternalChartDSL.g:4902:2: rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1
+            // InternalChartDSL.g:4847:1: ( rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1 )
+            // InternalChartDSL.g:4848:2: rule__ChartLine__Group__0__Impl rule__ChartLine__Group__1
             {
-            pushFollow(FOLLOW_21);
+            pushFollow(FOLLOW_19);
             rule__ChartLine__Group__0__Impl();
 
             state._fsp--;
@@ -17991,23 +17830,23 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__0__Impl"
-    // InternalChartDSL.g:4909:1: rule__ChartLine__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:4855:1: rule__ChartLine__Group__0__Impl : ( () ) ;
     public final void rule__ChartLine__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4913:1: ( ( () ) )
-            // InternalChartDSL.g:4914:1: ( () )
+            // InternalChartDSL.g:4859:1: ( ( () ) )
+            // InternalChartDSL.g:4860:1: ( () )
             {
-            // InternalChartDSL.g:4914:1: ( () )
-            // InternalChartDSL.g:4915:2: ()
+            // InternalChartDSL.g:4860:1: ( () )
+            // InternalChartDSL.g:4861:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getChartLineAction_0()); 
             }
-            // InternalChartDSL.g:4916:2: ()
-            // InternalChartDSL.g:4916:3: 
+            // InternalChartDSL.g:4862:2: ()
+            // InternalChartDSL.g:4862:3: 
             {
             }
 
@@ -18032,16 +17871,16 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__1"
-    // InternalChartDSL.g:4924:1: rule__ChartLine__Group__1 : rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2 ;
+    // InternalChartDSL.g:4870:1: rule__ChartLine__Group__1 : rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2 ;
     public final void rule__ChartLine__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4928:1: ( rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2 )
-            // InternalChartDSL.g:4929:2: rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2
+            // InternalChartDSL.g:4874:1: ( rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2 )
+            // InternalChartDSL.g:4875:2: rule__ChartLine__Group__1__Impl rule__ChartLine__Group__2
             {
-            pushFollow(FOLLOW_22);
+            pushFollow(FOLLOW_20);
             rule__ChartLine__Group__1__Impl();
 
             state._fsp--;
@@ -18070,17 +17909,17 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__1__Impl"
-    // InternalChartDSL.g:4936:1: rule__ChartLine__Group__1__Impl : ( 'line' ) ;
+    // InternalChartDSL.g:4882:1: rule__ChartLine__Group__1__Impl : ( 'line' ) ;
     public final void rule__ChartLine__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4940:1: ( ( 'line' ) )
-            // InternalChartDSL.g:4941:1: ( 'line' )
+            // InternalChartDSL.g:4886:1: ( ( 'line' ) )
+            // InternalChartDSL.g:4887:1: ( 'line' )
             {
-            // InternalChartDSL.g:4941:1: ( 'line' )
-            // InternalChartDSL.g:4942:2: 'line'
+            // InternalChartDSL.g:4887:1: ( 'line' )
+            // InternalChartDSL.g:4888:2: 'line'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getLineKeyword_1()); 
@@ -18111,14 +17950,14 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__2"
-    // InternalChartDSL.g:4951:1: rule__ChartLine__Group__2 : rule__ChartLine__Group__2__Impl ;
+    // InternalChartDSL.g:4897:1: rule__ChartLine__Group__2 : rule__ChartLine__Group__2__Impl ;
     public final void rule__ChartLine__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4955:1: ( rule__ChartLine__Group__2__Impl )
-            // InternalChartDSL.g:4956:2: rule__ChartLine__Group__2__Impl
+            // InternalChartDSL.g:4901:1: ( rule__ChartLine__Group__2__Impl )
+            // InternalChartDSL.g:4902:2: rule__ChartLine__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartLine__Group__2__Impl();
@@ -18144,23 +17983,23 @@
 
 
     // $ANTLR start "rule__ChartLine__Group__2__Impl"
-    // InternalChartDSL.g:4962:1: rule__ChartLine__Group__2__Impl : ( ( rule__ChartLine__UnorderedGroup_2 ) ) ;
+    // InternalChartDSL.g:4908:1: rule__ChartLine__Group__2__Impl : ( ( rule__ChartLine__UnorderedGroup_2 ) ) ;
     public final void rule__ChartLine__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4966:1: ( ( ( rule__ChartLine__UnorderedGroup_2 ) ) )
-            // InternalChartDSL.g:4967:1: ( ( rule__ChartLine__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:4912:1: ( ( ( rule__ChartLine__UnorderedGroup_2 ) ) )
+            // InternalChartDSL.g:4913:1: ( ( rule__ChartLine__UnorderedGroup_2 ) )
             {
-            // InternalChartDSL.g:4967:1: ( ( rule__ChartLine__UnorderedGroup_2 ) )
-            // InternalChartDSL.g:4968:2: ( rule__ChartLine__UnorderedGroup_2 )
+            // InternalChartDSL.g:4913:1: ( ( rule__ChartLine__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:4914:2: ( rule__ChartLine__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getUnorderedGroup_2()); 
             }
-            // InternalChartDSL.g:4969:2: ( rule__ChartLine__UnorderedGroup_2 )
-            // InternalChartDSL.g:4969:3: rule__ChartLine__UnorderedGroup_2
+            // InternalChartDSL.g:4915:2: ( rule__ChartLine__UnorderedGroup_2 )
+            // InternalChartDSL.g:4915:3: rule__ChartLine__UnorderedGroup_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartLine__UnorderedGroup_2();
@@ -18195,16 +18034,16 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__0"
-    // InternalChartDSL.g:4978:1: rule__ChartLine__Group_2_3__0 : rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1 ;
+    // InternalChartDSL.g:4924:1: rule__ChartLine__Group_2_3__0 : rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1 ;
     public final void rule__ChartLine__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4982:1: ( rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1 )
-            // InternalChartDSL.g:4983:2: rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1
+            // InternalChartDSL.g:4928:1: ( rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1 )
+            // InternalChartDSL.g:4929:2: rule__ChartLine__Group_2_3__0__Impl rule__ChartLine__Group_2_3__1
             {
-            pushFollow(FOLLOW_23);
+            pushFollow(FOLLOW_21);
             rule__ChartLine__Group_2_3__0__Impl();
 
             state._fsp--;
@@ -18233,23 +18072,23 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__0__Impl"
-    // InternalChartDSL.g:4990:1: rule__ChartLine__Group_2_3__0__Impl : ( ( rule__ChartLine__CursorAssignment_2_3_0 ) ) ;
+    // InternalChartDSL.g:4936:1: rule__ChartLine__Group_2_3__0__Impl : ( ( rule__ChartLine__CursorAssignment_2_3_0 ) ) ;
     public final void rule__ChartLine__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:4994:1: ( ( ( rule__ChartLine__CursorAssignment_2_3_0 ) ) )
-            // InternalChartDSL.g:4995:1: ( ( rule__ChartLine__CursorAssignment_2_3_0 ) )
+            // InternalChartDSL.g:4940:1: ( ( ( rule__ChartLine__CursorAssignment_2_3_0 ) ) )
+            // InternalChartDSL.g:4941:1: ( ( rule__ChartLine__CursorAssignment_2_3_0 ) )
             {
-            // InternalChartDSL.g:4995:1: ( ( rule__ChartLine__CursorAssignment_2_3_0 ) )
-            // InternalChartDSL.g:4996:2: ( rule__ChartLine__CursorAssignment_2_3_0 )
+            // InternalChartDSL.g:4941:1: ( ( rule__ChartLine__CursorAssignment_2_3_0 ) )
+            // InternalChartDSL.g:4942:2: ( rule__ChartLine__CursorAssignment_2_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getCursorAssignment_2_3_0()); 
             }
-            // InternalChartDSL.g:4997:2: ( rule__ChartLine__CursorAssignment_2_3_0 )
-            // InternalChartDSL.g:4997:3: rule__ChartLine__CursorAssignment_2_3_0
+            // InternalChartDSL.g:4943:2: ( rule__ChartLine__CursorAssignment_2_3_0 )
+            // InternalChartDSL.g:4943:3: rule__ChartLine__CursorAssignment_2_3_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartLine__CursorAssignment_2_3_0();
@@ -18284,16 +18123,16 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__1"
-    // InternalChartDSL.g:5005:1: rule__ChartLine__Group_2_3__1 : rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2 ;
+    // InternalChartDSL.g:4951:1: rule__ChartLine__Group_2_3__1 : rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2 ;
     public final void rule__ChartLine__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5009:1: ( rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2 )
-            // InternalChartDSL.g:5010:2: rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2
+            // InternalChartDSL.g:4955:1: ( rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2 )
+            // InternalChartDSL.g:4956:2: rule__ChartLine__Group_2_3__1__Impl rule__ChartLine__Group_2_3__2
             {
-            pushFollow(FOLLOW_23);
+            pushFollow(FOLLOW_21);
             rule__ChartLine__Group_2_3__1__Impl();
 
             state._fsp--;
@@ -18322,31 +18161,31 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__1__Impl"
-    // InternalChartDSL.g:5017:1: rule__ChartLine__Group_2_3__1__Impl : ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? ) ;
+    // InternalChartDSL.g:4963:1: rule__ChartLine__Group_2_3__1__Impl : ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? ) ;
     public final void rule__ChartLine__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5021:1: ( ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? ) )
-            // InternalChartDSL.g:5022:1: ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? )
+            // InternalChartDSL.g:4967:1: ( ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? ) )
+            // InternalChartDSL.g:4968:1: ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? )
             {
-            // InternalChartDSL.g:5022:1: ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? )
-            // InternalChartDSL.g:5023:2: ( rule__ChartLine__ZoomAssignment_2_3_1 )?
+            // InternalChartDSL.g:4968:1: ( ( rule__ChartLine__ZoomAssignment_2_3_1 )? )
+            // InternalChartDSL.g:4969:2: ( rule__ChartLine__ZoomAssignment_2_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getZoomAssignment_2_3_1()); 
             }
-            // InternalChartDSL.g:5024:2: ( rule__ChartLine__ZoomAssignment_2_3_1 )?
-            int alt61=2;
-            int LA61_0 = input.LA(1);
+            // InternalChartDSL.g:4970:2: ( rule__ChartLine__ZoomAssignment_2_3_1 )?
+            int alt62=2;
+            int LA62_0 = input.LA(1);
 
-            if ( (LA61_0==133) ) {
-                alt61=1;
+            if ( (LA62_0==132) ) {
+                alt62=1;
             }
-            switch (alt61) {
+            switch (alt62) {
                 case 1 :
-                    // InternalChartDSL.g:5024:3: rule__ChartLine__ZoomAssignment_2_3_1
+                    // InternalChartDSL.g:4970:3: rule__ChartLine__ZoomAssignment_2_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartLine__ZoomAssignment_2_3_1();
@@ -18384,14 +18223,14 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__2"
-    // InternalChartDSL.g:5032:1: rule__ChartLine__Group_2_3__2 : rule__ChartLine__Group_2_3__2__Impl ;
+    // InternalChartDSL.g:4978:1: rule__ChartLine__Group_2_3__2 : rule__ChartLine__Group_2_3__2__Impl ;
     public final void rule__ChartLine__Group_2_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5036:1: ( rule__ChartLine__Group_2_3__2__Impl )
-            // InternalChartDSL.g:5037:2: rule__ChartLine__Group_2_3__2__Impl
+            // InternalChartDSL.g:4982:1: ( rule__ChartLine__Group_2_3__2__Impl )
+            // InternalChartDSL.g:4983:2: rule__ChartLine__Group_2_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartLine__Group_2_3__2__Impl();
@@ -18417,31 +18256,31 @@
 
 
     // $ANTLR start "rule__ChartLine__Group_2_3__2__Impl"
-    // InternalChartDSL.g:5043:1: rule__ChartLine__Group_2_3__2__Impl : ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? ) ;
+    // InternalChartDSL.g:4989:1: rule__ChartLine__Group_2_3__2__Impl : ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? ) ;
     public final void rule__ChartLine__Group_2_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5047:1: ( ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? ) )
-            // InternalChartDSL.g:5048:1: ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? )
+            // InternalChartDSL.g:4993:1: ( ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? ) )
+            // InternalChartDSL.g:4994:1: ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? )
             {
-            // InternalChartDSL.g:5048:1: ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? )
-            // InternalChartDSL.g:5049:2: ( rule__ChartLine__TooltipAssignment_2_3_2 )?
+            // InternalChartDSL.g:4994:1: ( ( rule__ChartLine__TooltipAssignment_2_3_2 )? )
+            // InternalChartDSL.g:4995:2: ( rule__ChartLine__TooltipAssignment_2_3_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLineAccess().getTooltipAssignment_2_3_2()); 
             }
-            // InternalChartDSL.g:5050:2: ( rule__ChartLine__TooltipAssignment_2_3_2 )?
-            int alt62=2;
-            int LA62_0 = input.LA(1);
+            // InternalChartDSL.g:4996:2: ( rule__ChartLine__TooltipAssignment_2_3_2 )?
+            int alt63=2;
+            int LA63_0 = input.LA(1);
 
-            if ( (LA62_0==89) ) {
-                alt62=1;
+            if ( (LA63_0==89) ) {
+                alt63=1;
             }
-            switch (alt62) {
+            switch (alt63) {
                 case 1 :
-                    // InternalChartDSL.g:5050:3: rule__ChartLine__TooltipAssignment_2_3_2
+                    // InternalChartDSL.g:4996:3: rule__ChartLine__TooltipAssignment_2_3_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartLine__TooltipAssignment_2_3_2();
@@ -18479,16 +18318,16 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__0"
-    // InternalChartDSL.g:5059:1: rule__ChartPie__Group__0 : rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1 ;
+    // InternalChartDSL.g:5005:1: rule__ChartPie__Group__0 : rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1 ;
     public final void rule__ChartPie__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5063:1: ( rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1 )
-            // InternalChartDSL.g:5064:2: rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1
+            // InternalChartDSL.g:5009:1: ( rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1 )
+            // InternalChartDSL.g:5010:2: rule__ChartPie__Group__0__Impl rule__ChartPie__Group__1
             {
-            pushFollow(FOLLOW_24);
+            pushFollow(FOLLOW_22);
             rule__ChartPie__Group__0__Impl();
 
             state._fsp--;
@@ -18517,23 +18356,23 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__0__Impl"
-    // InternalChartDSL.g:5071:1: rule__ChartPie__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5017:1: rule__ChartPie__Group__0__Impl : ( () ) ;
     public final void rule__ChartPie__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5075:1: ( ( () ) )
-            // InternalChartDSL.g:5076:1: ( () )
+            // InternalChartDSL.g:5021:1: ( ( () ) )
+            // InternalChartDSL.g:5022:1: ( () )
             {
-            // InternalChartDSL.g:5076:1: ( () )
-            // InternalChartDSL.g:5077:2: ()
+            // InternalChartDSL.g:5022:1: ( () )
+            // InternalChartDSL.g:5023:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartPieAccess().getChartPieAction_0()); 
             }
-            // InternalChartDSL.g:5078:2: ()
-            // InternalChartDSL.g:5078:3: 
+            // InternalChartDSL.g:5024:2: ()
+            // InternalChartDSL.g:5024:3: 
             {
             }
 
@@ -18558,16 +18397,16 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__1"
-    // InternalChartDSL.g:5086:1: rule__ChartPie__Group__1 : rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2 ;
+    // InternalChartDSL.g:5032:1: rule__ChartPie__Group__1 : rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2 ;
     public final void rule__ChartPie__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5090:1: ( rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2 )
-            // InternalChartDSL.g:5091:2: rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2
+            // InternalChartDSL.g:5036:1: ( rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2 )
+            // InternalChartDSL.g:5037:2: rule__ChartPie__Group__1__Impl rule__ChartPie__Group__2
             {
-            pushFollow(FOLLOW_25);
+            pushFollow(FOLLOW_23);
             rule__ChartPie__Group__1__Impl();
 
             state._fsp--;
@@ -18596,17 +18435,17 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__1__Impl"
-    // InternalChartDSL.g:5098:1: rule__ChartPie__Group__1__Impl : ( 'pie' ) ;
+    // InternalChartDSL.g:5044:1: rule__ChartPie__Group__1__Impl : ( 'pie' ) ;
     public final void rule__ChartPie__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5102:1: ( ( 'pie' ) )
-            // InternalChartDSL.g:5103:1: ( 'pie' )
+            // InternalChartDSL.g:5048:1: ( ( 'pie' ) )
+            // InternalChartDSL.g:5049:1: ( 'pie' )
             {
-            // InternalChartDSL.g:5103:1: ( 'pie' )
-            // InternalChartDSL.g:5104:2: 'pie'
+            // InternalChartDSL.g:5049:1: ( 'pie' )
+            // InternalChartDSL.g:5050:2: 'pie'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartPieAccess().getPieKeyword_1()); 
@@ -18637,14 +18476,14 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__2"
-    // InternalChartDSL.g:5113:1: rule__ChartPie__Group__2 : rule__ChartPie__Group__2__Impl ;
+    // InternalChartDSL.g:5059:1: rule__ChartPie__Group__2 : rule__ChartPie__Group__2__Impl ;
     public final void rule__ChartPie__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5117:1: ( rule__ChartPie__Group__2__Impl )
-            // InternalChartDSL.g:5118:2: rule__ChartPie__Group__2__Impl
+            // InternalChartDSL.g:5063:1: ( rule__ChartPie__Group__2__Impl )
+            // InternalChartDSL.g:5064:2: rule__ChartPie__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartPie__Group__2__Impl();
@@ -18670,31 +18509,31 @@
 
 
     // $ANTLR start "rule__ChartPie__Group__2__Impl"
-    // InternalChartDSL.g:5124:1: rule__ChartPie__Group__2__Impl : ( ( rule__ChartPie__EmptyAssignment_2 )? ) ;
+    // InternalChartDSL.g:5070:1: rule__ChartPie__Group__2__Impl : ( ( rule__ChartPie__EmptyAssignment_2 )? ) ;
     public final void rule__ChartPie__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5128:1: ( ( ( rule__ChartPie__EmptyAssignment_2 )? ) )
-            // InternalChartDSL.g:5129:1: ( ( rule__ChartPie__EmptyAssignment_2 )? )
+            // InternalChartDSL.g:5074:1: ( ( ( rule__ChartPie__EmptyAssignment_2 )? ) )
+            // InternalChartDSL.g:5075:1: ( ( rule__ChartPie__EmptyAssignment_2 )? )
             {
-            // InternalChartDSL.g:5129:1: ( ( rule__ChartPie__EmptyAssignment_2 )? )
-            // InternalChartDSL.g:5130:2: ( rule__ChartPie__EmptyAssignment_2 )?
+            // InternalChartDSL.g:5075:1: ( ( rule__ChartPie__EmptyAssignment_2 )? )
+            // InternalChartDSL.g:5076:2: ( rule__ChartPie__EmptyAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartPieAccess().getEmptyAssignment_2()); 
             }
-            // InternalChartDSL.g:5131:2: ( rule__ChartPie__EmptyAssignment_2 )?
-            int alt63=2;
-            int LA63_0 = input.LA(1);
+            // InternalChartDSL.g:5077:2: ( rule__ChartPie__EmptyAssignment_2 )?
+            int alt64=2;
+            int LA64_0 = input.LA(1);
 
-            if ( (LA63_0==136) ) {
-                alt63=1;
+            if ( (LA64_0==135) ) {
+                alt64=1;
             }
-            switch (alt63) {
+            switch (alt64) {
                 case 1 :
-                    // InternalChartDSL.g:5131:3: rule__ChartPie__EmptyAssignment_2
+                    // InternalChartDSL.g:5077:3: rule__ChartPie__EmptyAssignment_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartPie__EmptyAssignment_2();
@@ -18732,16 +18571,16 @@
 
 
     // $ANTLR start "rule__ChartDonut__Group__0"
-    // InternalChartDSL.g:5140:1: rule__ChartDonut__Group__0 : rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1 ;
+    // InternalChartDSL.g:5086:1: rule__ChartDonut__Group__0 : rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1 ;
     public final void rule__ChartDonut__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5144:1: ( rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1 )
-            // InternalChartDSL.g:5145:2: rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1
+            // InternalChartDSL.g:5090:1: ( rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1 )
+            // InternalChartDSL.g:5091:2: rule__ChartDonut__Group__0__Impl rule__ChartDonut__Group__1
             {
-            pushFollow(FOLLOW_26);
+            pushFollow(FOLLOW_24);
             rule__ChartDonut__Group__0__Impl();
 
             state._fsp--;
@@ -18770,23 +18609,23 @@
 
 
     // $ANTLR start "rule__ChartDonut__Group__0__Impl"
-    // InternalChartDSL.g:5152:1: rule__ChartDonut__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5098:1: rule__ChartDonut__Group__0__Impl : ( () ) ;
     public final void rule__ChartDonut__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5156:1: ( ( () ) )
-            // InternalChartDSL.g:5157:1: ( () )
+            // InternalChartDSL.g:5102:1: ( ( () ) )
+            // InternalChartDSL.g:5103:1: ( () )
             {
-            // InternalChartDSL.g:5157:1: ( () )
-            // InternalChartDSL.g:5158:2: ()
+            // InternalChartDSL.g:5103:1: ( () )
+            // InternalChartDSL.g:5104:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDonutAccess().getChartDonutAction_0()); 
             }
-            // InternalChartDSL.g:5159:2: ()
-            // InternalChartDSL.g:5159:3: 
+            // InternalChartDSL.g:5105:2: ()
+            // InternalChartDSL.g:5105:3: 
             {
             }
 
@@ -18811,14 +18650,14 @@
 
 
     // $ANTLR start "rule__ChartDonut__Group__1"
-    // InternalChartDSL.g:5167:1: rule__ChartDonut__Group__1 : rule__ChartDonut__Group__1__Impl ;
+    // InternalChartDSL.g:5113:1: rule__ChartDonut__Group__1 : rule__ChartDonut__Group__1__Impl ;
     public final void rule__ChartDonut__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5171:1: ( rule__ChartDonut__Group__1__Impl )
-            // InternalChartDSL.g:5172:2: rule__ChartDonut__Group__1__Impl
+            // InternalChartDSL.g:5117:1: ( rule__ChartDonut__Group__1__Impl )
+            // InternalChartDSL.g:5118:2: rule__ChartDonut__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartDonut__Group__1__Impl();
@@ -18844,17 +18683,17 @@
 
 
     // $ANTLR start "rule__ChartDonut__Group__1__Impl"
-    // InternalChartDSL.g:5178:1: rule__ChartDonut__Group__1__Impl : ( 'donut' ) ;
+    // InternalChartDSL.g:5124:1: rule__ChartDonut__Group__1__Impl : ( 'donut' ) ;
     public final void rule__ChartDonut__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5182:1: ( ( 'donut' ) )
-            // InternalChartDSL.g:5183:1: ( 'donut' )
+            // InternalChartDSL.g:5128:1: ( ( 'donut' ) )
+            // InternalChartDSL.g:5129:1: ( 'donut' )
             {
-            // InternalChartDSL.g:5183:1: ( 'donut' )
-            // InternalChartDSL.g:5184:2: 'donut'
+            // InternalChartDSL.g:5129:1: ( 'donut' )
+            // InternalChartDSL.g:5130:2: 'donut'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDonutAccess().getDonutKeyword_1()); 
@@ -18885,16 +18724,16 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__0"
-    // InternalChartDSL.g:5194:1: rule__ChartBubble__Group__0 : rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1 ;
+    // InternalChartDSL.g:5140:1: rule__ChartBubble__Group__0 : rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1 ;
     public final void rule__ChartBubble__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5198:1: ( rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1 )
-            // InternalChartDSL.g:5199:2: rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1
+            // InternalChartDSL.g:5144:1: ( rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1 )
+            // InternalChartDSL.g:5145:2: rule__ChartBubble__Group__0__Impl rule__ChartBubble__Group__1
             {
-            pushFollow(FOLLOW_27);
+            pushFollow(FOLLOW_25);
             rule__ChartBubble__Group__0__Impl();
 
             state._fsp--;
@@ -18923,23 +18762,23 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__0__Impl"
-    // InternalChartDSL.g:5206:1: rule__ChartBubble__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5152:1: rule__ChartBubble__Group__0__Impl : ( () ) ;
     public final void rule__ChartBubble__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5210:1: ( ( () ) )
-            // InternalChartDSL.g:5211:1: ( () )
+            // InternalChartDSL.g:5156:1: ( ( () ) )
+            // InternalChartDSL.g:5157:1: ( () )
             {
-            // InternalChartDSL.g:5211:1: ( () )
-            // InternalChartDSL.g:5212:2: ()
+            // InternalChartDSL.g:5157:1: ( () )
+            // InternalChartDSL.g:5158:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBubbleAccess().getChartBubbleAction_0()); 
             }
-            // InternalChartDSL.g:5213:2: ()
-            // InternalChartDSL.g:5213:3: 
+            // InternalChartDSL.g:5159:2: ()
+            // InternalChartDSL.g:5159:3: 
             {
             }
 
@@ -18964,16 +18803,16 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__1"
-    // InternalChartDSL.g:5221:1: rule__ChartBubble__Group__1 : rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2 ;
+    // InternalChartDSL.g:5167:1: rule__ChartBubble__Group__1 : rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2 ;
     public final void rule__ChartBubble__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5225:1: ( rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2 )
-            // InternalChartDSL.g:5226:2: rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2
+            // InternalChartDSL.g:5171:1: ( rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2 )
+            // InternalChartDSL.g:5172:2: rule__ChartBubble__Group__1__Impl rule__ChartBubble__Group__2
             {
-            pushFollow(FOLLOW_28);
+            pushFollow(FOLLOW_26);
             rule__ChartBubble__Group__1__Impl();
 
             state._fsp--;
@@ -19002,17 +18841,17 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__1__Impl"
-    // InternalChartDSL.g:5233:1: rule__ChartBubble__Group__1__Impl : ( 'bubble' ) ;
+    // InternalChartDSL.g:5179:1: rule__ChartBubble__Group__1__Impl : ( 'bubble' ) ;
     public final void rule__ChartBubble__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5237:1: ( ( 'bubble' ) )
-            // InternalChartDSL.g:5238:1: ( 'bubble' )
+            // InternalChartDSL.g:5183:1: ( ( 'bubble' ) )
+            // InternalChartDSL.g:5184:1: ( 'bubble' )
             {
-            // InternalChartDSL.g:5238:1: ( 'bubble' )
-            // InternalChartDSL.g:5239:2: 'bubble'
+            // InternalChartDSL.g:5184:1: ( 'bubble' )
+            // InternalChartDSL.g:5185:2: 'bubble'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBubbleAccess().getBubbleKeyword_1()); 
@@ -19043,14 +18882,14 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__2"
-    // InternalChartDSL.g:5248:1: rule__ChartBubble__Group__2 : rule__ChartBubble__Group__2__Impl ;
+    // InternalChartDSL.g:5194:1: rule__ChartBubble__Group__2 : rule__ChartBubble__Group__2__Impl ;
     public final void rule__ChartBubble__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5252:1: ( rule__ChartBubble__Group__2__Impl )
-            // InternalChartDSL.g:5253:2: rule__ChartBubble__Group__2__Impl
+            // InternalChartDSL.g:5198:1: ( rule__ChartBubble__Group__2__Impl )
+            // InternalChartDSL.g:5199:2: rule__ChartBubble__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartBubble__Group__2__Impl();
@@ -19076,37 +18915,37 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group__2__Impl"
-    // InternalChartDSL.g:5259:1: rule__ChartBubble__Group__2__Impl : ( ( rule__ChartBubble__UnorderedGroup_2 )? ) ;
+    // InternalChartDSL.g:5205:1: rule__ChartBubble__Group__2__Impl : ( ( rule__ChartBubble__UnorderedGroup_2 )? ) ;
     public final void rule__ChartBubble__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5263:1: ( ( ( rule__ChartBubble__UnorderedGroup_2 )? ) )
-            // InternalChartDSL.g:5264:1: ( ( rule__ChartBubble__UnorderedGroup_2 )? )
+            // InternalChartDSL.g:5209:1: ( ( ( rule__ChartBubble__UnorderedGroup_2 )? ) )
+            // InternalChartDSL.g:5210:1: ( ( rule__ChartBubble__UnorderedGroup_2 )? )
             {
-            // InternalChartDSL.g:5264:1: ( ( rule__ChartBubble__UnorderedGroup_2 )? )
-            // InternalChartDSL.g:5265:2: ( rule__ChartBubble__UnorderedGroup_2 )?
+            // InternalChartDSL.g:5210:1: ( ( rule__ChartBubble__UnorderedGroup_2 )? )
+            // InternalChartDSL.g:5211:2: ( rule__ChartBubble__UnorderedGroup_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2()); 
             }
-            // InternalChartDSL.g:5266:2: ( rule__ChartBubble__UnorderedGroup_2 )?
-            int alt64=2;
-            int LA64_0 = input.LA(1);
+            // InternalChartDSL.g:5212:2: ( rule__ChartBubble__UnorderedGroup_2 )?
+            int alt65=2;
+            int LA65_0 = input.LA(1);
 
-            if ( LA64_0 == 137 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 0) ) {
-                alt64=1;
+            if ( LA65_0 == 136 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 0) ) {
+                alt65=1;
             }
-            else if ( LA64_0 == 138 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1) ) {
-                alt64=1;
+            else if ( LA65_0 == 137 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1) ) {
+                alt65=1;
             }
-            else if ( LA64_0 == 139 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1) ) {
-                alt64=1;
+            else if ( LA65_0 == 138 && getUnorderedGroupHelper().canSelect(grammarAccess.getChartBubbleAccess().getUnorderedGroup_2(), 1) ) {
+                alt65=1;
             }
-            switch (alt64) {
+            switch (alt65) {
                 case 1 :
-                    // InternalChartDSL.g:5266:3: rule__ChartBubble__UnorderedGroup_2
+                    // InternalChartDSL.g:5212:3: rule__ChartBubble__UnorderedGroup_2
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartBubble__UnorderedGroup_2();
@@ -19144,16 +18983,16 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group_2_0__0"
-    // InternalChartDSL.g:5275:1: rule__ChartBubble__Group_2_0__0 : rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1 ;
+    // InternalChartDSL.g:5221:1: rule__ChartBubble__Group_2_0__0 : rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1 ;
     public final void rule__ChartBubble__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5279:1: ( rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1 )
-            // InternalChartDSL.g:5280:2: rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1
+            // InternalChartDSL.g:5225:1: ( rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1 )
+            // InternalChartDSL.g:5226:2: rule__ChartBubble__Group_2_0__0__Impl rule__ChartBubble__Group_2_0__1
             {
-            pushFollow(FOLLOW_29);
+            pushFollow(FOLLOW_27);
             rule__ChartBubble__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -19182,23 +19021,23 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group_2_0__0__Impl"
-    // InternalChartDSL.g:5287:1: rule__ChartBubble__Group_2_0__0__Impl : ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) ) ;
+    // InternalChartDSL.g:5233:1: rule__ChartBubble__Group_2_0__0__Impl : ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) ) ;
     public final void rule__ChartBubble__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5291:1: ( ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) ) )
-            // InternalChartDSL.g:5292:1: ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) )
+            // InternalChartDSL.g:5237:1: ( ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) ) )
+            // InternalChartDSL.g:5238:1: ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) )
             {
-            // InternalChartDSL.g:5292:1: ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) )
-            // InternalChartDSL.g:5293:2: ( rule__ChartBubble__MultiplierAssignment_2_0_0 )
+            // InternalChartDSL.g:5238:1: ( ( rule__ChartBubble__MultiplierAssignment_2_0_0 ) )
+            // InternalChartDSL.g:5239:2: ( rule__ChartBubble__MultiplierAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBubbleAccess().getMultiplierAssignment_2_0_0()); 
             }
-            // InternalChartDSL.g:5294:2: ( rule__ChartBubble__MultiplierAssignment_2_0_0 )
-            // InternalChartDSL.g:5294:3: rule__ChartBubble__MultiplierAssignment_2_0_0
+            // InternalChartDSL.g:5240:2: ( rule__ChartBubble__MultiplierAssignment_2_0_0 )
+            // InternalChartDSL.g:5240:3: rule__ChartBubble__MultiplierAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartBubble__MultiplierAssignment_2_0_0();
@@ -19233,14 +19072,14 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group_2_0__1"
-    // InternalChartDSL.g:5302:1: rule__ChartBubble__Group_2_0__1 : rule__ChartBubble__Group_2_0__1__Impl ;
+    // InternalChartDSL.g:5248:1: rule__ChartBubble__Group_2_0__1 : rule__ChartBubble__Group_2_0__1__Impl ;
     public final void rule__ChartBubble__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5306:1: ( rule__ChartBubble__Group_2_0__1__Impl )
-            // InternalChartDSL.g:5307:2: rule__ChartBubble__Group_2_0__1__Impl
+            // InternalChartDSL.g:5252:1: ( rule__ChartBubble__Group_2_0__1__Impl )
+            // InternalChartDSL.g:5253:2: rule__ChartBubble__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartBubble__Group_2_0__1__Impl();
@@ -19266,23 +19105,23 @@
 
 
     // $ANTLR start "rule__ChartBubble__Group_2_0__1__Impl"
-    // InternalChartDSL.g:5313:1: rule__ChartBubble__Group_2_0__1__Impl : ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) ) ;
+    // InternalChartDSL.g:5259:1: rule__ChartBubble__Group_2_0__1__Impl : ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) ) ;
     public final void rule__ChartBubble__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5317:1: ( ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) ) )
-            // InternalChartDSL.g:5318:1: ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) )
+            // InternalChartDSL.g:5263:1: ( ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) ) )
+            // InternalChartDSL.g:5264:1: ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) )
             {
-            // InternalChartDSL.g:5318:1: ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) )
-            // InternalChartDSL.g:5319:2: ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 )
+            // InternalChartDSL.g:5264:1: ( ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 ) )
+            // InternalChartDSL.g:5265:2: ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartBubbleAccess().getMultiplierValueAssignment_2_0_1()); 
             }
-            // InternalChartDSL.g:5320:2: ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 )
-            // InternalChartDSL.g:5320:3: rule__ChartBubble__MultiplierValueAssignment_2_0_1
+            // InternalChartDSL.g:5266:2: ( rule__ChartBubble__MultiplierValueAssignment_2_0_1 )
+            // InternalChartDSL.g:5266:3: rule__ChartBubble__MultiplierValueAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartBubble__MultiplierValueAssignment_2_0_1();
@@ -19317,16 +19156,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__0"
-    // InternalChartDSL.g:5329:1: rule__ChartGauge__Group__0 : rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1 ;
+    // InternalChartDSL.g:5275:1: rule__ChartGauge__Group__0 : rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1 ;
     public final void rule__ChartGauge__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5333:1: ( rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1 )
-            // InternalChartDSL.g:5334:2: rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1
+            // InternalChartDSL.g:5279:1: ( rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1 )
+            // InternalChartDSL.g:5280:2: rule__ChartGauge__Group__0__Impl rule__ChartGauge__Group__1
             {
-            pushFollow(FOLLOW_30);
+            pushFollow(FOLLOW_28);
             rule__ChartGauge__Group__0__Impl();
 
             state._fsp--;
@@ -19355,23 +19194,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__0__Impl"
-    // InternalChartDSL.g:5341:1: rule__ChartGauge__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5287:1: rule__ChartGauge__Group__0__Impl : ( () ) ;
     public final void rule__ChartGauge__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5345:1: ( ( () ) )
-            // InternalChartDSL.g:5346:1: ( () )
+            // InternalChartDSL.g:5291:1: ( ( () ) )
+            // InternalChartDSL.g:5292:1: ( () )
             {
-            // InternalChartDSL.g:5346:1: ( () )
-            // InternalChartDSL.g:5347:2: ()
+            // InternalChartDSL.g:5292:1: ( () )
+            // InternalChartDSL.g:5293:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getChartGaugeAction_0()); 
             }
-            // InternalChartDSL.g:5348:2: ()
-            // InternalChartDSL.g:5348:3: 
+            // InternalChartDSL.g:5294:2: ()
+            // InternalChartDSL.g:5294:3: 
             {
             }
 
@@ -19396,16 +19235,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__1"
-    // InternalChartDSL.g:5356:1: rule__ChartGauge__Group__1 : rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2 ;
+    // InternalChartDSL.g:5302:1: rule__ChartGauge__Group__1 : rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2 ;
     public final void rule__ChartGauge__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5360:1: ( rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2 )
-            // InternalChartDSL.g:5361:2: rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2
+            // InternalChartDSL.g:5306:1: ( rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2 )
+            // InternalChartDSL.g:5307:2: rule__ChartGauge__Group__1__Impl rule__ChartGauge__Group__2
             {
-            pushFollow(FOLLOW_31);
+            pushFollow(FOLLOW_29);
             rule__ChartGauge__Group__1__Impl();
 
             state._fsp--;
@@ -19434,17 +19273,17 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__1__Impl"
-    // InternalChartDSL.g:5368:1: rule__ChartGauge__Group__1__Impl : ( 'gauge' ) ;
+    // InternalChartDSL.g:5314:1: rule__ChartGauge__Group__1__Impl : ( 'gauge' ) ;
     public final void rule__ChartGauge__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5372:1: ( ( 'gauge' ) )
-            // InternalChartDSL.g:5373:1: ( 'gauge' )
+            // InternalChartDSL.g:5318:1: ( ( 'gauge' ) )
+            // InternalChartDSL.g:5319:1: ( 'gauge' )
             {
-            // InternalChartDSL.g:5373:1: ( 'gauge' )
-            // InternalChartDSL.g:5374:2: 'gauge'
+            // InternalChartDSL.g:5319:1: ( 'gauge' )
+            // InternalChartDSL.g:5320:2: 'gauge'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getGaugeKeyword_1()); 
@@ -19475,14 +19314,14 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__2"
-    // InternalChartDSL.g:5383:1: rule__ChartGauge__Group__2 : rule__ChartGauge__Group__2__Impl ;
+    // InternalChartDSL.g:5329:1: rule__ChartGauge__Group__2 : rule__ChartGauge__Group__2__Impl ;
     public final void rule__ChartGauge__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5387:1: ( rule__ChartGauge__Group__2__Impl )
-            // InternalChartDSL.g:5388:2: rule__ChartGauge__Group__2__Impl
+            // InternalChartDSL.g:5333:1: ( rule__ChartGauge__Group__2__Impl )
+            // InternalChartDSL.g:5334:2: rule__ChartGauge__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__Group__2__Impl();
@@ -19508,23 +19347,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group__2__Impl"
-    // InternalChartDSL.g:5394:1: rule__ChartGauge__Group__2__Impl : ( ( rule__ChartGauge__UnorderedGroup_2 ) ) ;
+    // InternalChartDSL.g:5340:1: rule__ChartGauge__Group__2__Impl : ( ( rule__ChartGauge__UnorderedGroup_2 ) ) ;
     public final void rule__ChartGauge__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5398:1: ( ( ( rule__ChartGauge__UnorderedGroup_2 ) ) )
-            // InternalChartDSL.g:5399:1: ( ( rule__ChartGauge__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:5344:1: ( ( ( rule__ChartGauge__UnorderedGroup_2 ) ) )
+            // InternalChartDSL.g:5345:1: ( ( rule__ChartGauge__UnorderedGroup_2 ) )
             {
-            // InternalChartDSL.g:5399:1: ( ( rule__ChartGauge__UnorderedGroup_2 ) )
-            // InternalChartDSL.g:5400:2: ( rule__ChartGauge__UnorderedGroup_2 )
+            // InternalChartDSL.g:5345:1: ( ( rule__ChartGauge__UnorderedGroup_2 ) )
+            // InternalChartDSL.g:5346:2: ( rule__ChartGauge__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getUnorderedGroup_2()); 
             }
-            // InternalChartDSL.g:5401:2: ( rule__ChartGauge__UnorderedGroup_2 )
-            // InternalChartDSL.g:5401:3: rule__ChartGauge__UnorderedGroup_2
+            // InternalChartDSL.g:5347:2: ( rule__ChartGauge__UnorderedGroup_2 )
+            // InternalChartDSL.g:5347:3: rule__ChartGauge__UnorderedGroup_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__UnorderedGroup_2();
@@ -19559,16 +19398,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_0__0"
-    // InternalChartDSL.g:5410:1: rule__ChartGauge__Group_2_0__0 : rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1 ;
+    // InternalChartDSL.g:5356:1: rule__ChartGauge__Group_2_0__0 : rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1 ;
     public final void rule__ChartGauge__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5414:1: ( rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1 )
-            // InternalChartDSL.g:5415:2: rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1
+            // InternalChartDSL.g:5360:1: ( rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1 )
+            // InternalChartDSL.g:5361:2: rule__ChartGauge__Group_2_0__0__Impl rule__ChartGauge__Group_2_0__1
             {
-            pushFollow(FOLLOW_16);
+            pushFollow(FOLLOW_15);
             rule__ChartGauge__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -19597,23 +19436,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_0__0__Impl"
-    // InternalChartDSL.g:5422:1: rule__ChartGauge__Group_2_0__0__Impl : ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) ) ;
+    // InternalChartDSL.g:5368:1: rule__ChartGauge__Group_2_0__0__Impl : ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) ) ;
     public final void rule__ChartGauge__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5426:1: ( ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) ) )
-            // InternalChartDSL.g:5427:1: ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) )
+            // InternalChartDSL.g:5372:1: ( ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) ) )
+            // InternalChartDSL.g:5373:1: ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) )
             {
-            // InternalChartDSL.g:5427:1: ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) )
-            // InternalChartDSL.g:5428:2: ( rule__ChartGauge__LabeledAssignment_2_0_0 )
+            // InternalChartDSL.g:5373:1: ( ( rule__ChartGauge__LabeledAssignment_2_0_0 ) )
+            // InternalChartDSL.g:5374:2: ( rule__ChartGauge__LabeledAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getLabeledAssignment_2_0_0()); 
             }
-            // InternalChartDSL.g:5429:2: ( rule__ChartGauge__LabeledAssignment_2_0_0 )
-            // InternalChartDSL.g:5429:3: rule__ChartGauge__LabeledAssignment_2_0_0
+            // InternalChartDSL.g:5375:2: ( rule__ChartGauge__LabeledAssignment_2_0_0 )
+            // InternalChartDSL.g:5375:3: rule__ChartGauge__LabeledAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__LabeledAssignment_2_0_0();
@@ -19648,14 +19487,14 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_0__1"
-    // InternalChartDSL.g:5437:1: rule__ChartGauge__Group_2_0__1 : rule__ChartGauge__Group_2_0__1__Impl ;
+    // InternalChartDSL.g:5383:1: rule__ChartGauge__Group_2_0__1 : rule__ChartGauge__Group_2_0__1__Impl ;
     public final void rule__ChartGauge__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5441:1: ( rule__ChartGauge__Group_2_0__1__Impl )
-            // InternalChartDSL.g:5442:2: rule__ChartGauge__Group_2_0__1__Impl
+            // InternalChartDSL.g:5387:1: ( rule__ChartGauge__Group_2_0__1__Impl )
+            // InternalChartDSL.g:5388:2: rule__ChartGauge__Group_2_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__Group_2_0__1__Impl();
@@ -19681,23 +19520,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_0__1__Impl"
-    // InternalChartDSL.g:5448:1: rule__ChartGauge__Group_2_0__1__Impl : ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) ) ;
+    // InternalChartDSL.g:5394:1: rule__ChartGauge__Group_2_0__1__Impl : ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) ) ;
     public final void rule__ChartGauge__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5452:1: ( ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) ) )
-            // InternalChartDSL.g:5453:1: ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) )
+            // InternalChartDSL.g:5398:1: ( ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) ) )
+            // InternalChartDSL.g:5399:1: ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) )
             {
-            // InternalChartDSL.g:5453:1: ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) )
-            // InternalChartDSL.g:5454:2: ( rule__ChartGauge__LabelValueAssignment_2_0_1 )
+            // InternalChartDSL.g:5399:1: ( ( rule__ChartGauge__LabelValueAssignment_2_0_1 ) )
+            // InternalChartDSL.g:5400:2: ( rule__ChartGauge__LabelValueAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getLabelValueAssignment_2_0_1()); 
             }
-            // InternalChartDSL.g:5455:2: ( rule__ChartGauge__LabelValueAssignment_2_0_1 )
-            // InternalChartDSL.g:5455:3: rule__ChartGauge__LabelValueAssignment_2_0_1
+            // InternalChartDSL.g:5401:2: ( rule__ChartGauge__LabelValueAssignment_2_0_1 )
+            // InternalChartDSL.g:5401:3: rule__ChartGauge__LabelValueAssignment_2_0_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__LabelValueAssignment_2_0_1();
@@ -19732,16 +19571,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__0"
-    // InternalChartDSL.g:5464:1: rule__ChartGauge__Group_2_1__0 : rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1 ;
+    // InternalChartDSL.g:5410:1: rule__ChartGauge__Group_2_1__0 : rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1 ;
     public final void rule__ChartGauge__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5468:1: ( rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1 )
-            // InternalChartDSL.g:5469:2: rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1
+            // InternalChartDSL.g:5414:1: ( rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1 )
+            // InternalChartDSL.g:5415:2: rule__ChartGauge__Group_2_1__0__Impl rule__ChartGauge__Group_2_1__1
             {
-            pushFollow(FOLLOW_32);
+            pushFollow(FOLLOW_30);
             rule__ChartGauge__Group_2_1__0__Impl();
 
             state._fsp--;
@@ -19770,23 +19609,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__0__Impl"
-    // InternalChartDSL.g:5476:1: rule__ChartGauge__Group_2_1__0__Impl : ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) ) ;
+    // InternalChartDSL.g:5422:1: rule__ChartGauge__Group_2_1__0__Impl : ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) ) ;
     public final void rule__ChartGauge__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5480:1: ( ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) ) )
-            // InternalChartDSL.g:5481:1: ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) )
+            // InternalChartDSL.g:5426:1: ( ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) ) )
+            // InternalChartDSL.g:5427:1: ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) )
             {
-            // InternalChartDSL.g:5481:1: ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) )
-            // InternalChartDSL.g:5482:2: ( rule__ChartGauge__HasTicksAssignment_2_1_0 )
+            // InternalChartDSL.g:5427:1: ( ( rule__ChartGauge__HasTicksAssignment_2_1_0 ) )
+            // InternalChartDSL.g:5428:2: ( rule__ChartGauge__HasTicksAssignment_2_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getHasTicksAssignment_2_1_0()); 
             }
-            // InternalChartDSL.g:5483:2: ( rule__ChartGauge__HasTicksAssignment_2_1_0 )
-            // InternalChartDSL.g:5483:3: rule__ChartGauge__HasTicksAssignment_2_1_0
+            // InternalChartDSL.g:5429:2: ( rule__ChartGauge__HasTicksAssignment_2_1_0 )
+            // InternalChartDSL.g:5429:3: rule__ChartGauge__HasTicksAssignment_2_1_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__HasTicksAssignment_2_1_0();
@@ -19821,16 +19660,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__1"
-    // InternalChartDSL.g:5491:1: rule__ChartGauge__Group_2_1__1 : rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2 ;
+    // InternalChartDSL.g:5437:1: rule__ChartGauge__Group_2_1__1 : rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2 ;
     public final void rule__ChartGauge__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5495:1: ( rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2 )
-            // InternalChartDSL.g:5496:2: rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2
+            // InternalChartDSL.g:5441:1: ( rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2 )
+            // InternalChartDSL.g:5442:2: rule__ChartGauge__Group_2_1__1__Impl rule__ChartGauge__Group_2_1__2
             {
-            pushFollow(FOLLOW_17);
+            pushFollow(FOLLOW_31);
             rule__ChartGauge__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -19859,17 +19698,17 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__1__Impl"
-    // InternalChartDSL.g:5503:1: rule__ChartGauge__Group_2_1__1__Impl : ( 'minimum' ) ;
+    // InternalChartDSL.g:5449:1: rule__ChartGauge__Group_2_1__1__Impl : ( 'minimum' ) ;
     public final void rule__ChartGauge__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5507:1: ( ( 'minimum' ) )
-            // InternalChartDSL.g:5508:1: ( 'minimum' )
+            // InternalChartDSL.g:5453:1: ( ( 'minimum' ) )
+            // InternalChartDSL.g:5454:1: ( 'minimum' )
             {
-            // InternalChartDSL.g:5508:1: ( 'minimum' )
-            // InternalChartDSL.g:5509:2: 'minimum'
+            // InternalChartDSL.g:5454:1: ( 'minimum' )
+            // InternalChartDSL.g:5455:2: 'minimum'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getMinimumKeyword_2_1_1()); 
@@ -19900,16 +19739,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__2"
-    // InternalChartDSL.g:5518:1: rule__ChartGauge__Group_2_1__2 : rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3 ;
+    // InternalChartDSL.g:5464:1: rule__ChartGauge__Group_2_1__2 : rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3 ;
     public final void rule__ChartGauge__Group_2_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5522:1: ( rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3 )
-            // InternalChartDSL.g:5523:2: rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3
+            // InternalChartDSL.g:5468:1: ( rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3 )
+            // InternalChartDSL.g:5469:2: rule__ChartGauge__Group_2_1__2__Impl rule__ChartGauge__Group_2_1__3
             {
-            pushFollow(FOLLOW_33);
+            pushFollow(FOLLOW_32);
             rule__ChartGauge__Group_2_1__2__Impl();
 
             state._fsp--;
@@ -19938,23 +19777,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__2__Impl"
-    // InternalChartDSL.g:5530:1: rule__ChartGauge__Group_2_1__2__Impl : ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) ) ;
+    // InternalChartDSL.g:5476:1: rule__ChartGauge__Group_2_1__2__Impl : ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) ) ;
     public final void rule__ChartGauge__Group_2_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5534:1: ( ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) ) )
-            // InternalChartDSL.g:5535:1: ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) )
+            // InternalChartDSL.g:5480:1: ( ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) ) )
+            // InternalChartDSL.g:5481:1: ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) )
             {
-            // InternalChartDSL.g:5535:1: ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) )
-            // InternalChartDSL.g:5536:2: ( rule__ChartGauge__MinValueAssignment_2_1_2 )
+            // InternalChartDSL.g:5481:1: ( ( rule__ChartGauge__MinValueAssignment_2_1_2 ) )
+            // InternalChartDSL.g:5482:2: ( rule__ChartGauge__MinValueAssignment_2_1_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getMinValueAssignment_2_1_2()); 
             }
-            // InternalChartDSL.g:5537:2: ( rule__ChartGauge__MinValueAssignment_2_1_2 )
-            // InternalChartDSL.g:5537:3: rule__ChartGauge__MinValueAssignment_2_1_2
+            // InternalChartDSL.g:5483:2: ( rule__ChartGauge__MinValueAssignment_2_1_2 )
+            // InternalChartDSL.g:5483:3: rule__ChartGauge__MinValueAssignment_2_1_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__MinValueAssignment_2_1_2();
@@ -19989,16 +19828,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__3"
-    // InternalChartDSL.g:5545:1: rule__ChartGauge__Group_2_1__3 : rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4 ;
+    // InternalChartDSL.g:5491:1: rule__ChartGauge__Group_2_1__3 : rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4 ;
     public final void rule__ChartGauge__Group_2_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5549:1: ( rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4 )
-            // InternalChartDSL.g:5550:2: rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4
+            // InternalChartDSL.g:5495:1: ( rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4 )
+            // InternalChartDSL.g:5496:2: rule__ChartGauge__Group_2_1__3__Impl rule__ChartGauge__Group_2_1__4
             {
-            pushFollow(FOLLOW_17);
+            pushFollow(FOLLOW_31);
             rule__ChartGauge__Group_2_1__3__Impl();
 
             state._fsp--;
@@ -20027,17 +19866,17 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__3__Impl"
-    // InternalChartDSL.g:5557:1: rule__ChartGauge__Group_2_1__3__Impl : ( 'maximum' ) ;
+    // InternalChartDSL.g:5503:1: rule__ChartGauge__Group_2_1__3__Impl : ( 'maximum' ) ;
     public final void rule__ChartGauge__Group_2_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5561:1: ( ( 'maximum' ) )
-            // InternalChartDSL.g:5562:1: ( 'maximum' )
+            // InternalChartDSL.g:5507:1: ( ( 'maximum' ) )
+            // InternalChartDSL.g:5508:1: ( 'maximum' )
             {
-            // InternalChartDSL.g:5562:1: ( 'maximum' )
-            // InternalChartDSL.g:5563:2: 'maximum'
+            // InternalChartDSL.g:5508:1: ( 'maximum' )
+            // InternalChartDSL.g:5509:2: 'maximum'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getMaximumKeyword_2_1_3()); 
@@ -20068,14 +19907,14 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__4"
-    // InternalChartDSL.g:5572:1: rule__ChartGauge__Group_2_1__4 : rule__ChartGauge__Group_2_1__4__Impl ;
+    // InternalChartDSL.g:5518:1: rule__ChartGauge__Group_2_1__4 : rule__ChartGauge__Group_2_1__4__Impl ;
     public final void rule__ChartGauge__Group_2_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5576:1: ( rule__ChartGauge__Group_2_1__4__Impl )
-            // InternalChartDSL.g:5577:2: rule__ChartGauge__Group_2_1__4__Impl
+            // InternalChartDSL.g:5522:1: ( rule__ChartGauge__Group_2_1__4__Impl )
+            // InternalChartDSL.g:5523:2: rule__ChartGauge__Group_2_1__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__Group_2_1__4__Impl();
@@ -20101,23 +19940,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_1__4__Impl"
-    // InternalChartDSL.g:5583:1: rule__ChartGauge__Group_2_1__4__Impl : ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) ) ;
+    // InternalChartDSL.g:5529:1: rule__ChartGauge__Group_2_1__4__Impl : ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) ) ;
     public final void rule__ChartGauge__Group_2_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5587:1: ( ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) ) )
-            // InternalChartDSL.g:5588:1: ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) )
+            // InternalChartDSL.g:5533:1: ( ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) ) )
+            // InternalChartDSL.g:5534:1: ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) )
             {
-            // InternalChartDSL.g:5588:1: ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) )
-            // InternalChartDSL.g:5589:2: ( rule__ChartGauge__MaxValueAssignment_2_1_4 )
+            // InternalChartDSL.g:5534:1: ( ( rule__ChartGauge__MaxValueAssignment_2_1_4 ) )
+            // InternalChartDSL.g:5535:2: ( rule__ChartGauge__MaxValueAssignment_2_1_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getMaxValueAssignment_2_1_4()); 
             }
-            // InternalChartDSL.g:5590:2: ( rule__ChartGauge__MaxValueAssignment_2_1_4 )
-            // InternalChartDSL.g:5590:3: rule__ChartGauge__MaxValueAssignment_2_1_4
+            // InternalChartDSL.g:5536:2: ( rule__ChartGauge__MaxValueAssignment_2_1_4 )
+            // InternalChartDSL.g:5536:3: rule__ChartGauge__MaxValueAssignment_2_1_4
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__MaxValueAssignment_2_1_4();
@@ -20152,14 +19991,14 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__0"
-    // InternalChartDSL.g:5599:1: rule__ChartGauge__Group_2_2__0 : rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1 ;
+    // InternalChartDSL.g:5545:1: rule__ChartGauge__Group_2_2__0 : rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1 ;
     public final void rule__ChartGauge__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5603:1: ( rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1 )
-            // InternalChartDSL.g:5604:2: rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1
+            // InternalChartDSL.g:5549:1: ( rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1 )
+            // InternalChartDSL.g:5550:2: rule__ChartGauge__Group_2_2__0__Impl rule__ChartGauge__Group_2_2__1
             {
             pushFollow(FOLLOW_8);
             rule__ChartGauge__Group_2_2__0__Impl();
@@ -20190,23 +20029,23 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__0__Impl"
-    // InternalChartDSL.g:5611:1: rule__ChartGauge__Group_2_2__0__Impl : ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) ) ;
+    // InternalChartDSL.g:5557:1: rule__ChartGauge__Group_2_2__0__Impl : ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) ) ;
     public final void rule__ChartGauge__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5615:1: ( ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) ) )
-            // InternalChartDSL.g:5616:1: ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) )
+            // InternalChartDSL.g:5561:1: ( ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) ) )
+            // InternalChartDSL.g:5562:1: ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) )
             {
-            // InternalChartDSL.g:5616:1: ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) )
-            // InternalChartDSL.g:5617:2: ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 )
+            // InternalChartDSL.g:5562:1: ( ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 ) )
+            // InternalChartDSL.g:5563:2: ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getHasIntervalsAssignment_2_2_0()); 
             }
-            // InternalChartDSL.g:5618:2: ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 )
-            // InternalChartDSL.g:5618:3: rule__ChartGauge__HasIntervalsAssignment_2_2_0
+            // InternalChartDSL.g:5564:2: ( rule__ChartGauge__HasIntervalsAssignment_2_2_0 )
+            // InternalChartDSL.g:5564:3: rule__ChartGauge__HasIntervalsAssignment_2_2_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__HasIntervalsAssignment_2_2_0();
@@ -20241,16 +20080,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__1"
-    // InternalChartDSL.g:5626:1: rule__ChartGauge__Group_2_2__1 : rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2 ;
+    // InternalChartDSL.g:5572:1: rule__ChartGauge__Group_2_2__1 : rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2 ;
     public final void rule__ChartGauge__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5630:1: ( rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2 )
-            // InternalChartDSL.g:5631:2: rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2
+            // InternalChartDSL.g:5576:1: ( rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2 )
+            // InternalChartDSL.g:5577:2: rule__ChartGauge__Group_2_2__1__Impl rule__ChartGauge__Group_2_2__2
             {
-            pushFollow(FOLLOW_34);
+            pushFollow(FOLLOW_33);
             rule__ChartGauge__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -20279,17 +20118,17 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__1__Impl"
-    // InternalChartDSL.g:5638:1: rule__ChartGauge__Group_2_2__1__Impl : ( '{' ) ;
+    // InternalChartDSL.g:5584:1: rule__ChartGauge__Group_2_2__1__Impl : ( '{' ) ;
     public final void rule__ChartGauge__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5642:1: ( ( '{' ) )
-            // InternalChartDSL.g:5643:1: ( '{' )
+            // InternalChartDSL.g:5588:1: ( ( '{' ) )
+            // InternalChartDSL.g:5589:1: ( '{' )
             {
-            // InternalChartDSL.g:5643:1: ( '{' )
-            // InternalChartDSL.g:5644:2: '{'
+            // InternalChartDSL.g:5589:1: ( '{' )
+            // InternalChartDSL.g:5590:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getLeftCurlyBracketKeyword_2_2_1()); 
@@ -20320,16 +20159,16 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__2"
-    // InternalChartDSL.g:5653:1: rule__ChartGauge__Group_2_2__2 : rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3 ;
+    // InternalChartDSL.g:5599:1: rule__ChartGauge__Group_2_2__2 : rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3 ;
     public final void rule__ChartGauge__Group_2_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5657:1: ( rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3 )
-            // InternalChartDSL.g:5658:2: rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3
+            // InternalChartDSL.g:5603:1: ( rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3 )
+            // InternalChartDSL.g:5604:2: rule__ChartGauge__Group_2_2__2__Impl rule__ChartGauge__Group_2_2__3
             {
-            pushFollow(FOLLOW_34);
+            pushFollow(FOLLOW_33);
             rule__ChartGauge__Group_2_2__2__Impl();
 
             state._fsp--;
@@ -20358,37 +20197,37 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__2__Impl"
-    // InternalChartDSL.g:5665:1: rule__ChartGauge__Group_2_2__2__Impl : ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* ) ;
+    // InternalChartDSL.g:5611:1: rule__ChartGauge__Group_2_2__2__Impl : ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* ) ;
     public final void rule__ChartGauge__Group_2_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5669:1: ( ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* ) )
-            // InternalChartDSL.g:5670:1: ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* )
+            // InternalChartDSL.g:5615:1: ( ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* ) )
+            // InternalChartDSL.g:5616:1: ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* )
             {
-            // InternalChartDSL.g:5670:1: ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* )
-            // InternalChartDSL.g:5671:2: ( rule__ChartGauge__IntervalsAssignment_2_2_2 )*
+            // InternalChartDSL.g:5616:1: ( ( rule__ChartGauge__IntervalsAssignment_2_2_2 )* )
+            // InternalChartDSL.g:5617:2: ( rule__ChartGauge__IntervalsAssignment_2_2_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getIntervalsAssignment_2_2_2()); 
             }
-            // InternalChartDSL.g:5672:2: ( rule__ChartGauge__IntervalsAssignment_2_2_2 )*
-            loop65:
+            // InternalChartDSL.g:5618:2: ( rule__ChartGauge__IntervalsAssignment_2_2_2 )*
+            loop66:
             do {
-                int alt65=2;
-                int LA65_0 = input.LA(1);
+                int alt66=2;
+                int LA66_0 = input.LA(1);
 
-                if ( (LA65_0==86) ) {
-                    alt65=1;
+                if ( (LA66_0==86) ) {
+                    alt66=1;
                 }
 
 
-                switch (alt65) {
+                switch (alt66) {
             	case 1 :
-            	    // InternalChartDSL.g:5672:3: rule__ChartGauge__IntervalsAssignment_2_2_2
+            	    // InternalChartDSL.g:5618:3: rule__ChartGauge__IntervalsAssignment_2_2_2
             	    {
-            	    pushFollow(FOLLOW_35);
+            	    pushFollow(FOLLOW_34);
             	    rule__ChartGauge__IntervalsAssignment_2_2_2();
 
             	    state._fsp--;
@@ -20398,7 +20237,7 @@
             	    break;
 
             	default :
-            	    break loop65;
+            	    break loop66;
                 }
             } while (true);
 
@@ -20427,14 +20266,14 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__3"
-    // InternalChartDSL.g:5680:1: rule__ChartGauge__Group_2_2__3 : rule__ChartGauge__Group_2_2__3__Impl ;
+    // InternalChartDSL.g:5626:1: rule__ChartGauge__Group_2_2__3 : rule__ChartGauge__Group_2_2__3__Impl ;
     public final void rule__ChartGauge__Group_2_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5684:1: ( rule__ChartGauge__Group_2_2__3__Impl )
-            // InternalChartDSL.g:5685:2: rule__ChartGauge__Group_2_2__3__Impl
+            // InternalChartDSL.g:5630:1: ( rule__ChartGauge__Group_2_2__3__Impl )
+            // InternalChartDSL.g:5631:2: rule__ChartGauge__Group_2_2__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartGauge__Group_2_2__3__Impl();
@@ -20460,17 +20299,17 @@
 
 
     // $ANTLR start "rule__ChartGauge__Group_2_2__3__Impl"
-    // InternalChartDSL.g:5691:1: rule__ChartGauge__Group_2_2__3__Impl : ( '}' ) ;
+    // InternalChartDSL.g:5637:1: rule__ChartGauge__Group_2_2__3__Impl : ( '}' ) ;
     public final void rule__ChartGauge__Group_2_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5695:1: ( ( '}' ) )
-            // InternalChartDSL.g:5696:1: ( '}' )
+            // InternalChartDSL.g:5641:1: ( ( '}' ) )
+            // InternalChartDSL.g:5642:1: ( '}' )
             {
-            // InternalChartDSL.g:5696:1: ( '}' )
-            // InternalChartDSL.g:5697:2: '}'
+            // InternalChartDSL.g:5642:1: ( '}' )
+            // InternalChartDSL.g:5643:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartGaugeAccess().getRightCurlyBracketKeyword_2_2_3()); 
@@ -20501,14 +20340,14 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__0"
-    // InternalChartDSL.g:5707:1: rule__ChartTree__Group__0 : rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1 ;
+    // InternalChartDSL.g:5653:1: rule__ChartTree__Group__0 : rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1 ;
     public final void rule__ChartTree__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5711:1: ( rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1 )
-            // InternalChartDSL.g:5712:2: rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1
+            // InternalChartDSL.g:5657:1: ( rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1 )
+            // InternalChartDSL.g:5658:2: rule__ChartTree__Group__0__Impl rule__ChartTree__Group__1
             {
             pushFollow(FOLLOW_13);
             rule__ChartTree__Group__0__Impl();
@@ -20539,23 +20378,23 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__0__Impl"
-    // InternalChartDSL.g:5719:1: rule__ChartTree__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5665:1: rule__ChartTree__Group__0__Impl : ( () ) ;
     public final void rule__ChartTree__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5723:1: ( ( () ) )
-            // InternalChartDSL.g:5724:1: ( () )
+            // InternalChartDSL.g:5669:1: ( ( () ) )
+            // InternalChartDSL.g:5670:1: ( () )
             {
-            // InternalChartDSL.g:5724:1: ( () )
-            // InternalChartDSL.g:5725:2: ()
+            // InternalChartDSL.g:5670:1: ( () )
+            // InternalChartDSL.g:5671:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartTreeAccess().getChartTreeAction_0()); 
             }
-            // InternalChartDSL.g:5726:2: ()
-            // InternalChartDSL.g:5726:3: 
+            // InternalChartDSL.g:5672:2: ()
+            // InternalChartDSL.g:5672:3: 
             {
             }
 
@@ -20580,16 +20419,16 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__1"
-    // InternalChartDSL.g:5734:1: rule__ChartTree__Group__1 : rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2 ;
+    // InternalChartDSL.g:5680:1: rule__ChartTree__Group__1 : rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2 ;
     public final void rule__ChartTree__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5738:1: ( rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2 )
-            // InternalChartDSL.g:5739:2: rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2
+            // InternalChartDSL.g:5684:1: ( rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2 )
+            // InternalChartDSL.g:5685:2: rule__ChartTree__Group__1__Impl rule__ChartTree__Group__2
             {
-            pushFollow(FOLLOW_36);
+            pushFollow(FOLLOW_35);
             rule__ChartTree__Group__1__Impl();
 
             state._fsp--;
@@ -20618,17 +20457,17 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__1__Impl"
-    // InternalChartDSL.g:5746:1: rule__ChartTree__Group__1__Impl : ( 'tree' ) ;
+    // InternalChartDSL.g:5692:1: rule__ChartTree__Group__1__Impl : ( 'tree' ) ;
     public final void rule__ChartTree__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5750:1: ( ( 'tree' ) )
-            // InternalChartDSL.g:5751:1: ( 'tree' )
+            // InternalChartDSL.g:5696:1: ( ( 'tree' ) )
+            // InternalChartDSL.g:5697:1: ( 'tree' )
             {
-            // InternalChartDSL.g:5751:1: ( 'tree' )
-            // InternalChartDSL.g:5752:2: 'tree'
+            // InternalChartDSL.g:5697:1: ( 'tree' )
+            // InternalChartDSL.g:5698:2: 'tree'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartTreeAccess().getTreeKeyword_1()); 
@@ -20659,14 +20498,14 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__2"
-    // InternalChartDSL.g:5761:1: rule__ChartTree__Group__2 : rule__ChartTree__Group__2__Impl ;
+    // InternalChartDSL.g:5707:1: rule__ChartTree__Group__2 : rule__ChartTree__Group__2__Impl ;
     public final void rule__ChartTree__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5765:1: ( rule__ChartTree__Group__2__Impl )
-            // InternalChartDSL.g:5766:2: rule__ChartTree__Group__2__Impl
+            // InternalChartDSL.g:5711:1: ( rule__ChartTree__Group__2__Impl )
+            // InternalChartDSL.g:5712:2: rule__ChartTree__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartTree__Group__2__Impl();
@@ -20692,23 +20531,23 @@
 
 
     // $ANTLR start "rule__ChartTree__Group__2__Impl"
-    // InternalChartDSL.g:5772:1: rule__ChartTree__Group__2__Impl : ( ( rule__ChartTree__Alternatives_2 ) ) ;
+    // InternalChartDSL.g:5718:1: rule__ChartTree__Group__2__Impl : ( ( rule__ChartTree__Alternatives_2 ) ) ;
     public final void rule__ChartTree__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5776:1: ( ( ( rule__ChartTree__Alternatives_2 ) ) )
-            // InternalChartDSL.g:5777:1: ( ( rule__ChartTree__Alternatives_2 ) )
+            // InternalChartDSL.g:5722:1: ( ( ( rule__ChartTree__Alternatives_2 ) ) )
+            // InternalChartDSL.g:5723:1: ( ( rule__ChartTree__Alternatives_2 ) )
             {
-            // InternalChartDSL.g:5777:1: ( ( rule__ChartTree__Alternatives_2 ) )
-            // InternalChartDSL.g:5778:2: ( rule__ChartTree__Alternatives_2 )
+            // InternalChartDSL.g:5723:1: ( ( rule__ChartTree__Alternatives_2 ) )
+            // InternalChartDSL.g:5724:2: ( rule__ChartTree__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartTreeAccess().getAlternatives_2()); 
             }
-            // InternalChartDSL.g:5779:2: ( rule__ChartTree__Alternatives_2 )
-            // InternalChartDSL.g:5779:3: rule__ChartTree__Alternatives_2
+            // InternalChartDSL.g:5725:2: ( rule__ChartTree__Alternatives_2 )
+            // InternalChartDSL.g:5725:3: rule__ChartTree__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartTree__Alternatives_2();
@@ -20743,16 +20582,16 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__0"
-    // InternalChartDSL.g:5788:1: rule__ChartNumberInterval__Group__0 : rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1 ;
+    // InternalChartDSL.g:5734:1: rule__ChartNumberInterval__Group__0 : rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1 ;
     public final void rule__ChartNumberInterval__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5792:1: ( rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1 )
-            // InternalChartDSL.g:5793:2: rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1
+            // InternalChartDSL.g:5738:1: ( rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1 )
+            // InternalChartDSL.g:5739:2: rule__ChartNumberInterval__Group__0__Impl rule__ChartNumberInterval__Group__1
             {
-            pushFollow(FOLLOW_37);
+            pushFollow(FOLLOW_36);
             rule__ChartNumberInterval__Group__0__Impl();
 
             state._fsp--;
@@ -20781,23 +20620,23 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__0__Impl"
-    // InternalChartDSL.g:5800:1: rule__ChartNumberInterval__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:5746:1: rule__ChartNumberInterval__Group__0__Impl : ( () ) ;
     public final void rule__ChartNumberInterval__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5804:1: ( ( () ) )
-            // InternalChartDSL.g:5805:1: ( () )
+            // InternalChartDSL.g:5750:1: ( ( () ) )
+            // InternalChartDSL.g:5751:1: ( () )
             {
-            // InternalChartDSL.g:5805:1: ( () )
-            // InternalChartDSL.g:5806:2: ()
+            // InternalChartDSL.g:5751:1: ( () )
+            // InternalChartDSL.g:5752:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartNumberIntervalAccess().getChartNumberIntervalAction_0()); 
             }
-            // InternalChartDSL.g:5807:2: ()
-            // InternalChartDSL.g:5807:3: 
+            // InternalChartDSL.g:5753:2: ()
+            // InternalChartDSL.g:5753:3: 
             {
             }
 
@@ -20822,16 +20661,16 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__1"
-    // InternalChartDSL.g:5815:1: rule__ChartNumberInterval__Group__1 : rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2 ;
+    // InternalChartDSL.g:5761:1: rule__ChartNumberInterval__Group__1 : rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2 ;
     public final void rule__ChartNumberInterval__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5819:1: ( rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2 )
-            // InternalChartDSL.g:5820:2: rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2
+            // InternalChartDSL.g:5765:1: ( rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2 )
+            // InternalChartDSL.g:5766:2: rule__ChartNumberInterval__Group__1__Impl rule__ChartNumberInterval__Group__2
             {
-            pushFollow(FOLLOW_38);
+            pushFollow(FOLLOW_37);
             rule__ChartNumberInterval__Group__1__Impl();
 
             state._fsp--;
@@ -20860,17 +20699,17 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__1__Impl"
-    // InternalChartDSL.g:5827:1: rule__ChartNumberInterval__Group__1__Impl : ( 'upTo' ) ;
+    // InternalChartDSL.g:5773:1: rule__ChartNumberInterval__Group__1__Impl : ( 'upTo' ) ;
     public final void rule__ChartNumberInterval__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5831:1: ( ( 'upTo' ) )
-            // InternalChartDSL.g:5832:1: ( 'upTo' )
+            // InternalChartDSL.g:5777:1: ( ( 'upTo' ) )
+            // InternalChartDSL.g:5778:1: ( 'upTo' )
             {
-            // InternalChartDSL.g:5832:1: ( 'upTo' )
-            // InternalChartDSL.g:5833:2: 'upTo'
+            // InternalChartDSL.g:5778:1: ( 'upTo' )
+            // InternalChartDSL.g:5779:2: 'upTo'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartNumberIntervalAccess().getUpToKeyword_1()); 
@@ -20901,16 +20740,16 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__2"
-    // InternalChartDSL.g:5842:1: rule__ChartNumberInterval__Group__2 : rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3 ;
+    // InternalChartDSL.g:5788:1: rule__ChartNumberInterval__Group__2 : rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3 ;
     public final void rule__ChartNumberInterval__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5846:1: ( rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3 )
-            // InternalChartDSL.g:5847:2: rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3
+            // InternalChartDSL.g:5792:1: ( rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3 )
+            // InternalChartDSL.g:5793:2: rule__ChartNumberInterval__Group__2__Impl rule__ChartNumberInterval__Group__3
             {
-            pushFollow(FOLLOW_39);
+            pushFollow(FOLLOW_38);
             rule__ChartNumberInterval__Group__2__Impl();
 
             state._fsp--;
@@ -20939,23 +20778,23 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__2__Impl"
-    // InternalChartDSL.g:5854:1: rule__ChartNumberInterval__Group__2__Impl : ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) ) ;
+    // InternalChartDSL.g:5800:1: rule__ChartNumberInterval__Group__2__Impl : ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) ) ;
     public final void rule__ChartNumberInterval__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5858:1: ( ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) ) )
-            // InternalChartDSL.g:5859:1: ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) )
+            // InternalChartDSL.g:5804:1: ( ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) ) )
+            // InternalChartDSL.g:5805:1: ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) )
             {
-            // InternalChartDSL.g:5859:1: ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) )
-            // InternalChartDSL.g:5860:2: ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 )
+            // InternalChartDSL.g:5805:1: ( ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 ) )
+            // InternalChartDSL.g:5806:2: ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartNumberIntervalAccess().getNumberIntervalValueAssignment_2()); 
             }
-            // InternalChartDSL.g:5861:2: ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 )
-            // InternalChartDSL.g:5861:3: rule__ChartNumberInterval__NumberIntervalValueAssignment_2
+            // InternalChartDSL.g:5807:2: ( rule__ChartNumberInterval__NumberIntervalValueAssignment_2 )
+            // InternalChartDSL.g:5807:3: rule__ChartNumberInterval__NumberIntervalValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartNumberInterval__NumberIntervalValueAssignment_2();
@@ -20990,14 +20829,14 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__3"
-    // InternalChartDSL.g:5869:1: rule__ChartNumberInterval__Group__3 : rule__ChartNumberInterval__Group__3__Impl ;
+    // InternalChartDSL.g:5815:1: rule__ChartNumberInterval__Group__3 : rule__ChartNumberInterval__Group__3__Impl ;
     public final void rule__ChartNumberInterval__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5873:1: ( rule__ChartNumberInterval__Group__3__Impl )
-            // InternalChartDSL.g:5874:2: rule__ChartNumberInterval__Group__3__Impl
+            // InternalChartDSL.g:5819:1: ( rule__ChartNumberInterval__Group__3__Impl )
+            // InternalChartDSL.g:5820:2: rule__ChartNumberInterval__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartNumberInterval__Group__3__Impl();
@@ -21023,23 +20862,23 @@
 
 
     // $ANTLR start "rule__ChartNumberInterval__Group__3__Impl"
-    // InternalChartDSL.g:5880:1: rule__ChartNumberInterval__Group__3__Impl : ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) ) ;
+    // InternalChartDSL.g:5826:1: rule__ChartNumberInterval__Group__3__Impl : ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) ) ;
     public final void rule__ChartNumberInterval__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5884:1: ( ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) ) )
-            // InternalChartDSL.g:5885:1: ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) )
+            // InternalChartDSL.g:5830:1: ( ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) ) )
+            // InternalChartDSL.g:5831:1: ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) )
             {
-            // InternalChartDSL.g:5885:1: ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) )
-            // InternalChartDSL.g:5886:2: ( rule__ChartNumberInterval__NumberRangeAssignment_3 )
+            // InternalChartDSL.g:5831:1: ( ( rule__ChartNumberInterval__NumberRangeAssignment_3 ) )
+            // InternalChartDSL.g:5832:2: ( rule__ChartNumberInterval__NumberRangeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartNumberIntervalAccess().getNumberRangeAssignment_3()); 
             }
-            // InternalChartDSL.g:5887:2: ( rule__ChartNumberInterval__NumberRangeAssignment_3 )
-            // InternalChartDSL.g:5887:3: rule__ChartNumberInterval__NumberRangeAssignment_3
+            // InternalChartDSL.g:5833:2: ( rule__ChartNumberInterval__NumberRangeAssignment_3 )
+            // InternalChartDSL.g:5833:3: rule__ChartNumberInterval__NumberRangeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__ChartNumberInterval__NumberRangeAssignment_3();
@@ -21074,14 +20913,14 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__0"
-    // InternalChartDSL.g:5896:1: rule__ChartDatamart__Group__0 : rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1 ;
+    // InternalChartDSL.g:5842:1: rule__ChartDatamart__Group__0 : rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1 ;
     public final void rule__ChartDatamart__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5900:1: ( rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1 )
-            // InternalChartDSL.g:5901:2: rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1
+            // InternalChartDSL.g:5846:1: ( rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1 )
+            // InternalChartDSL.g:5847:2: rule__ChartDatamart__Group__0__Impl rule__ChartDatamart__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__ChartDatamart__Group__0__Impl();
@@ -21112,17 +20951,17 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__0__Impl"
-    // InternalChartDSL.g:5908:1: rule__ChartDatamart__Group__0__Impl : ( 'datamart' ) ;
+    // InternalChartDSL.g:5854:1: rule__ChartDatamart__Group__0__Impl : ( 'datamart' ) ;
     public final void rule__ChartDatamart__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5912:1: ( ( 'datamart' ) )
-            // InternalChartDSL.g:5913:1: ( 'datamart' )
+            // InternalChartDSL.g:5858:1: ( ( 'datamart' ) )
+            // InternalChartDSL.g:5859:1: ( 'datamart' )
             {
-            // InternalChartDSL.g:5913:1: ( 'datamart' )
-            // InternalChartDSL.g:5914:2: 'datamart'
+            // InternalChartDSL.g:5859:1: ( 'datamart' )
+            // InternalChartDSL.g:5860:2: 'datamart'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDatamartAccess().getDatamartKeyword_0()); 
@@ -21153,14 +20992,14 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__1"
-    // InternalChartDSL.g:5923:1: rule__ChartDatamart__Group__1 : rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2 ;
+    // InternalChartDSL.g:5869:1: rule__ChartDatamart__Group__1 : rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2 ;
     public final void rule__ChartDatamart__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5927:1: ( rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2 )
-            // InternalChartDSL.g:5928:2: rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2
+            // InternalChartDSL.g:5873:1: ( rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2 )
+            // InternalChartDSL.g:5874:2: rule__ChartDatamart__Group__1__Impl rule__ChartDatamart__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__ChartDatamart__Group__1__Impl();
@@ -21191,23 +21030,23 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__1__Impl"
-    // InternalChartDSL.g:5935:1: rule__ChartDatamart__Group__1__Impl : ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) ) ;
+    // InternalChartDSL.g:5881:1: rule__ChartDatamart__Group__1__Impl : ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) ) ;
     public final void rule__ChartDatamart__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5939:1: ( ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) ) )
-            // InternalChartDSL.g:5940:1: ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) )
+            // InternalChartDSL.g:5885:1: ( ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) ) )
+            // InternalChartDSL.g:5886:1: ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) )
             {
-            // InternalChartDSL.g:5940:1: ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) )
-            // InternalChartDSL.g:5941:2: ( rule__ChartDatamart__DatamartRefAssignment_1 )
+            // InternalChartDSL.g:5886:1: ( ( rule__ChartDatamart__DatamartRefAssignment_1 ) )
+            // InternalChartDSL.g:5887:2: ( rule__ChartDatamart__DatamartRefAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDatamartAccess().getDatamartRefAssignment_1()); 
             }
-            // InternalChartDSL.g:5942:2: ( rule__ChartDatamart__DatamartRefAssignment_1 )
-            // InternalChartDSL.g:5942:3: rule__ChartDatamart__DatamartRefAssignment_1
+            // InternalChartDSL.g:5888:2: ( rule__ChartDatamart__DatamartRefAssignment_1 )
+            // InternalChartDSL.g:5888:3: rule__ChartDatamart__DatamartRefAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartDatamart__DatamartRefAssignment_1();
@@ -21242,16 +21081,16 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__2"
-    // InternalChartDSL.g:5950:1: rule__ChartDatamart__Group__2 : rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3 ;
+    // InternalChartDSL.g:5896:1: rule__ChartDatamart__Group__2 : rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3 ;
     public final void rule__ChartDatamart__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5954:1: ( rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3 )
-            // InternalChartDSL.g:5955:2: rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3
+            // InternalChartDSL.g:5900:1: ( rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3 )
+            // InternalChartDSL.g:5901:2: rule__ChartDatamart__Group__2__Impl rule__ChartDatamart__Group__3
             {
-            pushFollow(FOLLOW_40);
+            pushFollow(FOLLOW_39);
             rule__ChartDatamart__Group__2__Impl();
 
             state._fsp--;
@@ -21280,17 +21119,17 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__2__Impl"
-    // InternalChartDSL.g:5962:1: rule__ChartDatamart__Group__2__Impl : ( '{' ) ;
+    // InternalChartDSL.g:5908:1: rule__ChartDatamart__Group__2__Impl : ( '{' ) ;
     public final void rule__ChartDatamart__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5966:1: ( ( '{' ) )
-            // InternalChartDSL.g:5967:1: ( '{' )
+            // InternalChartDSL.g:5912:1: ( ( '{' ) )
+            // InternalChartDSL.g:5913:1: ( '{' )
             {
-            // InternalChartDSL.g:5967:1: ( '{' )
-            // InternalChartDSL.g:5968:2: '{'
+            // InternalChartDSL.g:5913:1: ( '{' )
+            // InternalChartDSL.g:5914:2: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDatamartAccess().getLeftCurlyBracketKeyword_2()); 
@@ -21321,16 +21160,16 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__3"
-    // InternalChartDSL.g:5977:1: rule__ChartDatamart__Group__3 : rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4 ;
+    // InternalChartDSL.g:5923:1: rule__ChartDatamart__Group__3 : rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4 ;
     public final void rule__ChartDatamart__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5981:1: ( rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4 )
-            // InternalChartDSL.g:5982:2: rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4
+            // InternalChartDSL.g:5927:1: ( rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4 )
+            // InternalChartDSL.g:5928:2: rule__ChartDatamart__Group__3__Impl rule__ChartDatamart__Group__4
             {
-            pushFollow(FOLLOW_40);
+            pushFollow(FOLLOW_39);
             rule__ChartDatamart__Group__3__Impl();
 
             state._fsp--;
@@ -21359,37 +21198,37 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__3__Impl"
-    // InternalChartDSL.g:5989:1: rule__ChartDatamart__Group__3__Impl : ( ( rule__ChartDatamart__ElementsAssignment_3 )* ) ;
+    // InternalChartDSL.g:5935:1: rule__ChartDatamart__Group__3__Impl : ( ( rule__ChartDatamart__ElementsAssignment_3 )* ) ;
     public final void rule__ChartDatamart__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:5993:1: ( ( ( rule__ChartDatamart__ElementsAssignment_3 )* ) )
-            // InternalChartDSL.g:5994:1: ( ( rule__ChartDatamart__ElementsAssignment_3 )* )
+            // InternalChartDSL.g:5939:1: ( ( ( rule__ChartDatamart__ElementsAssignment_3 )* ) )
+            // InternalChartDSL.g:5940:1: ( ( rule__ChartDatamart__ElementsAssignment_3 )* )
             {
-            // InternalChartDSL.g:5994:1: ( ( rule__ChartDatamart__ElementsAssignment_3 )* )
-            // InternalChartDSL.g:5995:2: ( rule__ChartDatamart__ElementsAssignment_3 )*
+            // InternalChartDSL.g:5940:1: ( ( rule__ChartDatamart__ElementsAssignment_3 )* )
+            // InternalChartDSL.g:5941:2: ( rule__ChartDatamart__ElementsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDatamartAccess().getElementsAssignment_3()); 
             }
-            // InternalChartDSL.g:5996:2: ( rule__ChartDatamart__ElementsAssignment_3 )*
-            loop66:
+            // InternalChartDSL.g:5942:2: ( rule__ChartDatamart__ElementsAssignment_3 )*
+            loop67:
             do {
-                int alt66=2;
-                int LA66_0 = input.LA(1);
+                int alt67=2;
+                int LA67_0 = input.LA(1);
 
-                if ( ((LA66_0>=88 && LA66_0<=90)) ) {
-                    alt66=1;
+                if ( ((LA67_0>=88 && LA67_0<=90)) ) {
+                    alt67=1;
                 }
 
 
-                switch (alt66) {
+                switch (alt67) {
             	case 1 :
-            	    // InternalChartDSL.g:5996:3: rule__ChartDatamart__ElementsAssignment_3
+            	    // InternalChartDSL.g:5942:3: rule__ChartDatamart__ElementsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_41);
+            	    pushFollow(FOLLOW_40);
             	    rule__ChartDatamart__ElementsAssignment_3();
 
             	    state._fsp--;
@@ -21399,7 +21238,7 @@
             	    break;
 
             	default :
-            	    break loop66;
+            	    break loop67;
                 }
             } while (true);
 
@@ -21428,14 +21267,14 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__4"
-    // InternalChartDSL.g:6004:1: rule__ChartDatamart__Group__4 : rule__ChartDatamart__Group__4__Impl ;
+    // InternalChartDSL.g:5950:1: rule__ChartDatamart__Group__4 : rule__ChartDatamart__Group__4__Impl ;
     public final void rule__ChartDatamart__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6008:1: ( rule__ChartDatamart__Group__4__Impl )
-            // InternalChartDSL.g:6009:2: rule__ChartDatamart__Group__4__Impl
+            // InternalChartDSL.g:5954:1: ( rule__ChartDatamart__Group__4__Impl )
+            // InternalChartDSL.g:5955:2: rule__ChartDatamart__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartDatamart__Group__4__Impl();
@@ -21461,17 +21300,17 @@
 
 
     // $ANTLR start "rule__ChartDatamart__Group__4__Impl"
-    // InternalChartDSL.g:6015:1: rule__ChartDatamart__Group__4__Impl : ( '}' ) ;
+    // InternalChartDSL.g:5961:1: rule__ChartDatamart__Group__4__Impl : ( '}' ) ;
     public final void rule__ChartDatamart__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6019:1: ( ( '}' ) )
-            // InternalChartDSL.g:6020:1: ( '}' )
+            // InternalChartDSL.g:5965:1: ( ( '}' ) )
+            // InternalChartDSL.g:5966:1: ( '}' )
             {
-            // InternalChartDSL.g:6020:1: ( '}' )
-            // InternalChartDSL.g:6021:2: '}'
+            // InternalChartDSL.g:5966:1: ( '}' )
+            // InternalChartDSL.g:5967:2: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartDatamartAccess().getRightCurlyBracketKeyword_4()); 
@@ -21502,16 +21341,16 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__0"
-    // InternalChartDSL.g:6031:1: rule__ChartLegend__Group__0 : rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1 ;
+    // InternalChartDSL.g:5977:1: rule__ChartLegend__Group__0 : rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1 ;
     public final void rule__ChartLegend__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6035:1: ( rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1 )
-            // InternalChartDSL.g:6036:2: rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1
+            // InternalChartDSL.g:5981:1: ( rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1 )
+            // InternalChartDSL.g:5982:2: rule__ChartLegend__Group__0__Impl rule__ChartLegend__Group__1
             {
-            pushFollow(FOLLOW_42);
+            pushFollow(FOLLOW_41);
             rule__ChartLegend__Group__0__Impl();
 
             state._fsp--;
@@ -21540,17 +21379,17 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__0__Impl"
-    // InternalChartDSL.g:6043:1: rule__ChartLegend__Group__0__Impl : ( 'legend' ) ;
+    // InternalChartDSL.g:5989:1: rule__ChartLegend__Group__0__Impl : ( 'legend' ) ;
     public final void rule__ChartLegend__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6047:1: ( ( 'legend' ) )
-            // InternalChartDSL.g:6048:1: ( 'legend' )
+            // InternalChartDSL.g:5993:1: ( ( 'legend' ) )
+            // InternalChartDSL.g:5994:1: ( 'legend' )
             {
-            // InternalChartDSL.g:6048:1: ( 'legend' )
-            // InternalChartDSL.g:6049:2: 'legend'
+            // InternalChartDSL.g:5994:1: ( 'legend' )
+            // InternalChartDSL.g:5995:2: 'legend'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getLegendKeyword_0()); 
@@ -21581,16 +21420,16 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__1"
-    // InternalChartDSL.g:6058:1: rule__ChartLegend__Group__1 : rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2 ;
+    // InternalChartDSL.g:6004:1: rule__ChartLegend__Group__1 : rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2 ;
     public final void rule__ChartLegend__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6062:1: ( rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2 )
-            // InternalChartDSL.g:6063:2: rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2
+            // InternalChartDSL.g:6008:1: ( rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2 )
+            // InternalChartDSL.g:6009:2: rule__ChartLegend__Group__1__Impl rule__ChartLegend__Group__2
             {
-            pushFollow(FOLLOW_43);
+            pushFollow(FOLLOW_42);
             rule__ChartLegend__Group__1__Impl();
 
             state._fsp--;
@@ -21619,23 +21458,23 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__1__Impl"
-    // InternalChartDSL.g:6070:1: rule__ChartLegend__Group__1__Impl : ( ( rule__ChartLegend__PlacementAssignment_1 ) ) ;
+    // InternalChartDSL.g:6016:1: rule__ChartLegend__Group__1__Impl : ( ( rule__ChartLegend__PlacementAssignment_1 ) ) ;
     public final void rule__ChartLegend__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6074:1: ( ( ( rule__ChartLegend__PlacementAssignment_1 ) ) )
-            // InternalChartDSL.g:6075:1: ( ( rule__ChartLegend__PlacementAssignment_1 ) )
+            // InternalChartDSL.g:6020:1: ( ( ( rule__ChartLegend__PlacementAssignment_1 ) ) )
+            // InternalChartDSL.g:6021:1: ( ( rule__ChartLegend__PlacementAssignment_1 ) )
             {
-            // InternalChartDSL.g:6075:1: ( ( rule__ChartLegend__PlacementAssignment_1 ) )
-            // InternalChartDSL.g:6076:2: ( rule__ChartLegend__PlacementAssignment_1 )
+            // InternalChartDSL.g:6021:1: ( ( rule__ChartLegend__PlacementAssignment_1 ) )
+            // InternalChartDSL.g:6022:2: ( rule__ChartLegend__PlacementAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getPlacementAssignment_1()); 
             }
-            // InternalChartDSL.g:6077:2: ( rule__ChartLegend__PlacementAssignment_1 )
-            // InternalChartDSL.g:6077:3: rule__ChartLegend__PlacementAssignment_1
+            // InternalChartDSL.g:6023:2: ( rule__ChartLegend__PlacementAssignment_1 )
+            // InternalChartDSL.g:6023:3: rule__ChartLegend__PlacementAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__PlacementAssignment_1();
@@ -21670,14 +21509,14 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__2"
-    // InternalChartDSL.g:6085:1: rule__ChartLegend__Group__2 : rule__ChartLegend__Group__2__Impl ;
+    // InternalChartDSL.g:6031:1: rule__ChartLegend__Group__2 : rule__ChartLegend__Group__2__Impl ;
     public final void rule__ChartLegend__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6089:1: ( rule__ChartLegend__Group__2__Impl )
-            // InternalChartDSL.g:6090:2: rule__ChartLegend__Group__2__Impl
+            // InternalChartDSL.g:6035:1: ( rule__ChartLegend__Group__2__Impl )
+            // InternalChartDSL.g:6036:2: rule__ChartLegend__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__Group__2__Impl();
@@ -21703,31 +21542,31 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group__2__Impl"
-    // InternalChartDSL.g:6096:1: rule__ChartLegend__Group__2__Impl : ( ( rule__ChartLegend__Group_2__0 )? ) ;
+    // InternalChartDSL.g:6042:1: rule__ChartLegend__Group__2__Impl : ( ( rule__ChartLegend__Group_2__0 )? ) ;
     public final void rule__ChartLegend__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6100:1: ( ( ( rule__ChartLegend__Group_2__0 )? ) )
-            // InternalChartDSL.g:6101:1: ( ( rule__ChartLegend__Group_2__0 )? )
+            // InternalChartDSL.g:6046:1: ( ( ( rule__ChartLegend__Group_2__0 )? ) )
+            // InternalChartDSL.g:6047:1: ( ( rule__ChartLegend__Group_2__0 )? )
             {
-            // InternalChartDSL.g:6101:1: ( ( rule__ChartLegend__Group_2__0 )? )
-            // InternalChartDSL.g:6102:2: ( rule__ChartLegend__Group_2__0 )?
+            // InternalChartDSL.g:6047:1: ( ( rule__ChartLegend__Group_2__0 )? )
+            // InternalChartDSL.g:6048:2: ( rule__ChartLegend__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getGroup_2()); 
             }
-            // InternalChartDSL.g:6103:2: ( rule__ChartLegend__Group_2__0 )?
-            int alt67=2;
-            int LA67_0 = input.LA(1);
+            // InternalChartDSL.g:6049:2: ( rule__ChartLegend__Group_2__0 )?
+            int alt68=2;
+            int LA68_0 = input.LA(1);
 
-            if ( (LA67_0==145) ) {
-                alt67=1;
+            if ( (LA68_0==144) ) {
+                alt68=1;
             }
-            switch (alt67) {
+            switch (alt68) {
                 case 1 :
-                    // InternalChartDSL.g:6103:3: rule__ChartLegend__Group_2__0
+                    // InternalChartDSL.g:6049:3: rule__ChartLegend__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartLegend__Group_2__0();
@@ -21765,16 +21604,16 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__0"
-    // InternalChartDSL.g:6112:1: rule__ChartLegend__Group_2__0 : rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1 ;
+    // InternalChartDSL.g:6058:1: rule__ChartLegend__Group_2__0 : rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1 ;
     public final void rule__ChartLegend__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6116:1: ( rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1 )
-            // InternalChartDSL.g:6117:2: rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1
+            // InternalChartDSL.g:6062:1: ( rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1 )
+            // InternalChartDSL.g:6063:2: rule__ChartLegend__Group_2__0__Impl rule__ChartLegend__Group_2__1
             {
-            pushFollow(FOLLOW_44);
+            pushFollow(FOLLOW_43);
             rule__ChartLegend__Group_2__0__Impl();
 
             state._fsp--;
@@ -21803,23 +21642,23 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__0__Impl"
-    // InternalChartDSL.g:6124:1: rule__ChartLegend__Group_2__0__Impl : ( ( rule__ChartLegend__ToggleAssignment_2_0 ) ) ;
+    // InternalChartDSL.g:6070:1: rule__ChartLegend__Group_2__0__Impl : ( ( rule__ChartLegend__ToggleAssignment_2_0 ) ) ;
     public final void rule__ChartLegend__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6128:1: ( ( ( rule__ChartLegend__ToggleAssignment_2_0 ) ) )
-            // InternalChartDSL.g:6129:1: ( ( rule__ChartLegend__ToggleAssignment_2_0 ) )
+            // InternalChartDSL.g:6074:1: ( ( ( rule__ChartLegend__ToggleAssignment_2_0 ) ) )
+            // InternalChartDSL.g:6075:1: ( ( rule__ChartLegend__ToggleAssignment_2_0 ) )
             {
-            // InternalChartDSL.g:6129:1: ( ( rule__ChartLegend__ToggleAssignment_2_0 ) )
-            // InternalChartDSL.g:6130:2: ( rule__ChartLegend__ToggleAssignment_2_0 )
+            // InternalChartDSL.g:6075:1: ( ( rule__ChartLegend__ToggleAssignment_2_0 ) )
+            // InternalChartDSL.g:6076:2: ( rule__ChartLegend__ToggleAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getToggleAssignment_2_0()); 
             }
-            // InternalChartDSL.g:6131:2: ( rule__ChartLegend__ToggleAssignment_2_0 )
-            // InternalChartDSL.g:6131:3: rule__ChartLegend__ToggleAssignment_2_0
+            // InternalChartDSL.g:6077:2: ( rule__ChartLegend__ToggleAssignment_2_0 )
+            // InternalChartDSL.g:6077:3: rule__ChartLegend__ToggleAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__ToggleAssignment_2_0();
@@ -21854,16 +21693,16 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__1"
-    // InternalChartDSL.g:6139:1: rule__ChartLegend__Group_2__1 : rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2 ;
+    // InternalChartDSL.g:6085:1: rule__ChartLegend__Group_2__1 : rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2 ;
     public final void rule__ChartLegend__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6143:1: ( rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2 )
-            // InternalChartDSL.g:6144:2: rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2
+            // InternalChartDSL.g:6089:1: ( rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2 )
+            // InternalChartDSL.g:6090:2: rule__ChartLegend__Group_2__1__Impl rule__ChartLegend__Group_2__2
             {
-            pushFollow(FOLLOW_45);
+            pushFollow(FOLLOW_44);
             rule__ChartLegend__Group_2__1__Impl();
 
             state._fsp--;
@@ -21892,23 +21731,23 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__1__Impl"
-    // InternalChartDSL.g:6151:1: rule__ChartLegend__Group_2__1__Impl : ( ( rule__ChartLegend__ReplotAssignment_2_1 ) ) ;
+    // InternalChartDSL.g:6097:1: rule__ChartLegend__Group_2__1__Impl : ( ( rule__ChartLegend__ReplotAssignment_2_1 ) ) ;
     public final void rule__ChartLegend__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6155:1: ( ( ( rule__ChartLegend__ReplotAssignment_2_1 ) ) )
-            // InternalChartDSL.g:6156:1: ( ( rule__ChartLegend__ReplotAssignment_2_1 ) )
+            // InternalChartDSL.g:6101:1: ( ( ( rule__ChartLegend__ReplotAssignment_2_1 ) ) )
+            // InternalChartDSL.g:6102:1: ( ( rule__ChartLegend__ReplotAssignment_2_1 ) )
             {
-            // InternalChartDSL.g:6156:1: ( ( rule__ChartLegend__ReplotAssignment_2_1 ) )
-            // InternalChartDSL.g:6157:2: ( rule__ChartLegend__ReplotAssignment_2_1 )
+            // InternalChartDSL.g:6102:1: ( ( rule__ChartLegend__ReplotAssignment_2_1 ) )
+            // InternalChartDSL.g:6103:2: ( rule__ChartLegend__ReplotAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getReplotAssignment_2_1()); 
             }
-            // InternalChartDSL.g:6158:2: ( rule__ChartLegend__ReplotAssignment_2_1 )
-            // InternalChartDSL.g:6158:3: rule__ChartLegend__ReplotAssignment_2_1
+            // InternalChartDSL.g:6104:2: ( rule__ChartLegend__ReplotAssignment_2_1 )
+            // InternalChartDSL.g:6104:3: rule__ChartLegend__ReplotAssignment_2_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__ReplotAssignment_2_1();
@@ -21943,14 +21782,14 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__2"
-    // InternalChartDSL.g:6166:1: rule__ChartLegend__Group_2__2 : rule__ChartLegend__Group_2__2__Impl ;
+    // InternalChartDSL.g:6112:1: rule__ChartLegend__Group_2__2 : rule__ChartLegend__Group_2__2__Impl ;
     public final void rule__ChartLegend__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6170:1: ( rule__ChartLegend__Group_2__2__Impl )
-            // InternalChartDSL.g:6171:2: rule__ChartLegend__Group_2__2__Impl
+            // InternalChartDSL.g:6116:1: ( rule__ChartLegend__Group_2__2__Impl )
+            // InternalChartDSL.g:6117:2: rule__ChartLegend__Group_2__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__Group_2__2__Impl();
@@ -21976,23 +21815,23 @@
 
 
     // $ANTLR start "rule__ChartLegend__Group_2__2__Impl"
-    // InternalChartDSL.g:6177:1: rule__ChartLegend__Group_2__2__Impl : ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) ) ;
+    // InternalChartDSL.g:6123:1: rule__ChartLegend__Group_2__2__Impl : ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) ) ;
     public final void rule__ChartLegend__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6181:1: ( ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) ) )
-            // InternalChartDSL.g:6182:1: ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) )
+            // InternalChartDSL.g:6127:1: ( ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) ) )
+            // InternalChartDSL.g:6128:1: ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) )
             {
-            // InternalChartDSL.g:6182:1: ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) )
-            // InternalChartDSL.g:6183:2: ( rule__ChartLegend__ToggleTypeAssignment_2_2 )
+            // InternalChartDSL.g:6128:1: ( ( rule__ChartLegend__ToggleTypeAssignment_2_2 ) )
+            // InternalChartDSL.g:6129:2: ( rule__ChartLegend__ToggleTypeAssignment_2_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartLegendAccess().getToggleTypeAssignment_2_2()); 
             }
-            // InternalChartDSL.g:6184:2: ( rule__ChartLegend__ToggleTypeAssignment_2_2 )
-            // InternalChartDSL.g:6184:3: rule__ChartLegend__ToggleTypeAssignment_2_2
+            // InternalChartDSL.g:6130:2: ( rule__ChartLegend__ToggleTypeAssignment_2_2 )
+            // InternalChartDSL.g:6130:3: rule__ChartLegend__ToggleTypeAssignment_2_2
             {
             pushFollow(FOLLOW_2);
             rule__ChartLegend__ToggleTypeAssignment_2_2();
@@ -22027,16 +21866,16 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__0"
-    // InternalChartDSL.g:6193:1: rule__ChartHighlighter__Group__0 : rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1 ;
+    // InternalChartDSL.g:6139:1: rule__ChartHighlighter__Group__0 : rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1 ;
     public final void rule__ChartHighlighter__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6197:1: ( rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1 )
-            // InternalChartDSL.g:6198:2: rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1
+            // InternalChartDSL.g:6143:1: ( rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1 )
+            // InternalChartDSL.g:6144:2: rule__ChartHighlighter__Group__0__Impl rule__ChartHighlighter__Group__1
             {
-            pushFollow(FOLLOW_46);
+            pushFollow(FOLLOW_45);
             rule__ChartHighlighter__Group__0__Impl();
 
             state._fsp--;
@@ -22065,17 +21904,17 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__0__Impl"
-    // InternalChartDSL.g:6205:1: rule__ChartHighlighter__Group__0__Impl : ( 'tooltip' ) ;
+    // InternalChartDSL.g:6151:1: rule__ChartHighlighter__Group__0__Impl : ( 'tooltip' ) ;
     public final void rule__ChartHighlighter__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6209:1: ( ( 'tooltip' ) )
-            // InternalChartDSL.g:6210:1: ( 'tooltip' )
+            // InternalChartDSL.g:6155:1: ( ( 'tooltip' ) )
+            // InternalChartDSL.g:6156:1: ( 'tooltip' )
             {
-            // InternalChartDSL.g:6210:1: ( 'tooltip' )
-            // InternalChartDSL.g:6211:2: 'tooltip'
+            // InternalChartDSL.g:6156:1: ( 'tooltip' )
+            // InternalChartDSL.g:6157:2: 'tooltip'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartHighlighterAccess().getTooltipKeyword_0()); 
@@ -22106,16 +21945,16 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__1"
-    // InternalChartDSL.g:6220:1: rule__ChartHighlighter__Group__1 : rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2 ;
+    // InternalChartDSL.g:6166:1: rule__ChartHighlighter__Group__1 : rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2 ;
     public final void rule__ChartHighlighter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6224:1: ( rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2 )
-            // InternalChartDSL.g:6225:2: rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2
+            // InternalChartDSL.g:6170:1: ( rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2 )
+            // InternalChartDSL.g:6171:2: rule__ChartHighlighter__Group__1__Impl rule__ChartHighlighter__Group__2
             {
-            pushFollow(FOLLOW_47);
+            pushFollow(FOLLOW_46);
             rule__ChartHighlighter__Group__1__Impl();
 
             state._fsp--;
@@ -22144,23 +21983,23 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__1__Impl"
-    // InternalChartDSL.g:6232:1: rule__ChartHighlighter__Group__1__Impl : ( ( rule__ChartHighlighter__LocationAssignment_1 ) ) ;
+    // InternalChartDSL.g:6178:1: rule__ChartHighlighter__Group__1__Impl : ( ( rule__ChartHighlighter__LocationAssignment_1 ) ) ;
     public final void rule__ChartHighlighter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6236:1: ( ( ( rule__ChartHighlighter__LocationAssignment_1 ) ) )
-            // InternalChartDSL.g:6237:1: ( ( rule__ChartHighlighter__LocationAssignment_1 ) )
+            // InternalChartDSL.g:6182:1: ( ( ( rule__ChartHighlighter__LocationAssignment_1 ) ) )
+            // InternalChartDSL.g:6183:1: ( ( rule__ChartHighlighter__LocationAssignment_1 ) )
             {
-            // InternalChartDSL.g:6237:1: ( ( rule__ChartHighlighter__LocationAssignment_1 ) )
-            // InternalChartDSL.g:6238:2: ( rule__ChartHighlighter__LocationAssignment_1 )
+            // InternalChartDSL.g:6183:1: ( ( rule__ChartHighlighter__LocationAssignment_1 ) )
+            // InternalChartDSL.g:6184:2: ( rule__ChartHighlighter__LocationAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartHighlighterAccess().getLocationAssignment_1()); 
             }
-            // InternalChartDSL.g:6239:2: ( rule__ChartHighlighter__LocationAssignment_1 )
-            // InternalChartDSL.g:6239:3: rule__ChartHighlighter__LocationAssignment_1
+            // InternalChartDSL.g:6185:2: ( rule__ChartHighlighter__LocationAssignment_1 )
+            // InternalChartDSL.g:6185:3: rule__ChartHighlighter__LocationAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartHighlighter__LocationAssignment_1();
@@ -22195,14 +22034,14 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__2"
-    // InternalChartDSL.g:6247:1: rule__ChartHighlighter__Group__2 : rule__ChartHighlighter__Group__2__Impl ;
+    // InternalChartDSL.g:6193:1: rule__ChartHighlighter__Group__2 : rule__ChartHighlighter__Group__2__Impl ;
     public final void rule__ChartHighlighter__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6251:1: ( rule__ChartHighlighter__Group__2__Impl )
-            // InternalChartDSL.g:6252:2: rule__ChartHighlighter__Group__2__Impl
+            // InternalChartDSL.g:6197:1: ( rule__ChartHighlighter__Group__2__Impl )
+            // InternalChartDSL.g:6198:2: rule__ChartHighlighter__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartHighlighter__Group__2__Impl();
@@ -22228,23 +22067,23 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group__2__Impl"
-    // InternalChartDSL.g:6258:1: rule__ChartHighlighter__Group__2__Impl : ( ( rule__ChartHighlighter__Group_2__0 ) ) ;
+    // InternalChartDSL.g:6204:1: rule__ChartHighlighter__Group__2__Impl : ( ( rule__ChartHighlighter__Group_2__0 ) ) ;
     public final void rule__ChartHighlighter__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6262:1: ( ( ( rule__ChartHighlighter__Group_2__0 ) ) )
-            // InternalChartDSL.g:6263:1: ( ( rule__ChartHighlighter__Group_2__0 ) )
+            // InternalChartDSL.g:6208:1: ( ( ( rule__ChartHighlighter__Group_2__0 ) ) )
+            // InternalChartDSL.g:6209:1: ( ( rule__ChartHighlighter__Group_2__0 ) )
             {
-            // InternalChartDSL.g:6263:1: ( ( rule__ChartHighlighter__Group_2__0 ) )
-            // InternalChartDSL.g:6264:2: ( rule__ChartHighlighter__Group_2__0 )
+            // InternalChartDSL.g:6209:1: ( ( rule__ChartHighlighter__Group_2__0 ) )
+            // InternalChartDSL.g:6210:2: ( rule__ChartHighlighter__Group_2__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartHighlighterAccess().getGroup_2()); 
             }
-            // InternalChartDSL.g:6265:2: ( rule__ChartHighlighter__Group_2__0 )
-            // InternalChartDSL.g:6265:3: rule__ChartHighlighter__Group_2__0
+            // InternalChartDSL.g:6211:2: ( rule__ChartHighlighter__Group_2__0 )
+            // InternalChartDSL.g:6211:3: rule__ChartHighlighter__Group_2__0
             {
             pushFollow(FOLLOW_2);
             rule__ChartHighlighter__Group_2__0();
@@ -22279,16 +22118,16 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group_2__0"
-    // InternalChartDSL.g:6274:1: rule__ChartHighlighter__Group_2__0 : rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1 ;
+    // InternalChartDSL.g:6220:1: rule__ChartHighlighter__Group_2__0 : rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1 ;
     public final void rule__ChartHighlighter__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6278:1: ( rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1 )
-            // InternalChartDSL.g:6279:2: rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1
+            // InternalChartDSL.g:6224:1: ( rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1 )
+            // InternalChartDSL.g:6225:2: rule__ChartHighlighter__Group_2__0__Impl rule__ChartHighlighter__Group_2__1
             {
-            pushFollow(FOLLOW_47);
+            pushFollow(FOLLOW_46);
             rule__ChartHighlighter__Group_2__0__Impl();
 
             state._fsp--;
@@ -22317,31 +22156,31 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group_2__0__Impl"
-    // InternalChartDSL.g:6286:1: rule__ChartHighlighter__Group_2__0__Impl : ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? ) ;
+    // InternalChartDSL.g:6232:1: rule__ChartHighlighter__Group_2__0__Impl : ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? ) ;
     public final void rule__ChartHighlighter__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6290:1: ( ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? ) )
-            // InternalChartDSL.g:6291:1: ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? )
+            // InternalChartDSL.g:6236:1: ( ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? ) )
+            // InternalChartDSL.g:6237:1: ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? )
             {
-            // InternalChartDSL.g:6291:1: ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? )
-            // InternalChartDSL.g:6292:2: ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )?
+            // InternalChartDSL.g:6237:1: ( ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )? )
+            // InternalChartDSL.g:6238:2: ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartHighlighterAccess().getTooltipAlwaysAssignment_2_0()); 
             }
-            // InternalChartDSL.g:6293:2: ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )?
-            int alt68=2;
-            int LA68_0 = input.LA(1);
+            // InternalChartDSL.g:6239:2: ( rule__ChartHighlighter__TooltipAlwaysAssignment_2_0 )?
+            int alt69=2;
+            int LA69_0 = input.LA(1);
 
-            if ( (LA68_0==147) ) {
-                alt68=1;
+            if ( (LA69_0==146) ) {
+                alt69=1;
             }
-            switch (alt68) {
+            switch (alt69) {
                 case 1 :
-                    // InternalChartDSL.g:6293:3: rule__ChartHighlighter__TooltipAlwaysAssignment_2_0
+                    // InternalChartDSL.g:6239:3: rule__ChartHighlighter__TooltipAlwaysAssignment_2_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartHighlighter__TooltipAlwaysAssignment_2_0();
@@ -22379,14 +22218,14 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group_2__1"
-    // InternalChartDSL.g:6301:1: rule__ChartHighlighter__Group_2__1 : rule__ChartHighlighter__Group_2__1__Impl ;
+    // InternalChartDSL.g:6247:1: rule__ChartHighlighter__Group_2__1 : rule__ChartHighlighter__Group_2__1__Impl ;
     public final void rule__ChartHighlighter__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6305:1: ( rule__ChartHighlighter__Group_2__1__Impl )
-            // InternalChartDSL.g:6306:2: rule__ChartHighlighter__Group_2__1__Impl
+            // InternalChartDSL.g:6251:1: ( rule__ChartHighlighter__Group_2__1__Impl )
+            // InternalChartDSL.g:6252:2: rule__ChartHighlighter__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartHighlighter__Group_2__1__Impl();
@@ -22412,31 +22251,31 @@
 
 
     // $ANTLR start "rule__ChartHighlighter__Group_2__1__Impl"
-    // InternalChartDSL.g:6312:1: rule__ChartHighlighter__Group_2__1__Impl : ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? ) ;
+    // InternalChartDSL.g:6258:1: rule__ChartHighlighter__Group_2__1__Impl : ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? ) ;
     public final void rule__ChartHighlighter__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6316:1: ( ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? ) )
-            // InternalChartDSL.g:6317:1: ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? )
+            // InternalChartDSL.g:6262:1: ( ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? ) )
+            // InternalChartDSL.g:6263:1: ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? )
             {
-            // InternalChartDSL.g:6317:1: ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? )
-            // InternalChartDSL.g:6318:2: ( rule__ChartHighlighter__InsideChartAssignment_2_1 )?
+            // InternalChartDSL.g:6263:1: ( ( rule__ChartHighlighter__InsideChartAssignment_2_1 )? )
+            // InternalChartDSL.g:6264:2: ( rule__ChartHighlighter__InsideChartAssignment_2_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartHighlighterAccess().getInsideChartAssignment_2_1()); 
             }
-            // InternalChartDSL.g:6319:2: ( rule__ChartHighlighter__InsideChartAssignment_2_1 )?
-            int alt69=2;
-            int LA69_0 = input.LA(1);
+            // InternalChartDSL.g:6265:2: ( rule__ChartHighlighter__InsideChartAssignment_2_1 )?
+            int alt70=2;
+            int LA70_0 = input.LA(1);
 
-            if ( (LA69_0==51) ) {
-                alt69=1;
+            if ( (LA70_0==51) ) {
+                alt70=1;
             }
-            switch (alt69) {
+            switch (alt70) {
                 case 1 :
-                    // InternalChartDSL.g:6319:3: rule__ChartHighlighter__InsideChartAssignment_2_1
+                    // InternalChartDSL.g:6265:3: rule__ChartHighlighter__InsideChartAssignment_2_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartHighlighter__InsideChartAssignment_2_1();
@@ -22474,14 +22313,14 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__0"
-    // InternalChartDSL.g:6328:1: rule__ChartAxis__Group__0 : rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1 ;
+    // InternalChartDSL.g:6274:1: rule__ChartAxis__Group__0 : rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1 ;
     public final void rule__ChartAxis__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6332:1: ( rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1 )
-            // InternalChartDSL.g:6333:2: rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1
+            // InternalChartDSL.g:6278:1: ( rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1 )
+            // InternalChartDSL.g:6279:2: rule__ChartAxis__Group__0__Impl rule__ChartAxis__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__ChartAxis__Group__0__Impl();
@@ -22512,17 +22351,17 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__0__Impl"
-    // InternalChartDSL.g:6340:1: rule__ChartAxis__Group__0__Impl : ( 'axis' ) ;
+    // InternalChartDSL.g:6286:1: rule__ChartAxis__Group__0__Impl : ( 'axis' ) ;
     public final void rule__ChartAxis__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6344:1: ( ( 'axis' ) )
-            // InternalChartDSL.g:6345:1: ( 'axis' )
+            // InternalChartDSL.g:6290:1: ( ( 'axis' ) )
+            // InternalChartDSL.g:6291:1: ( 'axis' )
             {
-            // InternalChartDSL.g:6345:1: ( 'axis' )
-            // InternalChartDSL.g:6346:2: 'axis'
+            // InternalChartDSL.g:6291:1: ( 'axis' )
+            // InternalChartDSL.g:6292:2: 'axis'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getAxisKeyword_0()); 
@@ -22553,16 +22392,16 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__1"
-    // InternalChartDSL.g:6355:1: rule__ChartAxis__Group__1 : rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2 ;
+    // InternalChartDSL.g:6301:1: rule__ChartAxis__Group__1 : rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2 ;
     public final void rule__ChartAxis__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6359:1: ( rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2 )
-            // InternalChartDSL.g:6360:2: rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2
+            // InternalChartDSL.g:6305:1: ( rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2 )
+            // InternalChartDSL.g:6306:2: rule__ChartAxis__Group__1__Impl rule__ChartAxis__Group__2
             {
-            pushFollow(FOLLOW_48);
+            pushFollow(FOLLOW_47);
             rule__ChartAxis__Group__1__Impl();
 
             state._fsp--;
@@ -22591,23 +22430,23 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__1__Impl"
-    // InternalChartDSL.g:6367:1: rule__ChartAxis__Group__1__Impl : ( ( rule__ChartAxis__AxisAssignment_1 ) ) ;
+    // InternalChartDSL.g:6313:1: rule__ChartAxis__Group__1__Impl : ( ( rule__ChartAxis__AxisAssignment_1 ) ) ;
     public final void rule__ChartAxis__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6371:1: ( ( ( rule__ChartAxis__AxisAssignment_1 ) ) )
-            // InternalChartDSL.g:6372:1: ( ( rule__ChartAxis__AxisAssignment_1 ) )
+            // InternalChartDSL.g:6317:1: ( ( ( rule__ChartAxis__AxisAssignment_1 ) ) )
+            // InternalChartDSL.g:6318:1: ( ( rule__ChartAxis__AxisAssignment_1 ) )
             {
-            // InternalChartDSL.g:6372:1: ( ( rule__ChartAxis__AxisAssignment_1 ) )
-            // InternalChartDSL.g:6373:2: ( rule__ChartAxis__AxisAssignment_1 )
+            // InternalChartDSL.g:6318:1: ( ( rule__ChartAxis__AxisAssignment_1 ) )
+            // InternalChartDSL.g:6319:2: ( rule__ChartAxis__AxisAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getAxisAssignment_1()); 
             }
-            // InternalChartDSL.g:6374:2: ( rule__ChartAxis__AxisAssignment_1 )
-            // InternalChartDSL.g:6374:3: rule__ChartAxis__AxisAssignment_1
+            // InternalChartDSL.g:6320:2: ( rule__ChartAxis__AxisAssignment_1 )
+            // InternalChartDSL.g:6320:3: rule__ChartAxis__AxisAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartAxis__AxisAssignment_1();
@@ -22642,16 +22481,16 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__2"
-    // InternalChartDSL.g:6382:1: rule__ChartAxis__Group__2 : rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3 ;
+    // InternalChartDSL.g:6328:1: rule__ChartAxis__Group__2 : rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3 ;
     public final void rule__ChartAxis__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6386:1: ( rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3 )
-            // InternalChartDSL.g:6387:2: rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3
+            // InternalChartDSL.g:6332:1: ( rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3 )
+            // InternalChartDSL.g:6333:2: rule__ChartAxis__Group__2__Impl rule__ChartAxis__Group__3
             {
-            pushFollow(FOLLOW_49);
+            pushFollow(FOLLOW_48);
             rule__ChartAxis__Group__2__Impl();
 
             state._fsp--;
@@ -22680,17 +22519,17 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__2__Impl"
-    // InternalChartDSL.g:6394:1: rule__ChartAxis__Group__2__Impl : ( 'renders' ) ;
+    // InternalChartDSL.g:6340:1: rule__ChartAxis__Group__2__Impl : ( 'renders' ) ;
     public final void rule__ChartAxis__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6398:1: ( ( 'renders' ) )
-            // InternalChartDSL.g:6399:1: ( 'renders' )
+            // InternalChartDSL.g:6344:1: ( ( 'renders' ) )
+            // InternalChartDSL.g:6345:1: ( 'renders' )
             {
-            // InternalChartDSL.g:6399:1: ( 'renders' )
-            // InternalChartDSL.g:6400:2: 'renders'
+            // InternalChartDSL.g:6345:1: ( 'renders' )
+            // InternalChartDSL.g:6346:2: 'renders'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getRendersKeyword_2()); 
@@ -22721,16 +22560,16 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__3"
-    // InternalChartDSL.g:6409:1: rule__ChartAxis__Group__3 : rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4 ;
+    // InternalChartDSL.g:6355:1: rule__ChartAxis__Group__3 : rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4 ;
     public final void rule__ChartAxis__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6413:1: ( rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4 )
-            // InternalChartDSL.g:6414:2: rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4
+            // InternalChartDSL.g:6359:1: ( rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4 )
+            // InternalChartDSL.g:6360:2: rule__ChartAxis__Group__3__Impl rule__ChartAxis__Group__4
             {
-            pushFollow(FOLLOW_50);
+            pushFollow(FOLLOW_49);
             rule__ChartAxis__Group__3__Impl();
 
             state._fsp--;
@@ -22759,23 +22598,23 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__3__Impl"
-    // InternalChartDSL.g:6421:1: rule__ChartAxis__Group__3__Impl : ( ( rule__ChartAxis__RenderTypeAssignment_3 ) ) ;
+    // InternalChartDSL.g:6367:1: rule__ChartAxis__Group__3__Impl : ( ( rule__ChartAxis__RenderTypeAssignment_3 ) ) ;
     public final void rule__ChartAxis__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6425:1: ( ( ( rule__ChartAxis__RenderTypeAssignment_3 ) ) )
-            // InternalChartDSL.g:6426:1: ( ( rule__ChartAxis__RenderTypeAssignment_3 ) )
+            // InternalChartDSL.g:6371:1: ( ( ( rule__ChartAxis__RenderTypeAssignment_3 ) ) )
+            // InternalChartDSL.g:6372:1: ( ( rule__ChartAxis__RenderTypeAssignment_3 ) )
             {
-            // InternalChartDSL.g:6426:1: ( ( rule__ChartAxis__RenderTypeAssignment_3 ) )
-            // InternalChartDSL.g:6427:2: ( rule__ChartAxis__RenderTypeAssignment_3 )
+            // InternalChartDSL.g:6372:1: ( ( rule__ChartAxis__RenderTypeAssignment_3 ) )
+            // InternalChartDSL.g:6373:2: ( rule__ChartAxis__RenderTypeAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getRenderTypeAssignment_3()); 
             }
-            // InternalChartDSL.g:6428:2: ( rule__ChartAxis__RenderTypeAssignment_3 )
-            // InternalChartDSL.g:6428:3: rule__ChartAxis__RenderTypeAssignment_3
+            // InternalChartDSL.g:6374:2: ( rule__ChartAxis__RenderTypeAssignment_3 )
+            // InternalChartDSL.g:6374:3: rule__ChartAxis__RenderTypeAssignment_3
             {
             pushFollow(FOLLOW_2);
             rule__ChartAxis__RenderTypeAssignment_3();
@@ -22810,16 +22649,16 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__4"
-    // InternalChartDSL.g:6436:1: rule__ChartAxis__Group__4 : rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5 ;
+    // InternalChartDSL.g:6382:1: rule__ChartAxis__Group__4 : rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5 ;
     public final void rule__ChartAxis__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6440:1: ( rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5 )
-            // InternalChartDSL.g:6441:2: rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5
+            // InternalChartDSL.g:6386:1: ( rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5 )
+            // InternalChartDSL.g:6387:2: rule__ChartAxis__Group__4__Impl rule__ChartAxis__Group__5
             {
-            pushFollow(FOLLOW_50);
+            pushFollow(FOLLOW_49);
             rule__ChartAxis__Group__4__Impl();
 
             state._fsp--;
@@ -22848,31 +22687,31 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__4__Impl"
-    // InternalChartDSL.g:6448:1: rule__ChartAxis__Group__4__Impl : ( ( rule__ChartAxis__ShortLabelAssignment_4 )? ) ;
+    // InternalChartDSL.g:6394:1: rule__ChartAxis__Group__4__Impl : ( ( rule__ChartAxis__ShortLabelAssignment_4 )? ) ;
     public final void rule__ChartAxis__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6452:1: ( ( ( rule__ChartAxis__ShortLabelAssignment_4 )? ) )
-            // InternalChartDSL.g:6453:1: ( ( rule__ChartAxis__ShortLabelAssignment_4 )? )
+            // InternalChartDSL.g:6398:1: ( ( ( rule__ChartAxis__ShortLabelAssignment_4 )? ) )
+            // InternalChartDSL.g:6399:1: ( ( rule__ChartAxis__ShortLabelAssignment_4 )? )
             {
-            // InternalChartDSL.g:6453:1: ( ( rule__ChartAxis__ShortLabelAssignment_4 )? )
-            // InternalChartDSL.g:6454:2: ( rule__ChartAxis__ShortLabelAssignment_4 )?
+            // InternalChartDSL.g:6399:1: ( ( rule__ChartAxis__ShortLabelAssignment_4 )? )
+            // InternalChartDSL.g:6400:2: ( rule__ChartAxis__ShortLabelAssignment_4 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getShortLabelAssignment_4()); 
             }
-            // InternalChartDSL.g:6455:2: ( rule__ChartAxis__ShortLabelAssignment_4 )?
-            int alt70=2;
-            int LA70_0 = input.LA(1);
+            // InternalChartDSL.g:6401:2: ( rule__ChartAxis__ShortLabelAssignment_4 )?
+            int alt71=2;
+            int LA71_0 = input.LA(1);
 
-            if ( (LA70_0==148) ) {
-                alt70=1;
+            if ( (LA71_0==147) ) {
+                alt71=1;
             }
-            switch (alt70) {
+            switch (alt71) {
                 case 1 :
-                    // InternalChartDSL.g:6455:3: rule__ChartAxis__ShortLabelAssignment_4
+                    // InternalChartDSL.g:6401:3: rule__ChartAxis__ShortLabelAssignment_4
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartAxis__ShortLabelAssignment_4();
@@ -22910,14 +22749,14 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__5"
-    // InternalChartDSL.g:6463:1: rule__ChartAxis__Group__5 : rule__ChartAxis__Group__5__Impl ;
+    // InternalChartDSL.g:6409:1: rule__ChartAxis__Group__5 : rule__ChartAxis__Group__5__Impl ;
     public final void rule__ChartAxis__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6467:1: ( rule__ChartAxis__Group__5__Impl )
-            // InternalChartDSL.g:6468:2: rule__ChartAxis__Group__5__Impl
+            // InternalChartDSL.g:6413:1: ( rule__ChartAxis__Group__5__Impl )
+            // InternalChartDSL.g:6414:2: rule__ChartAxis__Group__5__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartAxis__Group__5__Impl();
@@ -22943,31 +22782,31 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group__5__Impl"
-    // InternalChartDSL.g:6474:1: rule__ChartAxis__Group__5__Impl : ( ( rule__ChartAxis__Group_5__0 )? ) ;
+    // InternalChartDSL.g:6420:1: rule__ChartAxis__Group__5__Impl : ( ( rule__ChartAxis__Group_5__0 )? ) ;
     public final void rule__ChartAxis__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6478:1: ( ( ( rule__ChartAxis__Group_5__0 )? ) )
-            // InternalChartDSL.g:6479:1: ( ( rule__ChartAxis__Group_5__0 )? )
+            // InternalChartDSL.g:6424:1: ( ( ( rule__ChartAxis__Group_5__0 )? ) )
+            // InternalChartDSL.g:6425:1: ( ( rule__ChartAxis__Group_5__0 )? )
             {
-            // InternalChartDSL.g:6479:1: ( ( rule__ChartAxis__Group_5__0 )? )
-            // InternalChartDSL.g:6480:2: ( rule__ChartAxis__Group_5__0 )?
+            // InternalChartDSL.g:6425:1: ( ( rule__ChartAxis__Group_5__0 )? )
+            // InternalChartDSL.g:6426:2: ( rule__ChartAxis__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getGroup_5()); 
             }
-            // InternalChartDSL.g:6481:2: ( rule__ChartAxis__Group_5__0 )?
-            int alt71=2;
-            int LA71_0 = input.LA(1);
+            // InternalChartDSL.g:6427:2: ( rule__ChartAxis__Group_5__0 )?
+            int alt72=2;
+            int LA72_0 = input.LA(1);
 
-            if ( (LA71_0==92) ) {
-                alt71=1;
+            if ( (LA72_0==92) ) {
+                alt72=1;
             }
-            switch (alt71) {
+            switch (alt72) {
                 case 1 :
-                    // InternalChartDSL.g:6481:3: rule__ChartAxis__Group_5__0
+                    // InternalChartDSL.g:6427:3: rule__ChartAxis__Group_5__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ChartAxis__Group_5__0();
@@ -23005,16 +22844,16 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group_5__0"
-    // InternalChartDSL.g:6490:1: rule__ChartAxis__Group_5__0 : rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1 ;
+    // InternalChartDSL.g:6436:1: rule__ChartAxis__Group_5__0 : rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1 ;
     public final void rule__ChartAxis__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6494:1: ( rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1 )
-            // InternalChartDSL.g:6495:2: rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1
+            // InternalChartDSL.g:6440:1: ( rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1 )
+            // InternalChartDSL.g:6441:2: rule__ChartAxis__Group_5__0__Impl rule__ChartAxis__Group_5__1
             {
-            pushFollow(FOLLOW_38);
+            pushFollow(FOLLOW_37);
             rule__ChartAxis__Group_5__0__Impl();
 
             state._fsp--;
@@ -23043,17 +22882,17 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group_5__0__Impl"
-    // InternalChartDSL.g:6502:1: rule__ChartAxis__Group_5__0__Impl : ( 'angle' ) ;
+    // InternalChartDSL.g:6448:1: rule__ChartAxis__Group_5__0__Impl : ( 'angle' ) ;
     public final void rule__ChartAxis__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6506:1: ( ( 'angle' ) )
-            // InternalChartDSL.g:6507:1: ( 'angle' )
+            // InternalChartDSL.g:6452:1: ( ( 'angle' ) )
+            // InternalChartDSL.g:6453:1: ( 'angle' )
             {
-            // InternalChartDSL.g:6507:1: ( 'angle' )
-            // InternalChartDSL.g:6508:2: 'angle'
+            // InternalChartDSL.g:6453:1: ( 'angle' )
+            // InternalChartDSL.g:6454:2: 'angle'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getAngleKeyword_5_0()); 
@@ -23084,14 +22923,14 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group_5__1"
-    // InternalChartDSL.g:6517:1: rule__ChartAxis__Group_5__1 : rule__ChartAxis__Group_5__1__Impl ;
+    // InternalChartDSL.g:6463:1: rule__ChartAxis__Group_5__1 : rule__ChartAxis__Group_5__1__Impl ;
     public final void rule__ChartAxis__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6521:1: ( rule__ChartAxis__Group_5__1__Impl )
-            // InternalChartDSL.g:6522:2: rule__ChartAxis__Group_5__1__Impl
+            // InternalChartDSL.g:6467:1: ( rule__ChartAxis__Group_5__1__Impl )
+            // InternalChartDSL.g:6468:2: rule__ChartAxis__Group_5__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartAxis__Group_5__1__Impl();
@@ -23117,23 +22956,23 @@
 
 
     // $ANTLR start "rule__ChartAxis__Group_5__1__Impl"
-    // InternalChartDSL.g:6528:1: rule__ChartAxis__Group_5__1__Impl : ( ( rule__ChartAxis__AngleAssignment_5_1 ) ) ;
+    // InternalChartDSL.g:6474:1: rule__ChartAxis__Group_5__1__Impl : ( ( rule__ChartAxis__AngleAssignment_5_1 ) ) ;
     public final void rule__ChartAxis__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6532:1: ( ( ( rule__ChartAxis__AngleAssignment_5_1 ) ) )
-            // InternalChartDSL.g:6533:1: ( ( rule__ChartAxis__AngleAssignment_5_1 ) )
+            // InternalChartDSL.g:6478:1: ( ( ( rule__ChartAxis__AngleAssignment_5_1 ) ) )
+            // InternalChartDSL.g:6479:1: ( ( rule__ChartAxis__AngleAssignment_5_1 ) )
             {
-            // InternalChartDSL.g:6533:1: ( ( rule__ChartAxis__AngleAssignment_5_1 ) )
-            // InternalChartDSL.g:6534:2: ( rule__ChartAxis__AngleAssignment_5_1 )
+            // InternalChartDSL.g:6479:1: ( ( rule__ChartAxis__AngleAssignment_5_1 ) )
+            // InternalChartDSL.g:6480:2: ( rule__ChartAxis__AngleAssignment_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartAxisAccess().getAngleAssignment_5_1()); 
             }
-            // InternalChartDSL.g:6535:2: ( rule__ChartAxis__AngleAssignment_5_1 )
-            // InternalChartDSL.g:6535:3: rule__ChartAxis__AngleAssignment_5_1
+            // InternalChartDSL.g:6481:2: ( rule__ChartAxis__AngleAssignment_5_1 )
+            // InternalChartDSL.g:6481:3: rule__ChartAxis__AngleAssignment_5_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartAxis__AngleAssignment_5_1();
@@ -23168,16 +23007,16 @@
 
 
     // $ANTLR start "rule__ChartSegmentColor__Group__0"
-    // InternalChartDSL.g:6544:1: rule__ChartSegmentColor__Group__0 : rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1 ;
+    // InternalChartDSL.g:6490:1: rule__ChartSegmentColor__Group__0 : rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1 ;
     public final void rule__ChartSegmentColor__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6548:1: ( rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1 )
-            // InternalChartDSL.g:6549:2: rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1
+            // InternalChartDSL.g:6494:1: ( rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1 )
+            // InternalChartDSL.g:6495:2: rule__ChartSegmentColor__Group__0__Impl rule__ChartSegmentColor__Group__1
             {
-            pushFollow(FOLLOW_16);
+            pushFollow(FOLLOW_15);
             rule__ChartSegmentColor__Group__0__Impl();
 
             state._fsp--;
@@ -23206,17 +23045,17 @@
 
 
     // $ANTLR start "rule__ChartSegmentColor__Group__0__Impl"
-    // InternalChartDSL.g:6556:1: rule__ChartSegmentColor__Group__0__Impl : ( 'segmentcolor' ) ;
+    // InternalChartDSL.g:6502:1: rule__ChartSegmentColor__Group__0__Impl : ( 'segmentcolor' ) ;
     public final void rule__ChartSegmentColor__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6560:1: ( ( 'segmentcolor' ) )
-            // InternalChartDSL.g:6561:1: ( 'segmentcolor' )
+            // InternalChartDSL.g:6506:1: ( ( 'segmentcolor' ) )
+            // InternalChartDSL.g:6507:1: ( 'segmentcolor' )
             {
-            // InternalChartDSL.g:6561:1: ( 'segmentcolor' )
-            // InternalChartDSL.g:6562:2: 'segmentcolor'
+            // InternalChartDSL.g:6507:1: ( 'segmentcolor' )
+            // InternalChartDSL.g:6508:2: 'segmentcolor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartSegmentColorAccess().getSegmentcolorKeyword_0()); 
@@ -23247,14 +23086,14 @@
 
 
     // $ANTLR start "rule__ChartSegmentColor__Group__1"
-    // InternalChartDSL.g:6571:1: rule__ChartSegmentColor__Group__1 : rule__ChartSegmentColor__Group__1__Impl ;
+    // InternalChartDSL.g:6517:1: rule__ChartSegmentColor__Group__1 : rule__ChartSegmentColor__Group__1__Impl ;
     public final void rule__ChartSegmentColor__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6575:1: ( rule__ChartSegmentColor__Group__1__Impl )
-            // InternalChartDSL.g:6576:2: rule__ChartSegmentColor__Group__1__Impl
+            // InternalChartDSL.g:6521:1: ( rule__ChartSegmentColor__Group__1__Impl )
+            // InternalChartDSL.g:6522:2: rule__ChartSegmentColor__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ChartSegmentColor__Group__1__Impl();
@@ -23280,23 +23119,23 @@
 
 
     // $ANTLR start "rule__ChartSegmentColor__Group__1__Impl"
-    // InternalChartDSL.g:6582:1: rule__ChartSegmentColor__Group__1__Impl : ( ( rule__ChartSegmentColor__RgbAssignment_1 ) ) ;
+    // InternalChartDSL.g:6528:1: rule__ChartSegmentColor__Group__1__Impl : ( ( rule__ChartSegmentColor__RgbAssignment_1 ) ) ;
     public final void rule__ChartSegmentColor__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6586:1: ( ( ( rule__ChartSegmentColor__RgbAssignment_1 ) ) )
-            // InternalChartDSL.g:6587:1: ( ( rule__ChartSegmentColor__RgbAssignment_1 ) )
+            // InternalChartDSL.g:6532:1: ( ( ( rule__ChartSegmentColor__RgbAssignment_1 ) ) )
+            // InternalChartDSL.g:6533:1: ( ( rule__ChartSegmentColor__RgbAssignment_1 ) )
             {
-            // InternalChartDSL.g:6587:1: ( ( rule__ChartSegmentColor__RgbAssignment_1 ) )
-            // InternalChartDSL.g:6588:2: ( rule__ChartSegmentColor__RgbAssignment_1 )
+            // InternalChartDSL.g:6533:1: ( ( rule__ChartSegmentColor__RgbAssignment_1 ) )
+            // InternalChartDSL.g:6534:2: ( rule__ChartSegmentColor__RgbAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getChartSegmentColorAccess().getRgbAssignment_1()); 
             }
-            // InternalChartDSL.g:6589:2: ( rule__ChartSegmentColor__RgbAssignment_1 )
-            // InternalChartDSL.g:6589:3: rule__ChartSegmentColor__RgbAssignment_1
+            // InternalChartDSL.g:6535:2: ( rule__ChartSegmentColor__RgbAssignment_1 )
+            // InternalChartDSL.g:6535:3: rule__ChartSegmentColor__RgbAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ChartSegmentColor__RgbAssignment_1();
@@ -23331,16 +23170,16 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__0"
-    // InternalChartDSL.g:6598:1: rule__SignedNumber__Group__0 : rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 ;
+    // InternalChartDSL.g:6544:1: rule__SignedNumber__Group__0 : rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 ;
     public final void rule__SignedNumber__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6602:1: ( rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 )
-            // InternalChartDSL.g:6603:2: rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1
+            // InternalChartDSL.g:6548:1: ( rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1 )
+            // InternalChartDSL.g:6549:2: rule__SignedNumber__Group__0__Impl rule__SignedNumber__Group__1
             {
-            pushFollow(FOLLOW_38);
+            pushFollow(FOLLOW_37);
             rule__SignedNumber__Group__0__Impl();
 
             state._fsp--;
@@ -23369,31 +23208,31 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__0__Impl"
-    // InternalChartDSL.g:6610:1: rule__SignedNumber__Group__0__Impl : ( ( '-' )? ) ;
+    // InternalChartDSL.g:6556:1: rule__SignedNumber__Group__0__Impl : ( ( '-' )? ) ;
     public final void rule__SignedNumber__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6614:1: ( ( ( '-' )? ) )
-            // InternalChartDSL.g:6615:1: ( ( '-' )? )
+            // InternalChartDSL.g:6560:1: ( ( ( '-' )? ) )
+            // InternalChartDSL.g:6561:1: ( ( '-' )? )
             {
-            // InternalChartDSL.g:6615:1: ( ( '-' )? )
-            // InternalChartDSL.g:6616:2: ( '-' )?
+            // InternalChartDSL.g:6561:1: ( ( '-' )? )
+            // InternalChartDSL.g:6562:2: ( '-' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignedNumberAccess().getHyphenMinusKeyword_0()); 
             }
-            // InternalChartDSL.g:6617:2: ( '-' )?
-            int alt72=2;
-            int LA72_0 = input.LA(1);
+            // InternalChartDSL.g:6563:2: ( '-' )?
+            int alt73=2;
+            int LA73_0 = input.LA(1);
 
-            if ( (LA72_0==35) ) {
-                alt72=1;
+            if ( (LA73_0==35) ) {
+                alt73=1;
             }
-            switch (alt72) {
+            switch (alt73) {
                 case 1 :
-                    // InternalChartDSL.g:6617:3: '-'
+                    // InternalChartDSL.g:6563:3: '-'
                     {
                     match(input,35,FOLLOW_2); if (state.failed) return ;
 
@@ -23427,14 +23266,14 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__1"
-    // InternalChartDSL.g:6625:1: rule__SignedNumber__Group__1 : rule__SignedNumber__Group__1__Impl ;
+    // InternalChartDSL.g:6571:1: rule__SignedNumber__Group__1 : rule__SignedNumber__Group__1__Impl ;
     public final void rule__SignedNumber__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6629:1: ( rule__SignedNumber__Group__1__Impl )
-            // InternalChartDSL.g:6630:2: rule__SignedNumber__Group__1__Impl
+            // InternalChartDSL.g:6575:1: ( rule__SignedNumber__Group__1__Impl )
+            // InternalChartDSL.g:6576:2: rule__SignedNumber__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__SignedNumber__Group__1__Impl();
@@ -23460,17 +23299,17 @@
 
 
     // $ANTLR start "rule__SignedNumber__Group__1__Impl"
-    // InternalChartDSL.g:6636:1: rule__SignedNumber__Group__1__Impl : ( RULE_INT ) ;
+    // InternalChartDSL.g:6582:1: rule__SignedNumber__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__SignedNumber__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6640:1: ( ( RULE_INT ) )
-            // InternalChartDSL.g:6641:1: ( RULE_INT )
+            // InternalChartDSL.g:6586:1: ( ( RULE_INT ) )
+            // InternalChartDSL.g:6587:1: ( RULE_INT )
             {
-            // InternalChartDSL.g:6641:1: ( RULE_INT )
-            // InternalChartDSL.g:6642:2: RULE_INT
+            // InternalChartDSL.g:6587:1: ( RULE_INT )
+            // InternalChartDSL.g:6588:2: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSignedNumberAccess().getINTTerminalRuleCall_1()); 
@@ -23501,16 +23340,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__0"
-    // InternalChartDSL.g:6652:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
+    // InternalChartDSL.g:6598:1: rule__XImportDeclaration__Group__0 : rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 ;
     public final void rule__XImportDeclaration__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6656:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
-            // InternalChartDSL.g:6657:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
+            // InternalChartDSL.g:6602:1: ( rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1 )
+            // InternalChartDSL.g:6603:2: rule__XImportDeclaration__Group__0__Impl rule__XImportDeclaration__Group__1
             {
-            pushFollow(FOLLOW_51);
+            pushFollow(FOLLOW_50);
             rule__XImportDeclaration__Group__0__Impl();
 
             state._fsp--;
@@ -23539,23 +23378,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__0__Impl"
-    // InternalChartDSL.g:6664:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:6610:1: rule__XImportDeclaration__Group__0__Impl : ( () ) ;
     public final void rule__XImportDeclaration__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6668:1: ( ( () ) )
-            // InternalChartDSL.g:6669:1: ( () )
+            // InternalChartDSL.g:6614:1: ( ( () ) )
+            // InternalChartDSL.g:6615:1: ( () )
             {
-            // InternalChartDSL.g:6669:1: ( () )
-            // InternalChartDSL.g:6670:2: ()
+            // InternalChartDSL.g:6615:1: ( () )
+            // InternalChartDSL.g:6616:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getOXImportDeclarationAction_0()); 
             }
-            // InternalChartDSL.g:6671:2: ()
-            // InternalChartDSL.g:6671:3: 
+            // InternalChartDSL.g:6617:2: ()
+            // InternalChartDSL.g:6617:3: 
             {
             }
 
@@ -23580,16 +23419,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__1"
-    // InternalChartDSL.g:6679:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
+    // InternalChartDSL.g:6625:1: rule__XImportDeclaration__Group__1 : rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 ;
     public final void rule__XImportDeclaration__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6683:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
-            // InternalChartDSL.g:6684:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
+            // InternalChartDSL.g:6629:1: ( rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2 )
+            // InternalChartDSL.g:6630:2: rule__XImportDeclaration__Group__1__Impl rule__XImportDeclaration__Group__2
             {
-            pushFollow(FOLLOW_52);
+            pushFollow(FOLLOW_51);
             rule__XImportDeclaration__Group__1__Impl();
 
             state._fsp--;
@@ -23618,17 +23457,17 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__1__Impl"
-    // InternalChartDSL.g:6691:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
+    // InternalChartDSL.g:6637:1: rule__XImportDeclaration__Group__1__Impl : ( 'import' ) ;
     public final void rule__XImportDeclaration__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6695:1: ( ( 'import' ) )
-            // InternalChartDSL.g:6696:1: ( 'import' )
+            // InternalChartDSL.g:6641:1: ( ( 'import' ) )
+            // InternalChartDSL.g:6642:1: ( 'import' )
             {
-            // InternalChartDSL.g:6696:1: ( 'import' )
-            // InternalChartDSL.g:6697:2: 'import'
+            // InternalChartDSL.g:6642:1: ( 'import' )
+            // InternalChartDSL.g:6643:2: 'import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportKeyword_1()); 
@@ -23659,16 +23498,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2"
-    // InternalChartDSL.g:6706:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
+    // InternalChartDSL.g:6652:1: rule__XImportDeclaration__Group__2 : rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 ;
     public final void rule__XImportDeclaration__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6710:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
-            // InternalChartDSL.g:6711:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
+            // InternalChartDSL.g:6656:1: ( rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3 )
+            // InternalChartDSL.g:6657:2: rule__XImportDeclaration__Group__2__Impl rule__XImportDeclaration__Group__3
             {
-            pushFollow(FOLLOW_53);
+            pushFollow(FOLLOW_52);
             rule__XImportDeclaration__Group__2__Impl();
 
             state._fsp--;
@@ -23697,23 +23536,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__2__Impl"
-    // InternalChartDSL.g:6718:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
+    // InternalChartDSL.g:6664:1: rule__XImportDeclaration__Group__2__Impl : ( ( rule__XImportDeclaration__Alternatives_2 ) ) ;
     public final void rule__XImportDeclaration__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6722:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
-            // InternalChartDSL.g:6723:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalChartDSL.g:6668:1: ( ( ( rule__XImportDeclaration__Alternatives_2 ) ) )
+            // InternalChartDSL.g:6669:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
             {
-            // InternalChartDSL.g:6723:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
-            // InternalChartDSL.g:6724:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalChartDSL.g:6669:1: ( ( rule__XImportDeclaration__Alternatives_2 ) )
+            // InternalChartDSL.g:6670:2: ( rule__XImportDeclaration__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2()); 
             }
-            // InternalChartDSL.g:6725:2: ( rule__XImportDeclaration__Alternatives_2 )
-            // InternalChartDSL.g:6725:3: rule__XImportDeclaration__Alternatives_2
+            // InternalChartDSL.g:6671:2: ( rule__XImportDeclaration__Alternatives_2 )
+            // InternalChartDSL.g:6671:3: rule__XImportDeclaration__Alternatives_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2();
@@ -23748,14 +23587,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3"
-    // InternalChartDSL.g:6733:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
+    // InternalChartDSL.g:6679:1: rule__XImportDeclaration__Group__3 : rule__XImportDeclaration__Group__3__Impl ;
     public final void rule__XImportDeclaration__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6737:1: ( rule__XImportDeclaration__Group__3__Impl )
-            // InternalChartDSL.g:6738:2: rule__XImportDeclaration__Group__3__Impl
+            // InternalChartDSL.g:6683:1: ( rule__XImportDeclaration__Group__3__Impl )
+            // InternalChartDSL.g:6684:2: rule__XImportDeclaration__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group__3__Impl();
@@ -23781,31 +23620,31 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group__3__Impl"
-    // InternalChartDSL.g:6744:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
+    // InternalChartDSL.g:6690:1: rule__XImportDeclaration__Group__3__Impl : ( ( ';' )? ) ;
     public final void rule__XImportDeclaration__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6748:1: ( ( ( ';' )? ) )
-            // InternalChartDSL.g:6749:1: ( ( ';' )? )
+            // InternalChartDSL.g:6694:1: ( ( ( ';' )? ) )
+            // InternalChartDSL.g:6695:1: ( ( ';' )? )
             {
-            // InternalChartDSL.g:6749:1: ( ( ';' )? )
-            // InternalChartDSL.g:6750:2: ( ';' )?
+            // InternalChartDSL.g:6695:1: ( ( ';' )? )
+            // InternalChartDSL.g:6696:2: ( ';' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_3()); 
             }
-            // InternalChartDSL.g:6751:2: ( ';' )?
-            int alt73=2;
-            int LA73_0 = input.LA(1);
+            // InternalChartDSL.g:6697:2: ( ';' )?
+            int alt74=2;
+            int LA74_0 = input.LA(1);
 
-            if ( (LA73_0==94) ) {
-                alt73=1;
+            if ( (LA74_0==94) ) {
+                alt74=1;
             }
-            switch (alt73) {
+            switch (alt74) {
                 case 1 :
-                    // InternalChartDSL.g:6751:3: ';'
+                    // InternalChartDSL.g:6697:3: ';'
                     {
                     match(input,94,FOLLOW_2); if (state.failed) return ;
 
@@ -23839,16 +23678,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0"
-    // InternalChartDSL.g:6760:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
+    // InternalChartDSL.g:6706:1: rule__XImportDeclaration__Group_2_0__0 : rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 ;
     public final void rule__XImportDeclaration__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6764:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
-            // InternalChartDSL.g:6765:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
+            // InternalChartDSL.g:6710:1: ( rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1 )
+            // InternalChartDSL.g:6711:2: rule__XImportDeclaration__Group_2_0__0__Impl rule__XImportDeclaration__Group_2_0__1
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_53);
             rule__XImportDeclaration__Group_2_0__0__Impl();
 
             state._fsp--;
@@ -23877,23 +23716,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__0__Impl"
-    // InternalChartDSL.g:6772:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
+    // InternalChartDSL.g:6718:1: rule__XImportDeclaration__Group_2_0__0__Impl : ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6776:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
-            // InternalChartDSL.g:6777:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalChartDSL.g:6722:1: ( ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) ) )
+            // InternalChartDSL.g:6723:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
             {
-            // InternalChartDSL.g:6777:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
-            // InternalChartDSL.g:6778:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalChartDSL.g:6723:1: ( ( rule__XImportDeclaration__StaticAssignment_2_0_0 ) )
+            // InternalChartDSL.g:6724:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_2_0_0()); 
             }
-            // InternalChartDSL.g:6779:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
-            // InternalChartDSL.g:6779:3: rule__XImportDeclaration__StaticAssignment_2_0_0
+            // InternalChartDSL.g:6725:2: ( rule__XImportDeclaration__StaticAssignment_2_0_0 )
+            // InternalChartDSL.g:6725:3: rule__XImportDeclaration__StaticAssignment_2_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__StaticAssignment_2_0_0();
@@ -23928,16 +23767,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1"
-    // InternalChartDSL.g:6787:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
+    // InternalChartDSL.g:6733:1: rule__XImportDeclaration__Group_2_0__1 : rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 ;
     public final void rule__XImportDeclaration__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6791:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
-            // InternalChartDSL.g:6792:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
+            // InternalChartDSL.g:6737:1: ( rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2 )
+            // InternalChartDSL.g:6738:2: rule__XImportDeclaration__Group_2_0__1__Impl rule__XImportDeclaration__Group_2_0__2
             {
-            pushFollow(FOLLOW_54);
+            pushFollow(FOLLOW_53);
             rule__XImportDeclaration__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -23966,31 +23805,31 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__1__Impl"
-    // InternalChartDSL.g:6799:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
+    // InternalChartDSL.g:6745:1: rule__XImportDeclaration__Group_2_0__1__Impl : ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) ;
     public final void rule__XImportDeclaration__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6803:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
-            // InternalChartDSL.g:6804:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalChartDSL.g:6749:1: ( ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? ) )
+            // InternalChartDSL.g:6750:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
             {
-            // InternalChartDSL.g:6804:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
-            // InternalChartDSL.g:6805:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            // InternalChartDSL.g:6750:1: ( ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )? )
+            // InternalChartDSL.g:6751:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_2_0_1()); 
             }
-            // InternalChartDSL.g:6806:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
-            int alt74=2;
-            int LA74_0 = input.LA(1);
+            // InternalChartDSL.g:6752:2: ( rule__XImportDeclaration__ExtensionAssignment_2_0_1 )?
+            int alt75=2;
+            int LA75_0 = input.LA(1);
 
-            if ( (LA74_0==48) ) {
-                alt74=1;
+            if ( (LA75_0==48) ) {
+                alt75=1;
             }
-            switch (alt74) {
+            switch (alt75) {
                 case 1 :
-                    // InternalChartDSL.g:6806:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
+                    // InternalChartDSL.g:6752:3: rule__XImportDeclaration__ExtensionAssignment_2_0_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XImportDeclaration__ExtensionAssignment_2_0_1();
@@ -24028,16 +23867,16 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2"
-    // InternalChartDSL.g:6814:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
+    // InternalChartDSL.g:6760:1: rule__XImportDeclaration__Group_2_0__2 : rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 ;
     public final void rule__XImportDeclaration__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6818:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
-            // InternalChartDSL.g:6819:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
+            // InternalChartDSL.g:6764:1: ( rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3 )
+            // InternalChartDSL.g:6765:2: rule__XImportDeclaration__Group_2_0__2__Impl rule__XImportDeclaration__Group_2_0__3
             {
-            pushFollow(FOLLOW_55);
+            pushFollow(FOLLOW_54);
             rule__XImportDeclaration__Group_2_0__2__Impl();
 
             state._fsp--;
@@ -24066,23 +23905,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__2__Impl"
-    // InternalChartDSL.g:6826:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
+    // InternalChartDSL.g:6772:1: rule__XImportDeclaration__Group_2_0__2__Impl : ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6830:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
-            // InternalChartDSL.g:6831:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalChartDSL.g:6776:1: ( ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) ) )
+            // InternalChartDSL.g:6777:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
             {
-            // InternalChartDSL.g:6831:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
-            // InternalChartDSL.g:6832:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalChartDSL.g:6777:1: ( ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 ) )
+            // InternalChartDSL.g:6778:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_0_2()); 
             }
-            // InternalChartDSL.g:6833:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
-            // InternalChartDSL.g:6833:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
+            // InternalChartDSL.g:6779:2: ( rule__XImportDeclaration__ImportedTypeAssignment_2_0_2 )
+            // InternalChartDSL.g:6779:3: rule__XImportDeclaration__ImportedTypeAssignment_2_0_2
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedTypeAssignment_2_0_2();
@@ -24117,14 +23956,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3"
-    // InternalChartDSL.g:6841:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
+    // InternalChartDSL.g:6787:1: rule__XImportDeclaration__Group_2_0__3 : rule__XImportDeclaration__Group_2_0__3__Impl ;
     public final void rule__XImportDeclaration__Group_2_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6845:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
-            // InternalChartDSL.g:6846:2: rule__XImportDeclaration__Group_2_0__3__Impl
+            // InternalChartDSL.g:6791:1: ( rule__XImportDeclaration__Group_2_0__3__Impl )
+            // InternalChartDSL.g:6792:2: rule__XImportDeclaration__Group_2_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_0__3__Impl();
@@ -24150,23 +23989,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_0__3__Impl"
-    // InternalChartDSL.g:6852:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
+    // InternalChartDSL.g:6798:1: rule__XImportDeclaration__Group_2_0__3__Impl : ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) ;
     public final void rule__XImportDeclaration__Group_2_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6856:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
-            // InternalChartDSL.g:6857:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalChartDSL.g:6802:1: ( ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) ) )
+            // InternalChartDSL.g:6803:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
             {
-            // InternalChartDSL.g:6857:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
-            // InternalChartDSL.g:6858:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalChartDSL.g:6803:1: ( ( rule__XImportDeclaration__Alternatives_2_0_3 ) )
+            // InternalChartDSL.g:6804:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getAlternatives_2_0_3()); 
             }
-            // InternalChartDSL.g:6859:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
-            // InternalChartDSL.g:6859:3: rule__XImportDeclaration__Alternatives_2_0_3
+            // InternalChartDSL.g:6805:2: ( rule__XImportDeclaration__Alternatives_2_0_3 )
+            // InternalChartDSL.g:6805:3: rule__XImportDeclaration__Alternatives_2_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Alternatives_2_0_3();
@@ -24201,14 +24040,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0"
-    // InternalChartDSL.g:6868:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
+    // InternalChartDSL.g:6814:1: rule__XImportDeclaration__Group_2_3__0 : rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 ;
     public final void rule__XImportDeclaration__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6872:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
-            // InternalChartDSL.g:6873:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
+            // InternalChartDSL.g:6818:1: ( rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1 )
+            // InternalChartDSL.g:6819:2: rule__XImportDeclaration__Group_2_3__0__Impl rule__XImportDeclaration__Group_2_3__1
             {
             pushFollow(FOLLOW_7);
             rule__XImportDeclaration__Group_2_3__0__Impl();
@@ -24239,23 +24078,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__0__Impl"
-    // InternalChartDSL.g:6880:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
+    // InternalChartDSL.g:6826:1: rule__XImportDeclaration__Group_2_3__0__Impl : ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6884:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
-            // InternalChartDSL.g:6885:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalChartDSL.g:6830:1: ( ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) ) )
+            // InternalChartDSL.g:6831:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
             {
-            // InternalChartDSL.g:6885:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
-            // InternalChartDSL.g:6886:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalChartDSL.g:6831:1: ( ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 ) )
+            // InternalChartDSL.g:6832:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getFqnImportAssignment_2_3_0()); 
             }
-            // InternalChartDSL.g:6887:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
-            // InternalChartDSL.g:6887:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
+            // InternalChartDSL.g:6833:2: ( rule__XImportDeclaration__FqnImportAssignment_2_3_0 )
+            // InternalChartDSL.g:6833:3: rule__XImportDeclaration__FqnImportAssignment_2_3_0
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__FqnImportAssignment_2_3_0();
@@ -24290,14 +24129,14 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1"
-    // InternalChartDSL.g:6895:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
+    // InternalChartDSL.g:6841:1: rule__XImportDeclaration__Group_2_3__1 : rule__XImportDeclaration__Group_2_3__1__Impl ;
     public final void rule__XImportDeclaration__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6899:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
-            // InternalChartDSL.g:6900:2: rule__XImportDeclaration__Group_2_3__1__Impl
+            // InternalChartDSL.g:6845:1: ( rule__XImportDeclaration__Group_2_3__1__Impl )
+            // InternalChartDSL.g:6846:2: rule__XImportDeclaration__Group_2_3__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__Group_2_3__1__Impl();
@@ -24323,23 +24162,23 @@
 
 
     // $ANTLR start "rule__XImportDeclaration__Group_2_3__1__Impl"
-    // InternalChartDSL.g:6906:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
+    // InternalChartDSL.g:6852:1: rule__XImportDeclaration__Group_2_3__1__Impl : ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) ;
     public final void rule__XImportDeclaration__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6910:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
-            // InternalChartDSL.g:6911:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalChartDSL.g:6856:1: ( ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) ) )
+            // InternalChartDSL.g:6857:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
             {
-            // InternalChartDSL.g:6911:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
-            // InternalChartDSL.g:6912:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalChartDSL.g:6857:1: ( ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 ) )
+            // InternalChartDSL.g:6858:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameAssignment_2_3_1()); 
             }
-            // InternalChartDSL.g:6913:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
-            // InternalChartDSL.g:6913:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
+            // InternalChartDSL.g:6859:2: ( rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1 )
+            // InternalChartDSL.g:6859:3: rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1
             {
             pushFollow(FOLLOW_2);
             rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1();
@@ -24374,16 +24213,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0"
-    // InternalChartDSL.g:6922:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
+    // InternalChartDSL.g:6868:1: rule__XAnnotation__Group__0 : rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 ;
     public final void rule__XAnnotation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6926:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
-            // InternalChartDSL.g:6927:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
+            // InternalChartDSL.g:6872:1: ( rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1 )
+            // InternalChartDSL.g:6873:2: rule__XAnnotation__Group__0__Impl rule__XAnnotation__Group__1
             {
-            pushFollow(FOLLOW_56);
+            pushFollow(FOLLOW_55);
             rule__XAnnotation__Group__0__Impl();
 
             state._fsp--;
@@ -24412,23 +24251,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__0__Impl"
-    // InternalChartDSL.g:6934:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
+    // InternalChartDSL.g:6880:1: rule__XAnnotation__Group__0__Impl : ( () ) ;
     public final void rule__XAnnotation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6938:1: ( ( () ) )
-            // InternalChartDSL.g:6939:1: ( () )
+            // InternalChartDSL.g:6884:1: ( ( () ) )
+            // InternalChartDSL.g:6885:1: ( () )
             {
-            // InternalChartDSL.g:6939:1: ( () )
-            // InternalChartDSL.g:6940:2: ()
+            // InternalChartDSL.g:6885:1: ( () )
+            // InternalChartDSL.g:6886:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getXAnnotationAction_0()); 
             }
-            // InternalChartDSL.g:6941:2: ()
-            // InternalChartDSL.g:6941:3: 
+            // InternalChartDSL.g:6887:2: ()
+            // InternalChartDSL.g:6887:3: 
             {
             }
 
@@ -24453,14 +24292,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1"
-    // InternalChartDSL.g:6949:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
+    // InternalChartDSL.g:6895:1: rule__XAnnotation__Group__1 : rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 ;
     public final void rule__XAnnotation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6953:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
-            // InternalChartDSL.g:6954:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
+            // InternalChartDSL.g:6899:1: ( rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2 )
+            // InternalChartDSL.g:6900:2: rule__XAnnotation__Group__1__Impl rule__XAnnotation__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group__1__Impl();
@@ -24491,17 +24330,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__1__Impl"
-    // InternalChartDSL.g:6961:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
+    // InternalChartDSL.g:6907:1: rule__XAnnotation__Group__1__Impl : ( '@' ) ;
     public final void rule__XAnnotation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6965:1: ( ( '@' ) )
-            // InternalChartDSL.g:6966:1: ( '@' )
+            // InternalChartDSL.g:6911:1: ( ( '@' ) )
+            // InternalChartDSL.g:6912:1: ( '@' )
             {
-            // InternalChartDSL.g:6966:1: ( '@' )
-            // InternalChartDSL.g:6967:2: '@'
+            // InternalChartDSL.g:6912:1: ( '@' )
+            // InternalChartDSL.g:6913:2: '@'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); 
@@ -24532,16 +24371,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2"
-    // InternalChartDSL.g:6976:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
+    // InternalChartDSL.g:6922:1: rule__XAnnotation__Group__2 : rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 ;
     public final void rule__XAnnotation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6980:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
-            // InternalChartDSL.g:6981:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
+            // InternalChartDSL.g:6926:1: ( rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3 )
+            // InternalChartDSL.g:6927:2: rule__XAnnotation__Group__2__Impl rule__XAnnotation__Group__3
             {
-            pushFollow(FOLLOW_57);
+            pushFollow(FOLLOW_56);
             rule__XAnnotation__Group__2__Impl();
 
             state._fsp--;
@@ -24570,23 +24409,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__2__Impl"
-    // InternalChartDSL.g:6988:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
+    // InternalChartDSL.g:6934:1: rule__XAnnotation__Group__2__Impl : ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) ;
     public final void rule__XAnnotation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:6992:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
-            // InternalChartDSL.g:6993:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalChartDSL.g:6938:1: ( ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) ) )
+            // InternalChartDSL.g:6939:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
             {
-            // InternalChartDSL.g:6993:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
-            // InternalChartDSL.g:6994:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalChartDSL.g:6939:1: ( ( rule__XAnnotation__AnnotationTypeAssignment_2 ) )
+            // InternalChartDSL.g:6940:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2()); 
             }
-            // InternalChartDSL.g:6995:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
-            // InternalChartDSL.g:6995:3: rule__XAnnotation__AnnotationTypeAssignment_2
+            // InternalChartDSL.g:6941:2: ( rule__XAnnotation__AnnotationTypeAssignment_2 )
+            // InternalChartDSL.g:6941:3: rule__XAnnotation__AnnotationTypeAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__AnnotationTypeAssignment_2();
@@ -24621,14 +24460,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3"
-    // InternalChartDSL.g:7003:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
+    // InternalChartDSL.g:6949:1: rule__XAnnotation__Group__3 : rule__XAnnotation__Group__3__Impl ;
     public final void rule__XAnnotation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7007:1: ( rule__XAnnotation__Group__3__Impl )
-            // InternalChartDSL.g:7008:2: rule__XAnnotation__Group__3__Impl
+            // InternalChartDSL.g:6953:1: ( rule__XAnnotation__Group__3__Impl )
+            // InternalChartDSL.g:6954:2: rule__XAnnotation__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group__3__Impl();
@@ -24654,31 +24493,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group__3__Impl"
-    // InternalChartDSL.g:7014:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
+    // InternalChartDSL.g:6960:1: rule__XAnnotation__Group__3__Impl : ( ( rule__XAnnotation__Group_3__0 )? ) ;
     public final void rule__XAnnotation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7018:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
-            // InternalChartDSL.g:7019:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalChartDSL.g:6964:1: ( ( ( rule__XAnnotation__Group_3__0 )? ) )
+            // InternalChartDSL.g:6965:1: ( ( rule__XAnnotation__Group_3__0 )? )
             {
-            // InternalChartDSL.g:7019:1: ( ( rule__XAnnotation__Group_3__0 )? )
-            // InternalChartDSL.g:7020:2: ( rule__XAnnotation__Group_3__0 )?
+            // InternalChartDSL.g:6965:1: ( ( rule__XAnnotation__Group_3__0 )? )
+            // InternalChartDSL.g:6966:2: ( rule__XAnnotation__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3()); 
             }
-            // InternalChartDSL.g:7021:2: ( rule__XAnnotation__Group_3__0 )?
-            int alt75=2;
-            int LA75_0 = input.LA(1);
+            // InternalChartDSL.g:6967:2: ( rule__XAnnotation__Group_3__0 )?
+            int alt76=2;
+            int LA76_0 = input.LA(1);
 
-            if ( (LA75_0==96) ) {
-                alt75=1;
+            if ( (LA76_0==96) ) {
+                alt76=1;
             }
-            switch (alt75) {
+            switch (alt76) {
                 case 1 :
-                    // InternalChartDSL.g:7021:3: rule__XAnnotation__Group_3__0
+                    // InternalChartDSL.g:6967:3: rule__XAnnotation__Group_3__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Group_3__0();
@@ -24716,16 +24555,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0"
-    // InternalChartDSL.g:7030:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
+    // InternalChartDSL.g:6976:1: rule__XAnnotation__Group_3__0 : rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 ;
     public final void rule__XAnnotation__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7034:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
-            // InternalChartDSL.g:7035:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
+            // InternalChartDSL.g:6980:1: ( rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1 )
+            // InternalChartDSL.g:6981:2: rule__XAnnotation__Group_3__0__Impl rule__XAnnotation__Group_3__1
             {
-            pushFollow(FOLLOW_58);
+            pushFollow(FOLLOW_57);
             rule__XAnnotation__Group_3__0__Impl();
 
             state._fsp--;
@@ -24754,23 +24593,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__0__Impl"
-    // InternalChartDSL.g:7042:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
+    // InternalChartDSL.g:6988:1: rule__XAnnotation__Group_3__0__Impl : ( ( '(' ) ) ;
     public final void rule__XAnnotation__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7046:1: ( ( ( '(' ) ) )
-            // InternalChartDSL.g:7047:1: ( ( '(' ) )
+            // InternalChartDSL.g:6992:1: ( ( ( '(' ) ) )
+            // InternalChartDSL.g:6993:1: ( ( '(' ) )
             {
-            // InternalChartDSL.g:7047:1: ( ( '(' ) )
-            // InternalChartDSL.g:7048:2: ( '(' )
+            // InternalChartDSL.g:6993:1: ( ( '(' ) )
+            // InternalChartDSL.g:6994:2: ( '(' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); 
             }
-            // InternalChartDSL.g:7049:2: ( '(' )
-            // InternalChartDSL.g:7049:3: '('
+            // InternalChartDSL.g:6995:2: ( '(' )
+            // InternalChartDSL.g:6995:3: '('
             {
             match(input,96,FOLLOW_2); if (state.failed) return ;
 
@@ -24801,16 +24640,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1"
-    // InternalChartDSL.g:7057:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
+    // InternalChartDSL.g:7003:1: rule__XAnnotation__Group_3__1 : rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 ;
     public final void rule__XAnnotation__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7061:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
-            // InternalChartDSL.g:7062:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
+            // InternalChartDSL.g:7007:1: ( rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2 )
+            // InternalChartDSL.g:7008:2: rule__XAnnotation__Group_3__1__Impl rule__XAnnotation__Group_3__2
             {
-            pushFollow(FOLLOW_58);
+            pushFollow(FOLLOW_57);
             rule__XAnnotation__Group_3__1__Impl();
 
             state._fsp--;
@@ -24839,31 +24678,31 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__1__Impl"
-    // InternalChartDSL.g:7069:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
+    // InternalChartDSL.g:7015:1: rule__XAnnotation__Group_3__1__Impl : ( ( rule__XAnnotation__Alternatives_3_1 )? ) ;
     public final void rule__XAnnotation__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7073:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
-            // InternalChartDSL.g:7074:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalChartDSL.g:7019:1: ( ( ( rule__XAnnotation__Alternatives_3_1 )? ) )
+            // InternalChartDSL.g:7020:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
             {
-            // InternalChartDSL.g:7074:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
-            // InternalChartDSL.g:7075:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            // InternalChartDSL.g:7020:1: ( ( rule__XAnnotation__Alternatives_3_1 )? )
+            // InternalChartDSL.g:7021:2: ( rule__XAnnotation__Alternatives_3_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getAlternatives_3_1()); 
             }
-            // InternalChartDSL.g:7076:2: ( rule__XAnnotation__Alternatives_3_1 )?
-            int alt76=2;
-            int LA76_0 = input.LA(1);
+            // InternalChartDSL.g:7022:2: ( rule__XAnnotation__Alternatives_3_1 )?
+            int alt77=2;
+            int LA77_0 = input.LA(1);
 
-            if ( ((LA76_0>=RULE_STRING && LA76_0<=RULE_DECIMAL)||LA76_0==27||(LA76_0>=34 && LA76_0<=35)||LA76_0==40||(LA76_0>=45 && LA76_0<=50)||LA76_0==72||(LA76_0>=95 && LA76_0<=96)||(LA76_0>=100 && LA76_0<=101)||LA76_0==103||LA76_0==105||(LA76_0>=109 && LA76_0<=117)||LA76_0==119||LA76_0==154) ) {
-                alt76=1;
+            if ( ((LA77_0>=RULE_STRING && LA77_0<=RULE_DECIMAL)||LA77_0==27||(LA77_0>=34 && LA77_0<=35)||LA77_0==40||(LA77_0>=45 && LA77_0<=50)||LA77_0==72||(LA77_0>=95 && LA77_0<=96)||(LA77_0>=100 && LA77_0<=101)||LA77_0==103||LA77_0==105||(LA77_0>=109 && LA77_0<=117)||LA77_0==119||LA77_0==153) ) {
+                alt77=1;
             }
-            switch (alt76) {
+            switch (alt77) {
                 case 1 :
-                    // InternalChartDSL.g:7076:3: rule__XAnnotation__Alternatives_3_1
+                    // InternalChartDSL.g:7022:3: rule__XAnnotation__Alternatives_3_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotation__Alternatives_3_1();
@@ -24901,14 +24740,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2"
-    // InternalChartDSL.g:7084:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
+    // InternalChartDSL.g:7030:1: rule__XAnnotation__Group_3__2 : rule__XAnnotation__Group_3__2__Impl ;
     public final void rule__XAnnotation__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7088:1: ( rule__XAnnotation__Group_3__2__Impl )
-            // InternalChartDSL.g:7089:2: rule__XAnnotation__Group_3__2__Impl
+            // InternalChartDSL.g:7034:1: ( rule__XAnnotation__Group_3__2__Impl )
+            // InternalChartDSL.g:7035:2: rule__XAnnotation__Group_3__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3__2__Impl();
@@ -24934,17 +24773,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3__2__Impl"
-    // InternalChartDSL.g:7095:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
+    // InternalChartDSL.g:7041:1: rule__XAnnotation__Group_3__2__Impl : ( ')' ) ;
     public final void rule__XAnnotation__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7099:1: ( ( ')' ) )
-            // InternalChartDSL.g:7100:1: ( ')' )
+            // InternalChartDSL.g:7045:1: ( ( ')' ) )
+            // InternalChartDSL.g:7046:1: ( ')' )
             {
-            // InternalChartDSL.g:7100:1: ( ')' )
-            // InternalChartDSL.g:7101:2: ')'
+            // InternalChartDSL.g:7046:1: ( ')' )
+            // InternalChartDSL.g:7047:2: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); 
@@ -24975,16 +24814,16 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0"
-    // InternalChartDSL.g:7111:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
+    // InternalChartDSL.g:7057:1: rule__XAnnotation__Group_3_1_0__0 : rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 ;
     public final void rule__XAnnotation__Group_3_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7115:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
-            // InternalChartDSL.g:7116:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
+            // InternalChartDSL.g:7061:1: ( rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1 )
+            // InternalChartDSL.g:7062:2: rule__XAnnotation__Group_3_1_0__0__Impl rule__XAnnotation__Group_3_1_0__1
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_58);
             rule__XAnnotation__Group_3_1_0__0__Impl();
 
             state._fsp--;
@@ -25013,23 +24852,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__0__Impl"
-    // InternalChartDSL.g:7123:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
+    // InternalChartDSL.g:7069:1: rule__XAnnotation__Group_3_1_0__0__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7127:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
-            // InternalChartDSL.g:7128:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalChartDSL.g:7073:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) ) )
+            // InternalChartDSL.g:7074:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
             {
-            // InternalChartDSL.g:7128:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
-            // InternalChartDSL.g:7129:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalChartDSL.g:7074:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 ) )
+            // InternalChartDSL.g:7075:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0()); 
             }
-            // InternalChartDSL.g:7130:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
-            // InternalChartDSL.g:7130:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
+            // InternalChartDSL.g:7076:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0 )
+            // InternalChartDSL.g:7076:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0();
@@ -25064,14 +24903,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1"
-    // InternalChartDSL.g:7138:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
+    // InternalChartDSL.g:7084:1: rule__XAnnotation__Group_3_1_0__1 : rule__XAnnotation__Group_3_1_0__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7142:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
-            // InternalChartDSL.g:7143:2: rule__XAnnotation__Group_3_1_0__1__Impl
+            // InternalChartDSL.g:7088:1: ( rule__XAnnotation__Group_3_1_0__1__Impl )
+            // InternalChartDSL.g:7089:2: rule__XAnnotation__Group_3_1_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0__1__Impl();
@@ -25097,37 +24936,37 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0__1__Impl"
-    // InternalChartDSL.g:7149:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
+    // InternalChartDSL.g:7095:1: rule__XAnnotation__Group_3_1_0__1__Impl : ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) ;
     public final void rule__XAnnotation__Group_3_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7153:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
-            // InternalChartDSL.g:7154:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalChartDSL.g:7099:1: ( ( ( rule__XAnnotation__Group_3_1_0_1__0 )* ) )
+            // InternalChartDSL.g:7100:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
             {
-            // InternalChartDSL.g:7154:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
-            // InternalChartDSL.g:7155:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            // InternalChartDSL.g:7100:1: ( ( rule__XAnnotation__Group_3_1_0_1__0 )* )
+            // InternalChartDSL.g:7101:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1()); 
             }
-            // InternalChartDSL.g:7156:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
-            loop77:
+            // InternalChartDSL.g:7102:2: ( rule__XAnnotation__Group_3_1_0_1__0 )*
+            loop78:
             do {
-                int alt77=2;
-                int LA77_0 = input.LA(1);
+                int alt78=2;
+                int LA78_0 = input.LA(1);
 
-                if ( (LA77_0==98) ) {
-                    alt77=1;
+                if ( (LA78_0==98) ) {
+                    alt78=1;
                 }
 
 
-                switch (alt77) {
+                switch (alt78) {
             	case 1 :
-            	    // InternalChartDSL.g:7156:3: rule__XAnnotation__Group_3_1_0_1__0
+            	    // InternalChartDSL.g:7102:3: rule__XAnnotation__Group_3_1_0_1__0
             	    {
-            	    pushFollow(FOLLOW_60);
+            	    pushFollow(FOLLOW_59);
             	    rule__XAnnotation__Group_3_1_0_1__0();
 
             	    state._fsp--;
@@ -25137,7 +24976,7 @@
             	    break;
 
             	default :
-            	    break loop77;
+            	    break loop78;
                 }
             } while (true);
 
@@ -25166,14 +25005,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0"
-    // InternalChartDSL.g:7165:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
+    // InternalChartDSL.g:7111:1: rule__XAnnotation__Group_3_1_0_1__0 : rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 ;
     public final void rule__XAnnotation__Group_3_1_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7169:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
-            // InternalChartDSL.g:7170:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
+            // InternalChartDSL.g:7115:1: ( rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1 )
+            // InternalChartDSL.g:7116:2: rule__XAnnotation__Group_3_1_0_1__0__Impl rule__XAnnotation__Group_3_1_0_1__1
             {
             pushFollow(FOLLOW_7);
             rule__XAnnotation__Group_3_1_0_1__0__Impl();
@@ -25204,17 +25043,17 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__0__Impl"
-    // InternalChartDSL.g:7177:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
+    // InternalChartDSL.g:7123:1: rule__XAnnotation__Group_3_1_0_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7181:1: ( ( ',' ) )
-            // InternalChartDSL.g:7182:1: ( ',' )
+            // InternalChartDSL.g:7127:1: ( ( ',' ) )
+            // InternalChartDSL.g:7128:1: ( ',' )
             {
-            // InternalChartDSL.g:7182:1: ( ',' )
-            // InternalChartDSL.g:7183:2: ','
+            // InternalChartDSL.g:7128:1: ( ',' )
+            // InternalChartDSL.g:7129:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); 
@@ -25245,14 +25084,14 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1"
-    // InternalChartDSL.g:7192:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
+    // InternalChartDSL.g:7138:1: rule__XAnnotation__Group_3_1_0_1__1 : rule__XAnnotation__Group_3_1_0_1__1__Impl ;
     public final void rule__XAnnotation__Group_3_1_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7196:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
-            // InternalChartDSL.g:7197:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
+            // InternalChartDSL.g:7142:1: ( rule__XAnnotation__Group_3_1_0_1__1__Impl )
+            // InternalChartDSL.g:7143:2: rule__XAnnotation__Group_3_1_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__Group_3_1_0_1__1__Impl();
@@ -25278,23 +25117,23 @@
 
 
     // $ANTLR start "rule__XAnnotation__Group_3_1_0_1__1__Impl"
-    // InternalChartDSL.g:7203:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
+    // InternalChartDSL.g:7149:1: rule__XAnnotation__Group_3_1_0_1__1__Impl : ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) ;
     public final void rule__XAnnotation__Group_3_1_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7207:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
-            // InternalChartDSL.g:7208:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalChartDSL.g:7153:1: ( ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) ) )
+            // InternalChartDSL.g:7154:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
             {
-            // InternalChartDSL.g:7208:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
-            // InternalChartDSL.g:7209:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalChartDSL.g:7154:1: ( ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 ) )
+            // InternalChartDSL.g:7155:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1()); 
             }
-            // InternalChartDSL.g:7210:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
-            // InternalChartDSL.g:7210:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
+            // InternalChartDSL.g:7156:2: ( rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1 )
+            // InternalChartDSL.g:7156:3: rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1();
@@ -25329,16 +25168,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0"
-    // InternalChartDSL.g:7219:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
+    // InternalChartDSL.g:7165:1: rule__XAnnotationElementValuePair__Group__0 : rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 ;
     public final void rule__XAnnotationElementValuePair__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7223:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
-            // InternalChartDSL.g:7224:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
+            // InternalChartDSL.g:7169:1: ( rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1 )
+            // InternalChartDSL.g:7170:2: rule__XAnnotationElementValuePair__Group__0__Impl rule__XAnnotationElementValuePair__Group__1
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAnnotationElementValuePair__Group__0__Impl();
 
             state._fsp--;
@@ -25367,23 +25206,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__0__Impl"
-    // InternalChartDSL.g:7231:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
+    // InternalChartDSL.g:7177:1: rule__XAnnotationElementValuePair__Group__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7235:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
-            // InternalChartDSL.g:7236:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalChartDSL.g:7181:1: ( ( ( rule__XAnnotationElementValuePair__Group_0__0 ) ) )
+            // InternalChartDSL.g:7182:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
             {
-            // InternalChartDSL.g:7236:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
-            // InternalChartDSL.g:7237:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalChartDSL.g:7182:1: ( ( rule__XAnnotationElementValuePair__Group_0__0 ) )
+            // InternalChartDSL.g:7183:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0()); 
             }
-            // InternalChartDSL.g:7238:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
-            // InternalChartDSL.g:7238:3: rule__XAnnotationElementValuePair__Group_0__0
+            // InternalChartDSL.g:7184:2: ( rule__XAnnotationElementValuePair__Group_0__0 )
+            // InternalChartDSL.g:7184:3: rule__XAnnotationElementValuePair__Group_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0();
@@ -25418,14 +25257,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1"
-    // InternalChartDSL.g:7246:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
+    // InternalChartDSL.g:7192:1: rule__XAnnotationElementValuePair__Group__1 : rule__XAnnotationElementValuePair__Group__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7250:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
-            // InternalChartDSL.g:7251:2: rule__XAnnotationElementValuePair__Group__1__Impl
+            // InternalChartDSL.g:7196:1: ( rule__XAnnotationElementValuePair__Group__1__Impl )
+            // InternalChartDSL.g:7197:2: rule__XAnnotationElementValuePair__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group__1__Impl();
@@ -25451,23 +25290,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group__1__Impl"
-    // InternalChartDSL.g:7257:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
+    // InternalChartDSL.g:7203:1: rule__XAnnotationElementValuePair__Group__1__Impl : ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7261:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
-            // InternalChartDSL.g:7262:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalChartDSL.g:7207:1: ( ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) ) )
+            // InternalChartDSL.g:7208:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
             {
-            // InternalChartDSL.g:7262:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
-            // InternalChartDSL.g:7263:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalChartDSL.g:7208:1: ( ( rule__XAnnotationElementValuePair__ValueAssignment_1 ) )
+            // InternalChartDSL.g:7209:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1()); 
             }
-            // InternalChartDSL.g:7264:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
-            // InternalChartDSL.g:7264:3: rule__XAnnotationElementValuePair__ValueAssignment_1
+            // InternalChartDSL.g:7210:2: ( rule__XAnnotationElementValuePair__ValueAssignment_1 )
+            // InternalChartDSL.g:7210:3: rule__XAnnotationElementValuePair__ValueAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ValueAssignment_1();
@@ -25502,14 +25341,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0"
-    // InternalChartDSL.g:7273:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
+    // InternalChartDSL.g:7219:1: rule__XAnnotationElementValuePair__Group_0__0 : rule__XAnnotationElementValuePair__Group_0__0__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7277:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
-            // InternalChartDSL.g:7278:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
+            // InternalChartDSL.g:7223:1: ( rule__XAnnotationElementValuePair__Group_0__0__Impl )
+            // InternalChartDSL.g:7224:2: rule__XAnnotationElementValuePair__Group_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0__0__Impl();
@@ -25535,23 +25374,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0__0__Impl"
-    // InternalChartDSL.g:7284:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
+    // InternalChartDSL.g:7230:1: rule__XAnnotationElementValuePair__Group_0__0__Impl : ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7288:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
-            // InternalChartDSL.g:7289:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalChartDSL.g:7234:1: ( ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) ) )
+            // InternalChartDSL.g:7235:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
             {
-            // InternalChartDSL.g:7289:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
-            // InternalChartDSL.g:7290:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalChartDSL.g:7235:1: ( ( rule__XAnnotationElementValuePair__Group_0_0__0 ) )
+            // InternalChartDSL.g:7236:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0()); 
             }
-            // InternalChartDSL.g:7291:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
-            // InternalChartDSL.g:7291:3: rule__XAnnotationElementValuePair__Group_0_0__0
+            // InternalChartDSL.g:7237:2: ( rule__XAnnotationElementValuePair__Group_0_0__0 )
+            // InternalChartDSL.g:7237:3: rule__XAnnotationElementValuePair__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__0();
@@ -25586,16 +25425,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0"
-    // InternalChartDSL.g:7300:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
+    // InternalChartDSL.g:7246:1: rule__XAnnotationElementValuePair__Group_0_0__0 : rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7304:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
-            // InternalChartDSL.g:7305:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
+            // InternalChartDSL.g:7250:1: ( rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1 )
+            // InternalChartDSL.g:7251:2: rule__XAnnotationElementValuePair__Group_0_0__0__Impl rule__XAnnotationElementValuePair__Group_0_0__1
             {
-            pushFollow(FOLLOW_62);
+            pushFollow(FOLLOW_61);
             rule__XAnnotationElementValuePair__Group_0_0__0__Impl();
 
             state._fsp--;
@@ -25624,23 +25463,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__0__Impl"
-    // InternalChartDSL.g:7312:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
+    // InternalChartDSL.g:7258:1: rule__XAnnotationElementValuePair__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7316:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
-            // InternalChartDSL.g:7317:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalChartDSL.g:7262:1: ( ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) ) )
+            // InternalChartDSL.g:7263:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
             {
-            // InternalChartDSL.g:7317:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
-            // InternalChartDSL.g:7318:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalChartDSL.g:7263:1: ( ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 ) )
+            // InternalChartDSL.g:7264:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0()); 
             }
-            // InternalChartDSL.g:7319:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
-            // InternalChartDSL.g:7319:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
+            // InternalChartDSL.g:7265:2: ( rule__XAnnotationElementValuePair__ElementAssignment_0_0_0 )
+            // InternalChartDSL.g:7265:3: rule__XAnnotationElementValuePair__ElementAssignment_0_0_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__ElementAssignment_0_0_0();
@@ -25675,14 +25514,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1"
-    // InternalChartDSL.g:7327:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
+    // InternalChartDSL.g:7273:1: rule__XAnnotationElementValuePair__Group_0_0__1 : rule__XAnnotationElementValuePair__Group_0_0__1__Impl ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7331:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
-            // InternalChartDSL.g:7332:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
+            // InternalChartDSL.g:7277:1: ( rule__XAnnotationElementValuePair__Group_0_0__1__Impl )
+            // InternalChartDSL.g:7278:2: rule__XAnnotationElementValuePair__Group_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValuePair__Group_0_0__1__Impl();
@@ -25708,17 +25547,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValuePair__Group_0_0__1__Impl"
-    // InternalChartDSL.g:7338:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
+    // InternalChartDSL.g:7284:1: rule__XAnnotationElementValuePair__Group_0_0__1__Impl : ( '=' ) ;
     public final void rule__XAnnotationElementValuePair__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7342:1: ( ( '=' ) )
-            // InternalChartDSL.g:7343:1: ( '=' )
+            // InternalChartDSL.g:7288:1: ( ( '=' ) )
+            // InternalChartDSL.g:7289:1: ( '=' )
             {
-            // InternalChartDSL.g:7343:1: ( '=' )
-            // InternalChartDSL.g:7344:2: '='
+            // InternalChartDSL.g:7289:1: ( '=' )
+            // InternalChartDSL.g:7290:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); 
@@ -25749,16 +25588,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0"
-    // InternalChartDSL.g:7354:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
+    // InternalChartDSL.g:7300:1: rule__XAnnotationElementValueOrCommaList__Group_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7358:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
-            // InternalChartDSL.g:7359:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
+            // InternalChartDSL.g:7304:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1 )
+            // InternalChartDSL.g:7305:2: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0__1
             {
-            pushFollow(FOLLOW_63);
+            pushFollow(FOLLOW_62);
             rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl();
 
             state._fsp--;
@@ -25787,23 +25626,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl"
-    // InternalChartDSL.g:7366:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
+    // InternalChartDSL.g:7312:1: rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7370:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
-            // InternalChartDSL.g:7371:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalChartDSL.g:7316:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) ) )
+            // InternalChartDSL.g:7317:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
             {
-            // InternalChartDSL.g:7371:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
-            // InternalChartDSL.g:7372:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalChartDSL.g:7317:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 ) )
+            // InternalChartDSL.g:7318:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0()); 
             }
-            // InternalChartDSL.g:7373:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
-            // InternalChartDSL.g:7373:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
+            // InternalChartDSL.g:7319:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0 )
+            // InternalChartDSL.g:7319:3: rule__XAnnotationElementValueOrCommaList__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0();
@@ -25838,16 +25677,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1"
-    // InternalChartDSL.g:7381:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
+    // InternalChartDSL.g:7327:1: rule__XAnnotationElementValueOrCommaList__Group_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7385:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
-            // InternalChartDSL.g:7386:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
+            // InternalChartDSL.g:7331:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2 )
+            // InternalChartDSL.g:7332:2: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0__2
             {
-            pushFollow(FOLLOW_63);
+            pushFollow(FOLLOW_62);
             rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl();
 
             state._fsp--;
@@ -25876,31 +25715,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl"
-    // InternalChartDSL.g:7393:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
+    // InternalChartDSL.g:7339:1: rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7397:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
-            // InternalChartDSL.g:7398:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalChartDSL.g:7343:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? ) )
+            // InternalChartDSL.g:7344:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
             {
-            // InternalChartDSL.g:7398:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
-            // InternalChartDSL.g:7399:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            // InternalChartDSL.g:7344:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )? )
+            // InternalChartDSL.g:7345:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1()); 
             }
-            // InternalChartDSL.g:7400:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
-            int alt78=2;
-            int LA78_0 = input.LA(1);
+            // InternalChartDSL.g:7346:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0 )?
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( ((LA78_0>=RULE_STRING && LA78_0<=RULE_DECIMAL)||LA78_0==27||(LA78_0>=34 && LA78_0<=35)||LA78_0==40||(LA78_0>=45 && LA78_0<=50)||LA78_0==72||(LA78_0>=95 && LA78_0<=96)||(LA78_0>=100 && LA78_0<=101)||LA78_0==103||LA78_0==105||(LA78_0>=109 && LA78_0<=117)||LA78_0==119||LA78_0==154) ) {
-                alt78=1;
+            if ( ((LA79_0>=RULE_STRING && LA79_0<=RULE_DECIMAL)||LA79_0==27||(LA79_0>=34 && LA79_0<=35)||LA79_0==40||(LA79_0>=45 && LA79_0<=50)||LA79_0==72||(LA79_0>=95 && LA79_0<=96)||(LA79_0>=100 && LA79_0<=101)||LA79_0==103||LA79_0==105||(LA79_0>=109 && LA79_0<=117)||LA79_0==119||LA79_0==153) ) {
+                alt79=1;
             }
-            switch (alt78) {
+            switch (alt79) {
                 case 1 :
-                    // InternalChartDSL.g:7400:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
+                    // InternalChartDSL.g:7346:3: rule__XAnnotationElementValueOrCommaList__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_0_1__0();
@@ -25938,14 +25777,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2"
-    // InternalChartDSL.g:7408:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
+    // InternalChartDSL.g:7354:1: rule__XAnnotationElementValueOrCommaList__Group_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7412:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
-            // InternalChartDSL.g:7413:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
+            // InternalChartDSL.g:7358:1: ( rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl )
+            // InternalChartDSL.g:7359:2: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl();
@@ -25971,17 +25810,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl"
-    // InternalChartDSL.g:7419:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
+    // InternalChartDSL.g:7365:1: rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7423:1: ( ( ']' ) )
-            // InternalChartDSL.g:7424:1: ( ']' )
+            // InternalChartDSL.g:7369:1: ( ( ']' ) )
+            // InternalChartDSL.g:7370:1: ( ']' )
             {
-            // InternalChartDSL.g:7424:1: ( ']' )
-            // InternalChartDSL.g:7425:2: ']'
+            // InternalChartDSL.g:7370:1: ( ']' )
+            // InternalChartDSL.g:7371:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); 
@@ -26012,14 +25851,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0"
-    // InternalChartDSL.g:7435:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
+    // InternalChartDSL.g:7381:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7439:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
-            // InternalChartDSL.g:7440:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
+            // InternalChartDSL.g:7385:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl )
+            // InternalChartDSL.g:7386:2: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl();
@@ -26045,23 +25884,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl"
-    // InternalChartDSL.g:7446:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
+    // InternalChartDSL.g:7392:1: rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7450:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
-            // InternalChartDSL.g:7451:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalChartDSL.g:7396:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) ) )
+            // InternalChartDSL.g:7397:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
             {
-            // InternalChartDSL.g:7451:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
-            // InternalChartDSL.g:7452:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalChartDSL.g:7397:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 ) )
+            // InternalChartDSL.g:7398:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0()); 
             }
-            // InternalChartDSL.g:7453:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
-            // InternalChartDSL.g:7453:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
+            // InternalChartDSL.g:7399:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 )
+            // InternalChartDSL.g:7399:3: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0();
@@ -26096,16 +25935,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0"
-    // InternalChartDSL.g:7462:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
+    // InternalChartDSL.g:7408:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7466:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
-            // InternalChartDSL.g:7467:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
+            // InternalChartDSL.g:7412:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 )
+            // InternalChartDSL.g:7413:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1
             {
-            pushFollow(FOLLOW_64);
+            pushFollow(FOLLOW_63);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl();
 
             state._fsp--;
@@ -26134,23 +25973,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl"
-    // InternalChartDSL.g:7474:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalChartDSL.g:7420:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7478:1: ( ( () ) )
-            // InternalChartDSL.g:7479:1: ( () )
+            // InternalChartDSL.g:7424:1: ( ( () ) )
+            // InternalChartDSL.g:7425:1: ( () )
             {
-            // InternalChartDSL.g:7479:1: ( () )
-            // InternalChartDSL.g:7480:2: ()
+            // InternalChartDSL.g:7425:1: ( () )
+            // InternalChartDSL.g:7426:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalChartDSL.g:7481:2: ()
-            // InternalChartDSL.g:7481:3: 
+            // InternalChartDSL.g:7427:2: ()
+            // InternalChartDSL.g:7427:3: 
             {
             }
 
@@ -26175,16 +26014,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1"
-    // InternalChartDSL.g:7489:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
+    // InternalChartDSL.g:7435:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7493:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
-            // InternalChartDSL.g:7494:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
+            // InternalChartDSL.g:7439:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 )
+            // InternalChartDSL.g:7440:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2
             {
-            pushFollow(FOLLOW_65);
+            pushFollow(FOLLOW_64);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl();
 
             state._fsp--;
@@ -26213,17 +26052,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl"
-    // InternalChartDSL.g:7501:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalChartDSL.g:7447:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7505:1: ( ( '#' ) )
-            // InternalChartDSL.g:7506:1: ( '#' )
+            // InternalChartDSL.g:7451:1: ( ( '#' ) )
+            // InternalChartDSL.g:7452:1: ( '#' )
             {
-            // InternalChartDSL.g:7506:1: ( '#' )
-            // InternalChartDSL.g:7507:2: '#'
+            // InternalChartDSL.g:7452:1: ( '#' )
+            // InternalChartDSL.g:7453:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); 
@@ -26254,14 +26093,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2"
-    // InternalChartDSL.g:7516:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
+    // InternalChartDSL.g:7462:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2 : rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7520:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
-            // InternalChartDSL.g:7521:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
+            // InternalChartDSL.g:7466:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl )
+            // InternalChartDSL.g:7467:2: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl();
@@ -26287,17 +26126,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl"
-    // InternalChartDSL.g:7527:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalChartDSL.g:7473:1: rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7531:1: ( ( '[' ) )
-            // InternalChartDSL.g:7532:1: ( '[' )
+            // InternalChartDSL.g:7477:1: ( ( '[' ) )
+            // InternalChartDSL.g:7478:1: ( '[' )
             {
-            // InternalChartDSL.g:7532:1: ( '[' )
-            // InternalChartDSL.g:7533:2: '['
+            // InternalChartDSL.g:7478:1: ( '[' )
+            // InternalChartDSL.g:7479:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
@@ -26328,16 +26167,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0"
-    // InternalChartDSL.g:7543:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
+    // InternalChartDSL.g:7489:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7547:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
-            // InternalChartDSL.g:7548:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
+            // InternalChartDSL.g:7493:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1 )
+            // InternalChartDSL.g:7494:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1__1
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_58);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl();
 
             state._fsp--;
@@ -26366,23 +26205,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl"
-    // InternalChartDSL.g:7555:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
+    // InternalChartDSL.g:7501:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7559:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
-            // InternalChartDSL.g:7560:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalChartDSL.g:7505:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) ) )
+            // InternalChartDSL.g:7506:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
             {
-            // InternalChartDSL.g:7560:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
-            // InternalChartDSL.g:7561:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalChartDSL.g:7506:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 ) )
+            // InternalChartDSL.g:7507:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalChartDSL.g:7562:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
-            // InternalChartDSL.g:7562:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
+            // InternalChartDSL.g:7508:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0 )
+            // InternalChartDSL.g:7508:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0();
@@ -26417,14 +26256,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1"
-    // InternalChartDSL.g:7570:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
+    // InternalChartDSL.g:7516:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7574:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
-            // InternalChartDSL.g:7575:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
+            // InternalChartDSL.g:7520:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl )
+            // InternalChartDSL.g:7521:2: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl();
@@ -26450,37 +26289,37 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl"
-    // InternalChartDSL.g:7581:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
+    // InternalChartDSL.g:7527:1: rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7585:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
-            // InternalChartDSL.g:7586:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalChartDSL.g:7531:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* ) )
+            // InternalChartDSL.g:7532:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
             {
-            // InternalChartDSL.g:7586:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
-            // InternalChartDSL.g:7587:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            // InternalChartDSL.g:7532:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )* )
+            // InternalChartDSL.g:7533:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1()); 
             }
-            // InternalChartDSL.g:7588:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
-            loop79:
+            // InternalChartDSL.g:7534:2: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 )*
+            loop80:
             do {
-                int alt79=2;
-                int LA79_0 = input.LA(1);
+                int alt80=2;
+                int LA80_0 = input.LA(1);
 
-                if ( (LA79_0==98) ) {
-                    alt79=1;
+                if ( (LA80_0==98) ) {
+                    alt80=1;
                 }
 
 
-                switch (alt79) {
+                switch (alt80) {
             	case 1 :
-            	    // InternalChartDSL.g:7588:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
+            	    // InternalChartDSL.g:7534:3: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_60);
+            	    pushFollow(FOLLOW_59);
             	    rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0();
 
             	    state._fsp--;
@@ -26490,7 +26329,7 @@
             	    break;
 
             	default :
-            	    break loop79;
+            	    break loop80;
                 }
             } while (true);
 
@@ -26519,16 +26358,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0"
-    // InternalChartDSL.g:7597:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
+    // InternalChartDSL.g:7543:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7601:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
-            // InternalChartDSL.g:7602:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
+            // InternalChartDSL.g:7547:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 )
+            // InternalChartDSL.g:7548:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl();
 
             state._fsp--;
@@ -26557,17 +26396,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl"
-    // InternalChartDSL.g:7609:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalChartDSL.g:7555:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7613:1: ( ( ',' ) )
-            // InternalChartDSL.g:7614:1: ( ',' )
+            // InternalChartDSL.g:7559:1: ( ( ',' ) )
+            // InternalChartDSL.g:7560:1: ( ',' )
             {
-            // InternalChartDSL.g:7614:1: ( ',' )
-            // InternalChartDSL.g:7615:2: ','
+            // InternalChartDSL.g:7560:1: ( ',' )
+            // InternalChartDSL.g:7561:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); 
@@ -26598,14 +26437,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1"
-    // InternalChartDSL.g:7624:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
+    // InternalChartDSL.g:7570:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7628:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
-            // InternalChartDSL.g:7629:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
+            // InternalChartDSL.g:7574:1: ( rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl )
+            // InternalChartDSL.g:7575:2: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl();
@@ -26631,23 +26470,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl"
-    // InternalChartDSL.g:7635:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalChartDSL.g:7581:1: rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7639:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalChartDSL.g:7640:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalChartDSL.g:7585:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalChartDSL.g:7586:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalChartDSL.g:7640:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
-            // InternalChartDSL.g:7641:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalChartDSL.g:7586:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 ) )
+            // InternalChartDSL.g:7587:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalChartDSL.g:7642:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
-            // InternalChartDSL.g:7642:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
+            // InternalChartDSL.g:7588:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1 )
+            // InternalChartDSL.g:7588:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1();
@@ -26682,16 +26521,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0"
-    // InternalChartDSL.g:7651:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
+    // InternalChartDSL.g:7597:1: rule__XAnnotationElementValueOrCommaList__Group_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7655:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
-            // InternalChartDSL.g:7656:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
+            // InternalChartDSL.g:7601:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1 )
+            // InternalChartDSL.g:7602:2: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1__1
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_58);
             rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl();
 
             state._fsp--;
@@ -26720,17 +26559,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl"
-    // InternalChartDSL.g:7663:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
+    // InternalChartDSL.g:7609:1: rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl : ( ruleXAnnotationOrExpression ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7667:1: ( ( ruleXAnnotationOrExpression ) )
-            // InternalChartDSL.g:7668:1: ( ruleXAnnotationOrExpression )
+            // InternalChartDSL.g:7613:1: ( ( ruleXAnnotationOrExpression ) )
+            // InternalChartDSL.g:7614:1: ( ruleXAnnotationOrExpression )
             {
-            // InternalChartDSL.g:7668:1: ( ruleXAnnotationOrExpression )
-            // InternalChartDSL.g:7669:2: ruleXAnnotationOrExpression
+            // InternalChartDSL.g:7614:1: ( ruleXAnnotationOrExpression )
+            // InternalChartDSL.g:7615:2: ruleXAnnotationOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); 
@@ -26765,14 +26604,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1"
-    // InternalChartDSL.g:7678:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
+    // InternalChartDSL.g:7624:1: rule__XAnnotationElementValueOrCommaList__Group_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7682:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
-            // InternalChartDSL.g:7683:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
+            // InternalChartDSL.g:7628:1: ( rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl )
+            // InternalChartDSL.g:7629:2: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl();
@@ -26798,31 +26637,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl"
-    // InternalChartDSL.g:7689:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
+    // InternalChartDSL.g:7635:1: rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7693:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
-            // InternalChartDSL.g:7694:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalChartDSL.g:7639:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? ) )
+            // InternalChartDSL.g:7640:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
             {
-            // InternalChartDSL.g:7694:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
-            // InternalChartDSL.g:7695:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            // InternalChartDSL.g:7640:1: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )? )
+            // InternalChartDSL.g:7641:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1()); 
             }
-            // InternalChartDSL.g:7696:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // InternalChartDSL.g:7642:2: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0 )?
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( (LA80_0==98) ) {
-                alt80=1;
+            if ( (LA81_0==98) ) {
+                alt81=1;
             }
-            switch (alt80) {
+            switch (alt81) {
                 case 1 :
-                    // InternalChartDSL.g:7696:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
+                    // InternalChartDSL.g:7642:3: rule__XAnnotationElementValueOrCommaList__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValueOrCommaList__Group_1_1__0();
@@ -26860,16 +26699,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0"
-    // InternalChartDSL.g:7705:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
+    // InternalChartDSL.g:7651:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7709:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
-            // InternalChartDSL.g:7710:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
+            // InternalChartDSL.g:7655:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1 )
+            // InternalChartDSL.g:7656:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1__1
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_58);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -26898,23 +26737,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl"
-    // InternalChartDSL.g:7717:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
+    // InternalChartDSL.g:7663:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7721:1: ( ( () ) )
-            // InternalChartDSL.g:7722:1: ( () )
+            // InternalChartDSL.g:7667:1: ( ( () ) )
+            // InternalChartDSL.g:7668:1: ( () )
             {
-            // InternalChartDSL.g:7722:1: ( () )
-            // InternalChartDSL.g:7723:2: ()
+            // InternalChartDSL.g:7668:1: ( () )
+            // InternalChartDSL.g:7669:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0()); 
             }
-            // InternalChartDSL.g:7724:2: ()
-            // InternalChartDSL.g:7724:3: 
+            // InternalChartDSL.g:7670:2: ()
+            // InternalChartDSL.g:7670:3: 
             {
             }
 
@@ -26939,14 +26778,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1"
-    // InternalChartDSL.g:7732:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
+    // InternalChartDSL.g:7678:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7736:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
-            // InternalChartDSL.g:7737:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
+            // InternalChartDSL.g:7682:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl )
+            // InternalChartDSL.g:7683:2: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl();
@@ -26972,28 +26811,28 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl"
-    // InternalChartDSL.g:7743:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
+    // InternalChartDSL.g:7689:1: rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl : ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7747:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
-            // InternalChartDSL.g:7748:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalChartDSL.g:7693:1: ( ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) ) )
+            // InternalChartDSL.g:7694:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
             {
-            // InternalChartDSL.g:7748:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
-            // InternalChartDSL.g:7749:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalChartDSL.g:7694:1: ( ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* ) )
+            // InternalChartDSL.g:7695:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) ) ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
             {
-            // InternalChartDSL.g:7749:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
-            // InternalChartDSL.g:7750:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalChartDSL.g:7695:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 ) )
+            // InternalChartDSL.g:7696:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalChartDSL.g:7751:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
-            // InternalChartDSL.g:7751:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            // InternalChartDSL.g:7697:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )
+            // InternalChartDSL.g:7697:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             {
-            pushFollow(FOLLOW_60);
+            pushFollow(FOLLOW_59);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
 
             state._fsp--;
@@ -27007,28 +26846,28 @@
 
             }
 
-            // InternalChartDSL.g:7754:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
-            // InternalChartDSL.g:7755:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            // InternalChartDSL.g:7700:2: ( ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )* )
+            // InternalChartDSL.g:7701:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1()); 
             }
-            // InternalChartDSL.g:7756:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
-            loop81:
+            // InternalChartDSL.g:7702:3: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 )*
+            loop82:
             do {
-                int alt81=2;
-                int LA81_0 = input.LA(1);
+                int alt82=2;
+                int LA82_0 = input.LA(1);
 
-                if ( (LA81_0==98) ) {
-                    alt81=1;
+                if ( (LA82_0==98) ) {
+                    alt82=1;
                 }
 
 
-                switch (alt81) {
+                switch (alt82) {
             	case 1 :
-            	    // InternalChartDSL.g:7756:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
+            	    // InternalChartDSL.g:7702:4: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0
             	    {
-            	    pushFollow(FOLLOW_60);
+            	    pushFollow(FOLLOW_59);
             	    rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0();
 
             	    state._fsp--;
@@ -27038,7 +26877,7 @@
             	    break;
 
             	default :
-            	    break loop81;
+            	    break loop82;
                 }
             } while (true);
 
@@ -27070,16 +26909,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0"
-    // InternalChartDSL.g:7766:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
+    // InternalChartDSL.g:7712:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7770:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
-            // InternalChartDSL.g:7771:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
+            // InternalChartDSL.g:7716:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 )
+            // InternalChartDSL.g:7717:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl();
 
             state._fsp--;
@@ -27108,17 +26947,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl"
-    // InternalChartDSL.g:7778:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
+    // InternalChartDSL.g:7724:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7782:1: ( ( ',' ) )
-            // InternalChartDSL.g:7783:1: ( ',' )
+            // InternalChartDSL.g:7728:1: ( ( ',' ) )
+            // InternalChartDSL.g:7729:1: ( ',' )
             {
-            // InternalChartDSL.g:7783:1: ( ',' )
-            // InternalChartDSL.g:7784:2: ','
+            // InternalChartDSL.g:7729:1: ( ',' )
+            // InternalChartDSL.g:7730:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); 
@@ -27149,14 +26988,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1"
-    // InternalChartDSL.g:7793:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
+    // InternalChartDSL.g:7739:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1 : rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7797:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
-            // InternalChartDSL.g:7798:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
+            // InternalChartDSL.g:7743:1: ( rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl )
+            // InternalChartDSL.g:7744:2: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl();
@@ -27182,23 +27021,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl"
-    // InternalChartDSL.g:7804:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
+    // InternalChartDSL.g:7750:1: rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl : ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValueOrCommaList__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7808:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
-            // InternalChartDSL.g:7809:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalChartDSL.g:7754:1: ( ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) ) )
+            // InternalChartDSL.g:7755:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
             {
-            // InternalChartDSL.g:7809:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
-            // InternalChartDSL.g:7810:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalChartDSL.g:7755:1: ( ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 ) )
+            // InternalChartDSL.g:7756:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1()); 
             }
-            // InternalChartDSL.g:7811:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
-            // InternalChartDSL.g:7811:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
+            // InternalChartDSL.g:7757:2: ( rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1 )
+            // InternalChartDSL.g:7757:3: rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1();
@@ -27233,16 +27072,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0"
-    // InternalChartDSL.g:7820:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
+    // InternalChartDSL.g:7766:1: rule__XAnnotationElementValue__Group_0__0 : rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7824:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
-            // InternalChartDSL.g:7825:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
+            // InternalChartDSL.g:7770:1: ( rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1 )
+            // InternalChartDSL.g:7771:2: rule__XAnnotationElementValue__Group_0__0__Impl rule__XAnnotationElementValue__Group_0__1
             {
-            pushFollow(FOLLOW_63);
+            pushFollow(FOLLOW_62);
             rule__XAnnotationElementValue__Group_0__0__Impl();
 
             state._fsp--;
@@ -27271,23 +27110,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__0__Impl"
-    // InternalChartDSL.g:7832:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
+    // InternalChartDSL.g:7778:1: rule__XAnnotationElementValue__Group_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7836:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
-            // InternalChartDSL.g:7837:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalChartDSL.g:7782:1: ( ( ( rule__XAnnotationElementValue__Group_0_0__0 ) ) )
+            // InternalChartDSL.g:7783:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
             {
-            // InternalChartDSL.g:7837:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
-            // InternalChartDSL.g:7838:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalChartDSL.g:7783:1: ( ( rule__XAnnotationElementValue__Group_0_0__0 ) )
+            // InternalChartDSL.g:7784:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0()); 
             }
-            // InternalChartDSL.g:7839:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
-            // InternalChartDSL.g:7839:3: rule__XAnnotationElementValue__Group_0_0__0
+            // InternalChartDSL.g:7785:2: ( rule__XAnnotationElementValue__Group_0_0__0 )
+            // InternalChartDSL.g:7785:3: rule__XAnnotationElementValue__Group_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0();
@@ -27322,16 +27161,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1"
-    // InternalChartDSL.g:7847:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
+    // InternalChartDSL.g:7793:1: rule__XAnnotationElementValue__Group_0__1 : rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7851:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
-            // InternalChartDSL.g:7852:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
+            // InternalChartDSL.g:7797:1: ( rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2 )
+            // InternalChartDSL.g:7798:2: rule__XAnnotationElementValue__Group_0__1__Impl rule__XAnnotationElementValue__Group_0__2
             {
-            pushFollow(FOLLOW_63);
+            pushFollow(FOLLOW_62);
             rule__XAnnotationElementValue__Group_0__1__Impl();
 
             state._fsp--;
@@ -27360,31 +27199,31 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__1__Impl"
-    // InternalChartDSL.g:7859:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
+    // InternalChartDSL.g:7805:1: rule__XAnnotationElementValue__Group_0__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) ;
     public final void rule__XAnnotationElementValue__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7863:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
-            // InternalChartDSL.g:7864:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalChartDSL.g:7809:1: ( ( ( rule__XAnnotationElementValue__Group_0_1__0 )? ) )
+            // InternalChartDSL.g:7810:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
             {
-            // InternalChartDSL.g:7864:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
-            // InternalChartDSL.g:7865:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            // InternalChartDSL.g:7810:1: ( ( rule__XAnnotationElementValue__Group_0_1__0 )? )
+            // InternalChartDSL.g:7811:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1()); 
             }
-            // InternalChartDSL.g:7866:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
-            int alt82=2;
-            int LA82_0 = input.LA(1);
+            // InternalChartDSL.g:7812:2: ( rule__XAnnotationElementValue__Group_0_1__0 )?
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( ((LA82_0>=RULE_STRING && LA82_0<=RULE_DECIMAL)||LA82_0==27||(LA82_0>=34 && LA82_0<=35)||LA82_0==40||(LA82_0>=45 && LA82_0<=50)||LA82_0==72||(LA82_0>=95 && LA82_0<=96)||(LA82_0>=100 && LA82_0<=101)||LA82_0==103||LA82_0==105||(LA82_0>=109 && LA82_0<=117)||LA82_0==119||LA82_0==154) ) {
-                alt82=1;
+            if ( ((LA83_0>=RULE_STRING && LA83_0<=RULE_DECIMAL)||LA83_0==27||(LA83_0>=34 && LA83_0<=35)||LA83_0==40||(LA83_0>=45 && LA83_0<=50)||LA83_0==72||(LA83_0>=95 && LA83_0<=96)||(LA83_0>=100 && LA83_0<=101)||LA83_0==103||LA83_0==105||(LA83_0>=109 && LA83_0<=117)||LA83_0==119||LA83_0==153) ) {
+                alt83=1;
             }
-            switch (alt82) {
+            switch (alt83) {
                 case 1 :
-                    // InternalChartDSL.g:7866:3: rule__XAnnotationElementValue__Group_0_1__0
+                    // InternalChartDSL.g:7812:3: rule__XAnnotationElementValue__Group_0_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAnnotationElementValue__Group_0_1__0();
@@ -27422,14 +27261,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2"
-    // InternalChartDSL.g:7874:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
+    // InternalChartDSL.g:7820:1: rule__XAnnotationElementValue__Group_0__2 : rule__XAnnotationElementValue__Group_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7878:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
-            // InternalChartDSL.g:7879:2: rule__XAnnotationElementValue__Group_0__2__Impl
+            // InternalChartDSL.g:7824:1: ( rule__XAnnotationElementValue__Group_0__2__Impl )
+            // InternalChartDSL.g:7825:2: rule__XAnnotationElementValue__Group_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0__2__Impl();
@@ -27455,17 +27294,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0__2__Impl"
-    // InternalChartDSL.g:7885:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
+    // InternalChartDSL.g:7831:1: rule__XAnnotationElementValue__Group_0__2__Impl : ( ']' ) ;
     public final void rule__XAnnotationElementValue__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7889:1: ( ( ']' ) )
-            // InternalChartDSL.g:7890:1: ( ']' )
+            // InternalChartDSL.g:7835:1: ( ( ']' ) )
+            // InternalChartDSL.g:7836:1: ( ']' )
             {
-            // InternalChartDSL.g:7890:1: ( ']' )
-            // InternalChartDSL.g:7891:2: ']'
+            // InternalChartDSL.g:7836:1: ( ']' )
+            // InternalChartDSL.g:7837:2: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); 
@@ -27496,14 +27335,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0"
-    // InternalChartDSL.g:7901:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
+    // InternalChartDSL.g:7847:1: rule__XAnnotationElementValue__Group_0_0__0 : rule__XAnnotationElementValue__Group_0_0__0__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7905:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
-            // InternalChartDSL.g:7906:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
+            // InternalChartDSL.g:7851:1: ( rule__XAnnotationElementValue__Group_0_0__0__Impl )
+            // InternalChartDSL.g:7852:2: rule__XAnnotationElementValue__Group_0_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0__0__Impl();
@@ -27529,23 +27368,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0__0__Impl"
-    // InternalChartDSL.g:7912:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
+    // InternalChartDSL.g:7858:1: rule__XAnnotationElementValue__Group_0_0__0__Impl : ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7916:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
-            // InternalChartDSL.g:7917:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalChartDSL.g:7862:1: ( ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) ) )
+            // InternalChartDSL.g:7863:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
             {
-            // InternalChartDSL.g:7917:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
-            // InternalChartDSL.g:7918:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalChartDSL.g:7863:1: ( ( rule__XAnnotationElementValue__Group_0_0_0__0 ) )
+            // InternalChartDSL.g:7864:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0()); 
             }
-            // InternalChartDSL.g:7919:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
-            // InternalChartDSL.g:7919:3: rule__XAnnotationElementValue__Group_0_0_0__0
+            // InternalChartDSL.g:7865:2: ( rule__XAnnotationElementValue__Group_0_0_0__0 )
+            // InternalChartDSL.g:7865:3: rule__XAnnotationElementValue__Group_0_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__0();
@@ -27580,16 +27419,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0"
-    // InternalChartDSL.g:7928:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
+    // InternalChartDSL.g:7874:1: rule__XAnnotationElementValue__Group_0_0_0__0 : rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7932:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
-            // InternalChartDSL.g:7933:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
+            // InternalChartDSL.g:7878:1: ( rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1 )
+            // InternalChartDSL.g:7879:2: rule__XAnnotationElementValue__Group_0_0_0__0__Impl rule__XAnnotationElementValue__Group_0_0_0__1
             {
-            pushFollow(FOLLOW_64);
+            pushFollow(FOLLOW_63);
             rule__XAnnotationElementValue__Group_0_0_0__0__Impl();
 
             state._fsp--;
@@ -27618,23 +27457,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__0__Impl"
-    // InternalChartDSL.g:7940:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
+    // InternalChartDSL.g:7886:1: rule__XAnnotationElementValue__Group_0_0_0__0__Impl : ( () ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7944:1: ( ( () ) )
-            // InternalChartDSL.g:7945:1: ( () )
+            // InternalChartDSL.g:7890:1: ( ( () ) )
+            // InternalChartDSL.g:7891:1: ( () )
             {
-            // InternalChartDSL.g:7945:1: ( () )
-            // InternalChartDSL.g:7946:2: ()
+            // InternalChartDSL.g:7891:1: ( () )
+            // InternalChartDSL.g:7892:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0()); 
             }
-            // InternalChartDSL.g:7947:2: ()
-            // InternalChartDSL.g:7947:3: 
+            // InternalChartDSL.g:7893:2: ()
+            // InternalChartDSL.g:7893:3: 
             {
             }
 
@@ -27659,16 +27498,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1"
-    // InternalChartDSL.g:7955:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
+    // InternalChartDSL.g:7901:1: rule__XAnnotationElementValue__Group_0_0_0__1 : rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7959:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
-            // InternalChartDSL.g:7960:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
+            // InternalChartDSL.g:7905:1: ( rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2 )
+            // InternalChartDSL.g:7906:2: rule__XAnnotationElementValue__Group_0_0_0__1__Impl rule__XAnnotationElementValue__Group_0_0_0__2
             {
-            pushFollow(FOLLOW_65);
+            pushFollow(FOLLOW_64);
             rule__XAnnotationElementValue__Group_0_0_0__1__Impl();
 
             state._fsp--;
@@ -27697,17 +27536,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__1__Impl"
-    // InternalChartDSL.g:7967:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
+    // InternalChartDSL.g:7913:1: rule__XAnnotationElementValue__Group_0_0_0__1__Impl : ( '#' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7971:1: ( ( '#' ) )
-            // InternalChartDSL.g:7972:1: ( '#' )
+            // InternalChartDSL.g:7917:1: ( ( '#' ) )
+            // InternalChartDSL.g:7918:1: ( '#' )
             {
-            // InternalChartDSL.g:7972:1: ( '#' )
-            // InternalChartDSL.g:7973:2: '#'
+            // InternalChartDSL.g:7918:1: ( '#' )
+            // InternalChartDSL.g:7919:2: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); 
@@ -27738,14 +27577,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2"
-    // InternalChartDSL.g:7982:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
+    // InternalChartDSL.g:7928:1: rule__XAnnotationElementValue__Group_0_0_0__2 : rule__XAnnotationElementValue__Group_0_0_0__2__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7986:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
-            // InternalChartDSL.g:7987:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
+            // InternalChartDSL.g:7932:1: ( rule__XAnnotationElementValue__Group_0_0_0__2__Impl )
+            // InternalChartDSL.g:7933:2: rule__XAnnotationElementValue__Group_0_0_0__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_0_0__2__Impl();
@@ -27771,17 +27610,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_0_0__2__Impl"
-    // InternalChartDSL.g:7993:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
+    // InternalChartDSL.g:7939:1: rule__XAnnotationElementValue__Group_0_0_0__2__Impl : ( '[' ) ;
     public final void rule__XAnnotationElementValue__Group_0_0_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:7997:1: ( ( '[' ) )
-            // InternalChartDSL.g:7998:1: ( '[' )
+            // InternalChartDSL.g:7943:1: ( ( '[' ) )
+            // InternalChartDSL.g:7944:1: ( '[' )
             {
-            // InternalChartDSL.g:7998:1: ( '[' )
-            // InternalChartDSL.g:7999:2: '['
+            // InternalChartDSL.g:7944:1: ( '[' )
+            // InternalChartDSL.g:7945:2: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); 
@@ -27812,16 +27651,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0"
-    // InternalChartDSL.g:8009:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
+    // InternalChartDSL.g:7955:1: rule__XAnnotationElementValue__Group_0_1__0 : rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8013:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
-            // InternalChartDSL.g:8014:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
+            // InternalChartDSL.g:7959:1: ( rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1 )
+            // InternalChartDSL.g:7960:2: rule__XAnnotationElementValue__Group_0_1__0__Impl rule__XAnnotationElementValue__Group_0_1__1
             {
-            pushFollow(FOLLOW_59);
+            pushFollow(FOLLOW_58);
             rule__XAnnotationElementValue__Group_0_1__0__Impl();
 
             state._fsp--;
@@ -27850,23 +27689,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__0__Impl"
-    // InternalChartDSL.g:8021:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
+    // InternalChartDSL.g:7967:1: rule__XAnnotationElementValue__Group_0_1__0__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8025:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
-            // InternalChartDSL.g:8026:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalChartDSL.g:7971:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) ) )
+            // InternalChartDSL.g:7972:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
             {
-            // InternalChartDSL.g:8026:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
-            // InternalChartDSL.g:8027:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalChartDSL.g:7972:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 ) )
+            // InternalChartDSL.g:7973:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0()); 
             }
-            // InternalChartDSL.g:8028:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
-            // InternalChartDSL.g:8028:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
+            // InternalChartDSL.g:7974:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_0 )
+            // InternalChartDSL.g:7974:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_0
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_0();
@@ -27901,14 +27740,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1"
-    // InternalChartDSL.g:8036:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
+    // InternalChartDSL.g:7982:1: rule__XAnnotationElementValue__Group_0_1__1 : rule__XAnnotationElementValue__Group_0_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8040:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
-            // InternalChartDSL.g:8041:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
+            // InternalChartDSL.g:7986:1: ( rule__XAnnotationElementValue__Group_0_1__1__Impl )
+            // InternalChartDSL.g:7987:2: rule__XAnnotationElementValue__Group_0_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1__1__Impl();
@@ -27934,37 +27773,37 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1__1__Impl"
-    // InternalChartDSL.g:8047:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
+    // InternalChartDSL.g:7993:1: rule__XAnnotationElementValue__Group_0_1__1__Impl : ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) ;
     public final void rule__XAnnotationElementValue__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8051:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
-            // InternalChartDSL.g:8052:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalChartDSL.g:7997:1: ( ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* ) )
+            // InternalChartDSL.g:7998:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
             {
-            // InternalChartDSL.g:8052:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
-            // InternalChartDSL.g:8053:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            // InternalChartDSL.g:7998:1: ( ( rule__XAnnotationElementValue__Group_0_1_1__0 )* )
+            // InternalChartDSL.g:7999:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1()); 
             }
-            // InternalChartDSL.g:8054:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
-            loop83:
+            // InternalChartDSL.g:8000:2: ( rule__XAnnotationElementValue__Group_0_1_1__0 )*
+            loop84:
             do {
-                int alt83=2;
-                int LA83_0 = input.LA(1);
+                int alt84=2;
+                int LA84_0 = input.LA(1);
 
-                if ( (LA83_0==98) ) {
-                    alt83=1;
+                if ( (LA84_0==98) ) {
+                    alt84=1;
                 }
 
 
-                switch (alt83) {
+                switch (alt84) {
             	case 1 :
-            	    // InternalChartDSL.g:8054:3: rule__XAnnotationElementValue__Group_0_1_1__0
+            	    // InternalChartDSL.g:8000:3: rule__XAnnotationElementValue__Group_0_1_1__0
             	    {
-            	    pushFollow(FOLLOW_60);
+            	    pushFollow(FOLLOW_59);
             	    rule__XAnnotationElementValue__Group_0_1_1__0();
 
             	    state._fsp--;
@@ -27974,7 +27813,7 @@
             	    break;
 
             	default :
-            	    break loop83;
+            	    break loop84;
                 }
             } while (true);
 
@@ -28003,16 +27842,16 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0"
-    // InternalChartDSL.g:8063:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
+    // InternalChartDSL.g:8009:1: rule__XAnnotationElementValue__Group_0_1_1__0 : rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8067:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
-            // InternalChartDSL.g:8068:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
+            // InternalChartDSL.g:8013:1: ( rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1 )
+            // InternalChartDSL.g:8014:2: rule__XAnnotationElementValue__Group_0_1_1__0__Impl rule__XAnnotationElementValue__Group_0_1_1__1
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAnnotationElementValue__Group_0_1_1__0__Impl();
 
             state._fsp--;
@@ -28041,17 +27880,17 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__0__Impl"
-    // InternalChartDSL.g:8075:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
+    // InternalChartDSL.g:8021:1: rule__XAnnotationElementValue__Group_0_1_1__0__Impl : ( ',' ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8079:1: ( ( ',' ) )
-            // InternalChartDSL.g:8080:1: ( ',' )
+            // InternalChartDSL.g:8025:1: ( ( ',' ) )
+            // InternalChartDSL.g:8026:1: ( ',' )
             {
-            // InternalChartDSL.g:8080:1: ( ',' )
-            // InternalChartDSL.g:8081:2: ','
+            // InternalChartDSL.g:8026:1: ( ',' )
+            // InternalChartDSL.g:8027:2: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); 
@@ -28082,14 +27921,14 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1"
-    // InternalChartDSL.g:8090:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
+    // InternalChartDSL.g:8036:1: rule__XAnnotationElementValue__Group_0_1_1__1 : rule__XAnnotationElementValue__Group_0_1_1__1__Impl ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8094:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
-            // InternalChartDSL.g:8095:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
+            // InternalChartDSL.g:8040:1: ( rule__XAnnotationElementValue__Group_0_1_1__1__Impl )
+            // InternalChartDSL.g:8041:2: rule__XAnnotationElementValue__Group_0_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__Group_0_1_1__1__Impl();
@@ -28115,23 +27954,23 @@
 
 
     // $ANTLR start "rule__XAnnotationElementValue__Group_0_1_1__1__Impl"
-    // InternalChartDSL.g:8101:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
+    // InternalChartDSL.g:8047:1: rule__XAnnotationElementValue__Group_0_1_1__1__Impl : ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) ;
     public final void rule__XAnnotationElementValue__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8105:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
-            // InternalChartDSL.g:8106:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalChartDSL.g:8051:1: ( ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) ) )
+            // InternalChartDSL.g:8052:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
             {
-            // InternalChartDSL.g:8106:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
-            // InternalChartDSL.g:8107:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalChartDSL.g:8052:1: ( ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 ) )
+            // InternalChartDSL.g:8053:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1()); 
             }
-            // InternalChartDSL.g:8108:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
-            // InternalChartDSL.g:8108:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
+            // InternalChartDSL.g:8054:2: ( rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1 )
+            // InternalChartDSL.g:8054:3: rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1();
@@ -28166,16 +28005,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0"
-    // InternalChartDSL.g:8117:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
+    // InternalChartDSL.g:8063:1: rule__XAssignment__Group_0__0 : rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 ;
     public final void rule__XAssignment__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8121:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
-            // InternalChartDSL.g:8122:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
+            // InternalChartDSL.g:8067:1: ( rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1 )
+            // InternalChartDSL.g:8068:2: rule__XAssignment__Group_0__0__Impl rule__XAssignment__Group_0__1
             {
-            pushFollow(FOLLOW_66);
+            pushFollow(FOLLOW_65);
             rule__XAssignment__Group_0__0__Impl();
 
             state._fsp--;
@@ -28204,23 +28043,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__0__Impl"
-    // InternalChartDSL.g:8129:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
+    // InternalChartDSL.g:8075:1: rule__XAssignment__Group_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8133:1: ( ( () ) )
-            // InternalChartDSL.g:8134:1: ( () )
+            // InternalChartDSL.g:8079:1: ( ( () ) )
+            // InternalChartDSL.g:8080:1: ( () )
             {
-            // InternalChartDSL.g:8134:1: ( () )
-            // InternalChartDSL.g:8135:2: ()
+            // InternalChartDSL.g:8080:1: ( () )
+            // InternalChartDSL.g:8081:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0()); 
             }
-            // InternalChartDSL.g:8136:2: ()
-            // InternalChartDSL.g:8136:3: 
+            // InternalChartDSL.g:8082:2: ()
+            // InternalChartDSL.g:8082:3: 
             {
             }
 
@@ -28245,16 +28084,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1"
-    // InternalChartDSL.g:8144:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
+    // InternalChartDSL.g:8090:1: rule__XAssignment__Group_0__1 : rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 ;
     public final void rule__XAssignment__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8148:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
-            // InternalChartDSL.g:8149:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
+            // InternalChartDSL.g:8094:1: ( rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2 )
+            // InternalChartDSL.g:8095:2: rule__XAssignment__Group_0__1__Impl rule__XAssignment__Group_0__2
             {
-            pushFollow(FOLLOW_62);
+            pushFollow(FOLLOW_61);
             rule__XAssignment__Group_0__1__Impl();
 
             state._fsp--;
@@ -28283,23 +28122,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__1__Impl"
-    // InternalChartDSL.g:8156:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
+    // InternalChartDSL.g:8102:1: rule__XAssignment__Group_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) ;
     public final void rule__XAssignment__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8160:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
-            // InternalChartDSL.g:8161:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalChartDSL.g:8106:1: ( ( ( rule__XAssignment__FeatureAssignment_0_1 ) ) )
+            // InternalChartDSL.g:8107:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
             {
-            // InternalChartDSL.g:8161:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
-            // InternalChartDSL.g:8162:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalChartDSL.g:8107:1: ( ( rule__XAssignment__FeatureAssignment_0_1 ) )
+            // InternalChartDSL.g:8108:2: ( rule__XAssignment__FeatureAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1()); 
             }
-            // InternalChartDSL.g:8163:2: ( rule__XAssignment__FeatureAssignment_0_1 )
-            // InternalChartDSL.g:8163:3: rule__XAssignment__FeatureAssignment_0_1
+            // InternalChartDSL.g:8109:2: ( rule__XAssignment__FeatureAssignment_0_1 )
+            // InternalChartDSL.g:8109:3: rule__XAssignment__FeatureAssignment_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_0_1();
@@ -28334,16 +28173,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2"
-    // InternalChartDSL.g:8171:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
+    // InternalChartDSL.g:8117:1: rule__XAssignment__Group_0__2 : rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 ;
     public final void rule__XAssignment__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8175:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
-            // InternalChartDSL.g:8176:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
+            // InternalChartDSL.g:8121:1: ( rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3 )
+            // InternalChartDSL.g:8122:2: rule__XAssignment__Group_0__2__Impl rule__XAssignment__Group_0__3
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAssignment__Group_0__2__Impl();
 
             state._fsp--;
@@ -28372,17 +28211,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__2__Impl"
-    // InternalChartDSL.g:8183:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
+    // InternalChartDSL.g:8129:1: rule__XAssignment__Group_0__2__Impl : ( ruleOpSingleAssign ) ;
     public final void rule__XAssignment__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8187:1: ( ( ruleOpSingleAssign ) )
-            // InternalChartDSL.g:8188:1: ( ruleOpSingleAssign )
+            // InternalChartDSL.g:8133:1: ( ( ruleOpSingleAssign ) )
+            // InternalChartDSL.g:8134:1: ( ruleOpSingleAssign )
             {
-            // InternalChartDSL.g:8188:1: ( ruleOpSingleAssign )
-            // InternalChartDSL.g:8189:2: ruleOpSingleAssign
+            // InternalChartDSL.g:8134:1: ( ruleOpSingleAssign )
+            // InternalChartDSL.g:8135:2: ruleOpSingleAssign
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); 
@@ -28417,14 +28256,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3"
-    // InternalChartDSL.g:8198:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
+    // InternalChartDSL.g:8144:1: rule__XAssignment__Group_0__3 : rule__XAssignment__Group_0__3__Impl ;
     public final void rule__XAssignment__Group_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8202:1: ( rule__XAssignment__Group_0__3__Impl )
-            // InternalChartDSL.g:8203:2: rule__XAssignment__Group_0__3__Impl
+            // InternalChartDSL.g:8148:1: ( rule__XAssignment__Group_0__3__Impl )
+            // InternalChartDSL.g:8149:2: rule__XAssignment__Group_0__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_0__3__Impl();
@@ -28450,23 +28289,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_0__3__Impl"
-    // InternalChartDSL.g:8209:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
+    // InternalChartDSL.g:8155:1: rule__XAssignment__Group_0__3__Impl : ( ( rule__XAssignment__ValueAssignment_0_3 ) ) ;
     public final void rule__XAssignment__Group_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8213:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
-            // InternalChartDSL.g:8214:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalChartDSL.g:8159:1: ( ( ( rule__XAssignment__ValueAssignment_0_3 ) ) )
+            // InternalChartDSL.g:8160:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
             {
-            // InternalChartDSL.g:8214:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
-            // InternalChartDSL.g:8215:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalChartDSL.g:8160:1: ( ( rule__XAssignment__ValueAssignment_0_3 ) )
+            // InternalChartDSL.g:8161:2: ( rule__XAssignment__ValueAssignment_0_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3()); 
             }
-            // InternalChartDSL.g:8216:2: ( rule__XAssignment__ValueAssignment_0_3 )
-            // InternalChartDSL.g:8216:3: rule__XAssignment__ValueAssignment_0_3
+            // InternalChartDSL.g:8162:2: ( rule__XAssignment__ValueAssignment_0_3 )
+            // InternalChartDSL.g:8162:3: rule__XAssignment__ValueAssignment_0_3
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__ValueAssignment_0_3();
@@ -28501,16 +28340,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0"
-    // InternalChartDSL.g:8225:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
+    // InternalChartDSL.g:8171:1: rule__XAssignment__Group_1__0 : rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 ;
     public final void rule__XAssignment__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8229:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
-            // InternalChartDSL.g:8230:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
+            // InternalChartDSL.g:8175:1: ( rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1 )
+            // InternalChartDSL.g:8176:2: rule__XAssignment__Group_1__0__Impl rule__XAssignment__Group_1__1
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_66);
             rule__XAssignment__Group_1__0__Impl();
 
             state._fsp--;
@@ -28539,17 +28378,17 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__0__Impl"
-    // InternalChartDSL.g:8237:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
+    // InternalChartDSL.g:8183:1: rule__XAssignment__Group_1__0__Impl : ( ruleXOrExpression ) ;
     public final void rule__XAssignment__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8241:1: ( ( ruleXOrExpression ) )
-            // InternalChartDSL.g:8242:1: ( ruleXOrExpression )
+            // InternalChartDSL.g:8187:1: ( ( ruleXOrExpression ) )
+            // InternalChartDSL.g:8188:1: ( ruleXOrExpression )
             {
-            // InternalChartDSL.g:8242:1: ( ruleXOrExpression )
-            // InternalChartDSL.g:8243:2: ruleXOrExpression
+            // InternalChartDSL.g:8188:1: ( ruleXOrExpression )
+            // InternalChartDSL.g:8189:2: ruleXOrExpression
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); 
@@ -28584,14 +28423,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1"
-    // InternalChartDSL.g:8252:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
+    // InternalChartDSL.g:8198:1: rule__XAssignment__Group_1__1 : rule__XAssignment__Group_1__1__Impl ;
     public final void rule__XAssignment__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8256:1: ( rule__XAssignment__Group_1__1__Impl )
-            // InternalChartDSL.g:8257:2: rule__XAssignment__Group_1__1__Impl
+            // InternalChartDSL.g:8202:1: ( rule__XAssignment__Group_1__1__Impl )
+            // InternalChartDSL.g:8203:2: rule__XAssignment__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1__1__Impl();
@@ -28617,27 +28456,27 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1__1__Impl"
-    // InternalChartDSL.g:8263:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
+    // InternalChartDSL.g:8209:1: rule__XAssignment__Group_1__1__Impl : ( ( rule__XAssignment__Group_1_1__0 )? ) ;
     public final void rule__XAssignment__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8267:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
-            // InternalChartDSL.g:8268:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalChartDSL.g:8213:1: ( ( ( rule__XAssignment__Group_1_1__0 )? ) )
+            // InternalChartDSL.g:8214:1: ( ( rule__XAssignment__Group_1_1__0 )? )
             {
-            // InternalChartDSL.g:8268:1: ( ( rule__XAssignment__Group_1_1__0 )? )
-            // InternalChartDSL.g:8269:2: ( rule__XAssignment__Group_1_1__0 )?
+            // InternalChartDSL.g:8214:1: ( ( rule__XAssignment__Group_1_1__0 )? )
+            // InternalChartDSL.g:8215:2: ( rule__XAssignment__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1()); 
             }
-            // InternalChartDSL.g:8270:2: ( rule__XAssignment__Group_1_1__0 )?
-            int alt84=2;
-            alt84 = dfa84.predict(input);
-            switch (alt84) {
+            // InternalChartDSL.g:8216:2: ( rule__XAssignment__Group_1_1__0 )?
+            int alt85=2;
+            alt85 = dfa85.predict(input);
+            switch (alt85) {
                 case 1 :
-                    // InternalChartDSL.g:8270:3: rule__XAssignment__Group_1_1__0
+                    // InternalChartDSL.g:8216:3: rule__XAssignment__Group_1_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__XAssignment__Group_1_1__0();
@@ -28675,16 +28514,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0"
-    // InternalChartDSL.g:8279:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
+    // InternalChartDSL.g:8225:1: rule__XAssignment__Group_1_1__0 : rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 ;
     public final void rule__XAssignment__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8283:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
-            // InternalChartDSL.g:8284:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
+            // InternalChartDSL.g:8229:1: ( rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1 )
+            // InternalChartDSL.g:8230:2: rule__XAssignment__Group_1_1__0__Impl rule__XAssignment__Group_1_1__1
             {
-            pushFollow(FOLLOW_61);
+            pushFollow(FOLLOW_60);
             rule__XAssignment__Group_1_1__0__Impl();
 
             state._fsp--;
@@ -28713,23 +28552,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__0__Impl"
-    // InternalChartDSL.g:8291:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
+    // InternalChartDSL.g:8237:1: rule__XAssignment__Group_1_1__0__Impl : ( ( rule__XAssignment__Group_1_1_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8295:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
-            // InternalChartDSL.g:8296:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalChartDSL.g:8241:1: ( ( ( rule__XAssignment__Group_1_1_0__0 ) ) )
+            // InternalChartDSL.g:8242:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
             {
-            // InternalChartDSL.g:8296:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
-            // InternalChartDSL.g:8297:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalChartDSL.g:8242:1: ( ( rule__XAssignment__Group_1_1_0__0 ) )
+            // InternalChartDSL.g:8243:2: ( rule__XAssignment__Group_1_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0()); 
             }
-            // InternalChartDSL.g:8298:2: ( rule__XAssignment__Group_1_1_0__0 )
-            // InternalChartDSL.g:8298:3: rule__XAssignment__Group_1_1_0__0
+            // InternalChartDSL.g:8244:2: ( rule__XAssignment__Group_1_1_0__0 )
+            // InternalChartDSL.g:8244:3: rule__XAssignment__Group_1_1_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0();
@@ -28764,14 +28603,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1"
-    // InternalChartDSL.g:8306:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
+    // InternalChartDSL.g:8252:1: rule__XAssignment__Group_1_1__1 : rule__XAssignment__Group_1_1__1__Impl ;
     public final void rule__XAssignment__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8310:1: ( rule__XAssignment__Group_1_1__1__Impl )
-            // InternalChartDSL.g:8311:2: rule__XAssignment__Group_1_1__1__Impl
+            // InternalChartDSL.g:8256:1: ( rule__XAssignment__Group_1_1__1__Impl )
+            // InternalChartDSL.g:8257:2: rule__XAssignment__Group_1_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1__1__Impl();
@@ -28797,23 +28636,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1__1__Impl"
-    // InternalChartDSL.g:8317:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
+    // InternalChartDSL.g:8263:1: rule__XAssignment__Group_1_1__1__Impl : ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) ;
     public final void rule__XAssignment__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8321:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
-            // InternalChartDSL.g:8322:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalChartDSL.g:8267:1: ( ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) ) )
+            // InternalChartDSL.g:8268:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
             {
-            // InternalChartDSL.g:8322:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
-            // InternalChartDSL.g:8323:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalChartDSL.g:8268:1: ( ( rule__XAssignment__RightOperandAssignment_1_1_1 ) )
+            // InternalChartDSL.g:8269:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1()); 
             }
-            // InternalChartDSL.g:8324:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
-            // InternalChartDSL.g:8324:3: rule__XAssignment__RightOperandAssignment_1_1_1
+            // InternalChartDSL.g:8270:2: ( rule__XAssignment__RightOperandAssignment_1_1_1 )
+            // InternalChartDSL.g:8270:3: rule__XAssignment__RightOperandAssignment_1_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__RightOperandAssignment_1_1_1();
@@ -28848,14 +28687,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0"
-    // InternalChartDSL.g:8333:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
+    // InternalChartDSL.g:8279:1: rule__XAssignment__Group_1_1_0__0 : rule__XAssignment__Group_1_1_0__0__Impl ;
     public final void rule__XAssignment__Group_1_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8337:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
-            // InternalChartDSL.g:8338:2: rule__XAssignment__Group_1_1_0__0__Impl
+            // InternalChartDSL.g:8283:1: ( rule__XAssignment__Group_1_1_0__0__Impl )
+            // InternalChartDSL.g:8284:2: rule__XAssignment__Group_1_1_0__0__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0__0__Impl();
@@ -28881,23 +28720,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0__0__Impl"
-    // InternalChartDSL.g:8344:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
+    // InternalChartDSL.g:8290:1: rule__XAssignment__Group_1_1_0__0__Impl : ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) ;
     public final void rule__XAssignment__Group_1_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8348:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
-            // InternalChartDSL.g:8349:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalChartDSL.g:8294:1: ( ( ( rule__XAssignment__Group_1_1_0_0__0 ) ) )
+            // InternalChartDSL.g:8295:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
             {
-            // InternalChartDSL.g:8349:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
-            // InternalChartDSL.g:8350:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalChartDSL.g:8295:1: ( ( rule__XAssignment__Group_1_1_0_0__0 ) )
+            // InternalChartDSL.g:8296:2: ( rule__XAssignment__Group_1_1_0_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0()); 
             }
-            // InternalChartDSL.g:8351:2: ( rule__XAssignment__Group_1_1_0_0__0 )
-            // InternalChartDSL.g:8351:3: rule__XAssignment__Group_1_1_0_0__0
+            // InternalChartDSL.g:8297:2: ( rule__XAssignment__Group_1_1_0_0__0 )
+            // InternalChartDSL.g:8297:3: rule__XAssignment__Group_1_1_0_0__0
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__0();
@@ -28932,16 +28771,16 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0"
-    // InternalChartDSL.g:8360:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
+    // InternalChartDSL.g:8306:1: rule__XAssignment__Group_1_1_0_0__0 : rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 ;
     public final void rule__XAssignment__Group_1_1_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8364:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
-            // InternalChartDSL.g:8365:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
+            // InternalChartDSL.g:8310:1: ( rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1 )
+            // InternalChartDSL.g:8311:2: rule__XAssignment__Group_1_1_0_0__0__Impl rule__XAssignment__Group_1_1_0_0__1
             {
-            pushFollow(FOLLOW_67);
+            pushFollow(FOLLOW_66);
             rule__XAssignment__Group_1_1_0_0__0__Impl();
 
             state._fsp--;
@@ -28970,23 +28809,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__0__Impl"
-    // InternalChartDSL.g:8372:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
+    // InternalChartDSL.g:8318:1: rule__XAssignment__Group_1_1_0_0__0__Impl : ( () ) ;
     public final void rule__XAssignment__Group_1_1_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8376:1: ( ( () ) )
-            // InternalChartDSL.g:8377:1: ( () )
+            // InternalChartDSL.g:8322:1: ( ( () ) )
+            // InternalChartDSL.g:8323:1: ( () )
             {
-            // InternalChartDSL.g:8377:1: ( () )
-            // InternalChartDSL.g:8378:2: ()
+            // InternalChartDSL.g:8323:1: ( () )
+            // InternalChartDSL.g:8324:2: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0()); 
             }
-            // InternalChartDSL.g:8379:2: ()
-            // InternalChartDSL.g:8379:3: 
+            // InternalChartDSL.g:8325:2: ()
+            // InternalChartDSL.g:8325:3: 
             {
             }
 
@@ -29011,14 +28850,14 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1"
-    // InternalChartDSL.g:8387:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
+    // InternalChartDSL.g:8333:1: rule__XAssignment__Group_1_1_0_0__1 : rule__XAssignment__Group_1_1_0_0__1__Impl ;
     public final void rule__XAssignment__Group_1_1_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8391:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
-            // InternalChartDSL.g:8392:2: rule__XAssignment__Group_1_1_0_0__1__Impl
+            // InternalChartDSL.g:8337:1: ( rule__XAssignment__Group_1_1_0_0__1__Impl )
+            // InternalChartDSL.g:8338:2: rule__XAssignment__Group_1_1_0_0__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__Group_1_1_0_0__1__Impl();
@@ -29044,23 +28883,23 @@
 
 
     // $ANTLR start "rule__XAssignment__Group_1_1_0_0__1__Impl"
-    // InternalChartDSL.g:8398:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
+    // InternalChartDSL.g:8344:1: rule__XAssignment__Group_1_1_0_0__1__Impl : ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) ;
     public final void rule__XAssignment__Group_1_1_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8402:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
-            // InternalChartDSL.g:8403:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalChartDSL.g:8348:1: ( ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) ) )
+            // InternalChartDSL.g:8349:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
             {
-            // InternalChartDSL.g:8403:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
-            // InternalChartDSL.g:8404:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalChartDSL.g:8349:1: ( ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 ) )
+            // InternalChartDSL.g:8350:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1()); 
             }
-            // InternalChartDSL.g:8405:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
-            // InternalChartDSL.g:8405:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
+            // InternalChartDSL.g:8351:2: ( rule__XAssignment__FeatureAssignment_1_1_0_0_1 )
+            // InternalChartDSL.g:8351:3: rule__XAssignment__FeatureAssignment_1_1_0_0_1
             {
             pushFollow(FOLLOW_2);
             rule__XAssignment__FeatureAssignment_1_1_0_0_1();
@@ -29095,16 +28934,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0"
-    // InternalChartDSL.g:8414:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
+    // InternalChartDSL.g:8360:1: rule__OpMultiAssign__Group_5__0 : rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 ;
     public final void rule__OpMultiAssign__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8418:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
-            // InternalChartDSL.g:8419:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
+            // InternalChartDSL.g:8364:1: ( rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1 )
+            // InternalChartDSL.g:8365:2: rule__OpMultiAssign__Group_5__0__Impl rule__OpMultiAssign__Group_5__1
             {
-            pushFollow(FOLLOW_68);
+            pushFollow(FOLLOW_67);
             rule__OpMultiAssign__Group_5__0__Impl();
 
             state._fsp--;
@@ -29133,17 +28972,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__0__Impl"
-    // InternalChartDSL.g:8426:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
+    // InternalChartDSL.g:8372:1: rule__OpMultiAssign__Group_5__0__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8430:1: ( ( '<' ) )
-            // InternalChartDSL.g:8431:1: ( '<' )
+            // InternalChartDSL.g:8376:1: ( ( '<' ) )
+            // InternalChartDSL.g:8377:1: ( '<' )
             {
-            // InternalChartDSL.g:8431:1: ( '<' )
-            // InternalChartDSL.g:8432:2: '<'
+            // InternalChartDSL.g:8377:1: ( '<' )
+            // InternalChartDSL.g:8378:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); 
@@ -29174,16 +29013,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1"
-    // InternalChartDSL.g:8441:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
+    // InternalChartDSL.g:8387:1: rule__OpMultiAssign__Group_5__1 : rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 ;
     public final void rule__OpMultiAssign__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8445:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
-            // InternalChartDSL.g:8446:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
+            // InternalChartDSL.g:8391:1: ( rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2 )
+            // InternalChartDSL.g:8392:2: rule__OpMultiAssign__Group_5__1__Impl rule__OpMultiAssign__Group_5__2
             {
-            pushFollow(FOLLOW_62);
+            pushFollow(FOLLOW_61);
             rule__OpMultiAssign__Group_5__1__Impl();
 
             state._fsp--;
@@ -29212,17 +29051,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__1__Impl"
-    // InternalChartDSL.g:8453:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
+    // InternalChartDSL.g:8399:1: rule__OpMultiAssign__Group_5__1__Impl : ( '<' ) ;
     public final void rule__OpMultiAssign__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8457:1: ( ( '<' ) )
-            // InternalChartDSL.g:8458:1: ( '<' )
+            // InternalChartDSL.g:8403:1: ( ( '<' ) )
+            // InternalChartDSL.g:8404:1: ( '<' )
             {
-            // InternalChartDSL.g:8458:1: ( '<' )
-            // InternalChartDSL.g:8459:2: '<'
+            // InternalChartDSL.g:8404:1: ( '<' )
+            // InternalChartDSL.g:8405:2: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); 
@@ -29253,14 +29092,14 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2"
-    // InternalChartDSL.g:8468:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
+    // InternalChartDSL.g:8414:1: rule__OpMultiAssign__Group_5__2 : rule__OpMultiAssign__Group_5__2__Impl ;
     public final void rule__OpMultiAssign__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8472:1: ( rule__OpMultiAssign__Group_5__2__Impl )
-            // InternalChartDSL.g:8473:2: rule__OpMultiAssign__Group_5__2__Impl
+            // InternalChartDSL.g:8418:1: ( rule__OpMultiAssign__Group_5__2__Impl )
+            // InternalChartDSL.g:8419:2: rule__OpMultiAssign__Group_5__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OpMultiAssign__Group_5__2__Impl();
@@ -29286,17 +29125,17 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_5__2__Impl"
-    // InternalChartDSL.g:8479:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
+    // InternalChartDSL.g:8425:1: rule__OpMultiAssign__Group_5__2__Impl : ( '=' ) ;
     public final void rule__OpMultiAssign__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalChartDSL.g:8483:1: ( ( '=' ) )
-            // InternalChartDSL.g:8484:1: ( '=' )
+            // InternalChartDSL.g:8429:1: ( ( '=' ) )
+            // InternalChartDSL.g:8430:1: ( '=' )
             {
-            // InternalChartDSL.g:8484:1: ( '=' )
-            // InternalChartDSL.g:8485:2: '='
+            // InternalChartDSL.g:8430:1: ( '=' )
+            // InternalChartDSL.g:8431:2: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); 
@@ -29327,16 +29166,16 @@
 
 
     // $ANTLR start "rule__OpMultiAssign__Group_6__0"
-    // InternalChartDSL.g:8495:1: rule__OpMultiAssign__Group_6__0 : rule__OpMultiAssign__Group_6__0__Impl rule__O