Merge pull request #2017 from oyarzun/NETBEANSINFRA-6

[NETBEANSINFRA-6] Dynamically get the latest nbm-maven-plugin version
diff --git a/.travis.yml b/.travis.yml
index e2e6351..951385b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,12 +23,17 @@
       - xvfb
       - openjfx
       - libgfortran3
+
 install:
   - export PATH="$PATH:$TRAVIS_BUILD_DIR/nbbuild/travis"
   - export DISPLAY=:99.0
   - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
   - sleep 3
 
+cache:
+  directories:
+  - $HOME/.hgexternalcache
+
 matrix:
     include:
         - name: Check line endings and verify RAT report
@@ -146,7 +151,7 @@
             - hide-logs.sh ant $OPTS -f platform/libs.javafx test
             - travis_retry hide-logs.sh ant $OPTS -f platform/masterfs test
             - hide-logs.sh ant $OPTS -f platform/masterfs.linux test
-            #- hide-logs.sh ant $OPTS -f platform/netbinox test
+            - hide-logs.sh ant $OPTS -f platform/netbinox test  -Dtest.config=stableBTD
             - hide-logs.sh ant $OPTS -f platform/o.n.bootstrap test
             - hide-logs.sh ant $OPTS -f platform/o.n.core test-unit
             - hide-logs.sh ant $OPTS -f platform/o.n.swing.outline test
@@ -297,7 +302,7 @@
             - ant $OPTS -f ide/xml.lexer test
             - ant $OPTS -f ide/xml.multiview test
             - ant $OPTS -f ide/xml.retriever test
-            #- ant $OPTS -f ide/xml.schema.completion test
+            - ant $OPTS -f ide/xml.schema.completion test -Dtest.config=stableBTD
             - ant $OPTS -f ide/xml.schema.model test
             - ant $OPTS -f ide/xml.text test
             - ant $OPTS -f ide/xml.text.obsolete90 test
@@ -339,7 +344,7 @@
             - ant $OPTS build
           script:
             #- ant $OPTS -f java/ant.debugger test
-            - ant $OPTS -f java/ant.freeform test
+            - hide-logs.sh ant $OPTS -f java/ant.freeform test
             #- ant $OPTS -f java/ant.grammar test
             - ant $OPTS -f java/api.debugger.jpda test
             - ant $OPTS -f java/api.java test
@@ -347,12 +352,67 @@
             #- ant $OPTS -f java/beans test
             - ant $OPTS -f java/classfile test
             - ant $OPTS -f java/dbschema test -Dtest.config=stable
+            #- ant $OPTS -f java/debugger.jpda test
+            - hide-logs.sh ant $OPTS -f java/debugger.jpda.js test
+            - hide-logs.sh ant $OPTS -f java/debugger.jpda.projects test
+            - hide-logs.sh ant $OPTS -f java/debugger.jpda.projectsui test
+            #- ant $OPTS -f java/debugger.jpda.truffle test
+            #- ant $OPTS -f java/debugger.jpda.ui test
+            - travis_wait hide-logs.sh ant $OPTS -f java/editor.htmlui test
+            #- travis_wait 30 hide-logs.sh  ant $OPTS -f java/form test
             - ant $OPTS -f java/hudson.maven test
             - ant $OPTS -f java/java.completion test
-            - ant $OPTS -f java/java.hints.declarative test
+            - hide-logs.sh ant $OPTS -f java/java.hints.declarative test
+            #- ant $OPTS -f java/java.kit test
+            #- ant $OPTS -f java/java.lexer test
+            #- ant $OPTS -f java/java.lexer test
+            #- ant $OPTS -f java/java.lsp.server test
+            #- ant $OPTS -f java/java.metrics test
+            - ant $OPTS -f java/java.module.graph test
+            - ant $OPTS -f java/java.navigation test
+            #- ant $OPTS -f java/java.openjdk.project test
+            - ant $OPTS -f java/java.platform test
+            - ant $OPTS -f java/java.platform.ui test
+            - ant $OPTS -f java/java.preprocessorbridge test
+            - hide-logs.sh ant $OPTS -f java/java.project test
+            #- ant $OPTS -f java/java.project.ui test
+            #- ant $OPTS -f java/java.source test
+            #- ant $OPTS -f java/java.source.ant test
             - ant $OPTS -f java/java.source.base test
+            - ant $OPTS -f java/java.source.compat8 test
+            - ant $OPTS -f java/java.source.nbjavac test
+            - ant $OPTS -f java/java.source.queriesimpl test
+            #- ant $OPTS -f java/java.sourceui test
+            - ant $OPTS -f java/java.testrunner test
+            - ant $OPTS -f java/java.testrunner.ant test
+            #- ant $OPTS -f java/javadoc test
+            - ant $OPTS -f java/javawebstart test
+            #- ant $OPTS -f java/jellytools.java test
+            #- ant $OPTS -f java/jshell.support test
+            #- ant $OPTS -f java/junit test
+            - ant $OPTS -f java/junit.ant.ui test
+            - ant $OPTS -f java/lib.nbjavac test
+            #- ant $OPTS -f java/maven test
+            #- ant $OPTS -f java/maven.embedder test
+            - ant $OPTS -f java/maven.grammar test
+            #- ant $OPTS -f java/maven.hints test
+            #- ant $OPTS -f java/maven.htmlui test
+            - ant $OPTS -f java/maven.indexer test
+            - ant $OPTS -f java/maven.junit test
+            - ant $OPTS -f java/maven.model test
+            - ant $OPTS -f java/maven.osgi test
+            #- ant $OPTS -f java/performance test
+            #- ant $OPTS -f java/performance.java test
+            #- ant $OPTS -f java/projectimport.eclipse.core test
+            #- ant $OPTS -f java/refactoring.java test
+            - ant $OPTS -f java/spellchecker.bindings.java test
             #- ant $OPTS -f java/spi.java.hints test
             - ant $OPTS -f java/spring.beans test
+            - ant $OPTS -f java/testng test
+            #- ant $OPTS -f java/testng.ant test
+            #- ant $OPTS -f java/testng.ui test
+            - ant $OPTS -f java/whitelist test
+            - ant $OPTS -f java/xml.jaxb test
 
         - name: Test Java modules with nb-javac on Java 11
           jdk: openjdk8
@@ -382,19 +442,20 @@
             - ant $OPTS -f java/java.completion test
             - ant $OPTS -f java/java.source.base test
 
-        - name: Test Java modules without nb-javac on Java 13
+        - name: Test Java modules without nb-javac on Java 14
           jdk: openjdk8
           env:
             - OPTS="-quiet -Dcluster.config=java -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
           before_script:
             - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
-            - export TEST_JDK=`bash install-jdk.sh --feature 13 --license GPL --emit-java-home --silent | tail -1`
+            - export TEST_JDK=`bash install-jdk.sh --feature 14 --license GPL --emit-java-home --silent | tail -1`
             - export OPTS="$OPTS -Dtest.nbjdk.home=$TEST_JDK -Dtest.use.jdk.javac=true"
             - ant $OPTS clean
             - ant $OPTS build
           script:
             - ant $OPTS -f java/java.completion test
-            
+            - travis_retry ant $OPTS -f java/refactoring.java test-unit
+
         - name: Test apisupport modules
           jdk: openjdk8
           env: 
@@ -449,16 +510,41 @@
             - ant $OPTS clean
             - ant $OPTS build
           script:
-            - hide-logs.sh ant $OPTS -f webcommon/languages.apacheconf test
-            - hide-logs.sh ant $OPTS -f webcommon/languages.ini test
+            - hide-logs.sh ant $OPTS -f webcommon/api.knockout test
+            #- hide-logs.sh ant $OPTS -f webcommon/cordova test
+            #- hide-logs.sh ant $OPTS -f webcommon/html.angular test
+            - hide-logs.sh ant $OPTS -f webcommon/html.knockout test-unit
+            - hide-logs.sh ant $OPTS -f webcommon/html.ojet test
             - hide-logs.sh ant $OPTS -f webcommon/javascript.bower test
             - hide-logs.sh ant $OPTS -f webcommon/javascript.cdnjs test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript.grunt test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript.karma test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript.nodejs test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript.v8debug test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.doc test
+            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.editor test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.extdoc test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.extjs test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.jade test
+            - travis_retry hide-logs.sh ant $OPTS -f webcommon/javascript2.jquery test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.jsdoc test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.json test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.knockout test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.lexer test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.model test
+            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.nodejs test
+            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.prototypejs test
+            #- hide-logs.sh ant $OPTS -f webcommon/javascript2.requirejs test
+            - hide-logs.sh ant $OPTS -f webcommon/javascript2.sdoc test
+            - hide-logs.sh ant $OPTS -f webcommon/languages.apacheconf test
+            - hide-logs.sh ant $OPTS -f webcommon/languages.ini test
+            #- hide-logs.sh ant $OPTS -f webcommon/lib.v8debug test
             - hide-logs.sh ant $OPTS -f webcommon/libs.graaljs test
             - hide-logs.sh ant $OPTS -f webcommon/libs.truffleapi test
-            - hide-logs.sh ant $OPTS -f webcommon/javascript.grunt test
+            - hide-logs.sh ant $OPTS -f webcommon/selenium2.webclient test
             - hide-logs.sh ant $OPTS -f webcommon/web.clientproject test-unit
             - hide-logs.sh ant $OPTS -f webcommon/web.clientproject.api test
-            - hide-logs.sh ant $OPTS -f webcommon/javascript2.doc test
+            - hide-logs.sh ant $OPTS -f webcommon/web.inspect test
 
         - name: "Versioning modules (ide/versioning and ide/versioning.core) tests"
           jdk: openjdk8
@@ -512,8 +598,11 @@
             - ant $OPTS build
           script:
             - ant $OPTS -f enterprise/spring.webmvc test
+            - ant $OPTS -f enterprise/websvc.editor.hints test
+            - ant $OPTS -f enterprise/websvc.websvcapi test
+            - ant $OPTS -f enterprise/websvc.wsstackapi test
             
-        - name: Test groovy modules
+        - name: Test groovy modules on Java 8
           jdk: openjdk8
           env:
             - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
@@ -528,6 +617,44 @@
             - ant $TEST_OPTS -f groovy/groovy.gsp test
             #- ant $TEST_OPTS -f groovy/groovy.kit test
             - ant $TEST_OPTS -f groovy/groovy.support test
+            
+        - name: Test groovy modules on Java 11
+          jdk: openjdk8
+          env:
+            - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
+            - TEST_OPTS="-Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
+          before_script:
+            - ant $BUILD_OPTS clean
+            - ant $BUILD_OPTS build
+            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
+            - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
+            - export OPTS="$OPTS  -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"            
+          script:
+            #- ant $TEST_OPTS -f groovy/groovy test
+            #- ant $TEST_OPTS -f groovy/groovy.java test
+            - ant $TEST_OPTS -f groovy/groovy.editor test
+            - ant $TEST_OPTS -f groovy/groovy.gsp test
+            #- ant $TEST_OPTS -f groovy/groovy.kit test
+            - ant $TEST_OPTS -f groovy/groovy.support test
+            
+        - name: Test groovy modules on Java 14
+          jdk: openjdk8
+          env:
+            - BUILD_OPTS="-quiet -Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
+            - TEST_OPTS="-Dcluster.config=groovy -Djavac.compilerargs=-nowarn -Dbuild.compiler.deprecation=false -Dtest-unit-sys-prop.ignore.random.failures=true"
+          before_script:
+            - ant $BUILD_OPTS clean
+            - ant $BUILD_OPTS build
+            - wget https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
+            - export TEST_JDK=`bash install-jdk.sh --feature 11 --license GPL --emit-java-home --silent | tail -1`
+            - export OPTS="$OPTS  -Dtest.nbjdk.home=$TEST_JDK -Dtest.run.args=--limit-modules=java.base,java.logging,java.xml,java.prefs,java.desktop,java.management,java.instrument,jdk.zipfs,java.scripting,java.naming -Dtest.bootclasspath.prepend.args=-Dno.netbeans.bootclasspath.prepend.needed=true"            
+          script:
+            #- ant $TEST_OPTS -f groovy/groovy test
+            #- ant $TEST_OPTS -f groovy/groovy.java test
+            - ant $TEST_OPTS -f groovy/groovy.editor test
+            - ant $TEST_OPTS -f groovy/groovy.gsp test
+            #- ant $TEST_OPTS -f groovy/groovy.kit test
+            - ant $TEST_OPTS -f groovy/groovy.support test
 
         - name: Test php modules
           jdk: openjdk8
diff --git a/README.md b/README.md
index 36eb9f3..776230e 100644
--- a/README.md
+++ b/README.md
@@ -63,7 +63,9 @@
 $ ant -Dcluster.config=platform
 ```
 
-**Note:** You can also use `php`, `enterprise`, etc. See the [cluster.properties](https://github.com/apache/netbeans/blob/master/nbbuild/cluster.properties) file.
+#### Notes:
+* You can also use `php`, `enterprise`, etc. See the [cluster.properties](https://github.com/apache/netbeans/blob/master/nbbuild/cluster.properties) file.
+* It is possible to compile with newer JDK versions, by adding the ' -Dpermit.jdk9.builds=true' parameter to the ant build expression
 
 #### Building Windows Launchers
 Windows launchers can be build using [MinGW](http://www.mingw.org/) both on Windows and Linux.
diff --git a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/ImportantFilesNodeFactory.java b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/ImportantFilesNodeFactory.java
index 2551b51..867465d 100644
--- a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/ImportantFilesNodeFactory.java
+++ b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/ImportantFilesNodeFactory.java
@@ -342,10 +342,10 @@
         
         private void refreshKeys() {
             List<String> newVisibleFiles = new ArrayList<String>();
-            Iterator it = FILES.keySet().iterator();
+            Iterator<String> it = FILES.keySet().iterator();
             Set<FileObject> files = new HashSet<FileObject>();
             while (it.hasNext()) {
-                String loc = (String) it.next();
+                String loc = it.next();
                 String locEval = project.getEvaluator().evaluate(loc);
                 if (locEval == null) {
                     continue;
diff --git a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/PlatformNode.java b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/PlatformNode.java
index 487037d..62b1278 100644
--- a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/PlatformNode.java
+++ b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/PlatformNode.java
@@ -296,8 +296,8 @@
         private static URL[]  getJavadocRoots(JavaPlatform platform) {
             Set<URL> result = new HashSet<URL>();
             List<ClassPath.Entry> l = platform.getBootstrapLibraries().entries();
-            for (Iterator it = l.iterator(); it.hasNext();) {
-                ClassPath.Entry e = (ClassPath.Entry) it.next();
+            for (Iterator<ClassPath.Entry> it = l.iterator(); it.hasNext();) {
+                ClassPath.Entry e = it.next();
                 result.addAll(Arrays.asList(JavadocForBinaryQuery.findJavadoc(e.getURL()).getRoots()));
             }
             return result.toArray(new URL[result.size()]);
diff --git a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java
index 4386472..f1b910b 100644
--- a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java
+++ b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/ui/customizer/SingleModuleProperties.java
@@ -429,8 +429,8 @@
             return false;
         }
         Set<ModuleDependency> deps = depsModel.getDependencies();
-        for (Iterator it = deps.iterator(); it.hasNext();) {
-            ModuleDependency dep = (ModuleDependency) it.next();
+        for (Iterator<ModuleDependency> it = deps.iterator(); it.hasNext();) {
+            ModuleDependency dep = it.next();
             if (dep.hasImplementationDependency()) {
                 return true;
             }
@@ -741,8 +741,8 @@
     String[] getAvailableFriends() {
         SortedSet<String> set = new TreeSet<String>();
         if (isSuiteComponent()) {
-            for (Iterator it = SuiteUtils.getSubProjects(getSuite()).iterator(); it.hasNext();) {
-                Project prj = (Project) it.next();
+            for (Iterator<NbModuleProject> it = SuiteUtils.getSubProjects(getSuite()).iterator(); it.hasNext();) {
+                Project prj = it.next();
                 String cnb = ProjectUtils.getInformation(prj).getName();
                 if (!getCodeNameBase().equals(cnb)) {
                     set.add(cnb);
@@ -750,8 +750,8 @@
             }
         } else if (isNetBeansOrg()) {
             Set<ModuleDependency> deps = getUniverseDependencies(false);
-            for (Iterator it = deps.iterator(); it.hasNext();) {
-                ModuleDependency dep = (ModuleDependency) it.next();
+            for (Iterator<ModuleDependency> it = deps.iterator(); it.hasNext();) {
+                ModuleDependency dep = it.next();
                 set.add(dep.getModuleEntry().getCodeNameBase());
             }
         } // else standalone module - leave empty (see the UI spec)
@@ -901,8 +901,8 @@
         for (int i = 0; i < pexports.length; i++) {
             ManifestManager.PackageExport pexport = pexports[i];
             if (pexport.isRecursive()) {
-                for (Iterator it = getAvailablePublicPackages().iterator(); it.hasNext(); ) {
-                    String p = (String) it.next();
+                for (Iterator<String> it = getAvailablePublicPackages().iterator(); it.hasNext(); ) {
+                    String p = it.next();
                     if (p.startsWith(pexport.getPackage())) {
                         sPackages.add(p);
                     }
diff --git a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/universe/AbstractEntry.java b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/universe/AbstractEntry.java
index d8eaa38..c7d856f 100644
--- a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/universe/AbstractEntry.java
+++ b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/universe/AbstractEntry.java
@@ -128,9 +128,9 @@
                 String pkg = path.substring(0, slash + 1);
                 if (!publicPackagesSlashNonRec.contains(pkg)) {
                     boolean pub = false;
-                    Iterator it = publicPackagesSlashRec.iterator();
+                    Iterator<String> it = publicPackagesSlashRec.iterator();
                     while (it.hasNext()) {
-                        if (pkg.startsWith((String) it.next())) {
+                        if (pkg.startsWith(it.next())) {
                             pub = true;
                             break;
                         }
diff --git a/apisupport/apisupport.installer.maven/src/org/netbeans/modules/apisupport/installer/maven/actions/BuildInstallersAction.java b/apisupport/apisupport.installer.maven/src/org/netbeans/modules/apisupport/installer/maven/actions/BuildInstallersAction.java
index b595b0f..0773a5e 100644
--- a/apisupport/apisupport.installer.maven/src/org/netbeans/modules/apisupport/installer/maven/actions/BuildInstallersAction.java
+++ b/apisupport/apisupport.installer.maven/src/org/netbeans/modules/apisupport/installer/maven/actions/BuildInstallersAction.java
@@ -149,7 +149,6 @@
                     //    licenseFile = null;
                     //}
                 }
-                boolean usePack200 = prefs.getBoolean(SuiteInstallerProjectProperties.USE_PACK200_COMPRESSION, false);
 
                 //${harness.dir}/etc/applicationIcon.icns
                 appIconIcnsFile = new File(InstalledFileLocator.getDefault().locate(
@@ -322,8 +321,6 @@
                 "generated-installers-location-forward-slashes",
                 new File(suiteLocation, "dist").getAbsolutePath().replace("\\", "/"));
                  */
-                props.put(
-                        "pack200.enabled", "" + usePack200);
 
                 /*
                 if(appIcon!=null) {
diff --git a/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig b/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig
index f15dce2..e785b1a 100644
--- a/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig
+++ b/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig
@@ -624,7 +624,6 @@
 fld public final static java.lang.String LICENSE_TYPE_CUSTOM = "custom"
 fld public final static java.lang.String LICENSE_TYPE_FILE = "file"
 fld public final static java.lang.String LICENSE_TYPE_NO = "no"
-fld public final static java.lang.String USE_PACK200_COMPRESSION = "pack200-enabled"
 meth public static java.util.prefs.Preferences prefs(org.netbeans.api.project.Project)
 meth public void store() throws java.io.IOException
 supr java.lang.Object
diff --git a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/actions/BuildInstallersAction.java b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/actions/BuildInstallersAction.java
index 6ecbf29..c5265e6 100644
--- a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/actions/BuildInstallersAction.java
+++ b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/actions/BuildInstallersAction.java
@@ -105,7 +105,6 @@
                             //    licenseFile = null;
                             //}
                         }
-                        boolean usePack200 = prefs.getBoolean(SuiteInstallerProjectProperties.USE_PACK200_COMPRESSION, false);
 
                         try {
                             FileObject propertiesFile = prj.getProjectDirectory().getFileObject(AntProjectHelper.PROJECT_PROPERTIES_PATH);
@@ -314,8 +313,6 @@
                         "generated-installers-location-forward-slashes",
                         new File(suiteLocation, "dist").getAbsolutePath().replace("\\", "/"));
                          */
-                        props.put(
-                                "pack200.enabled", "" + usePack200);
 
                         if(appIcon!=null) {
                             File appIconFile = new File(appIcon);
diff --git a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/InstallerPanel.java b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/InstallerPanel.java
index 5be8efa..ceddd40 100644
--- a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/InstallerPanel.java
+++ b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/InstallerPanel.java
@@ -38,7 +38,6 @@
         jCheckBox2.setModel(installerProps.linuxModel);
         jCheckBox3.setModel(installerProps.macModel);
         jCheckBox4.setModel(installerProps.solarisModel);
-        jCheckBox5.setModel(installerProps.pack200Model);
         
         licenseComboBox.setModel(installerProps.licenseModel);
     }
diff --git a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/SuiteInstallerProjectProperties.java b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/SuiteInstallerProjectProperties.java
index 294bf9e..828729c 100644
--- a/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/SuiteInstallerProjectProperties.java
+++ b/apisupport/apisupport.installer/src/org/netbeans/modules/apisupport/installer/ui/SuiteInstallerProjectProperties.java
@@ -44,7 +44,6 @@
     public static final String GENERATE_FOR_LINUX = "os-linux";
     public static final String GENERATE_FOR_SOLARIS = "os-solaris";
     public static final String GENERATE_FOR_MAC = "os-macosx";
-    public static final String USE_PACK200_COMPRESSION = "pack200-enabled";
 
     public static final String LICENSE_TYPE = "license-type";
     public static final String LICENSE_TYPE_NO = "no";
@@ -57,7 +56,6 @@
     final JToggleButton.ToggleButtonModel linuxModel;
     final JToggleButton.ToggleButtonModel solarisModel;
     final JToggleButton.ToggleButtonModel macModel;
-    final JToggleButton.ToggleButtonModel pack200Model;
     final LicenseComboBoxModel licenseModel;
 
     public SuiteInstallerProjectProperties(Project suiteProject) {
@@ -71,8 +69,6 @@
         solarisModel.setSelected(prefs.getBoolean(GENERATE_FOR_SOLARIS, Utilities.getOperatingSystem() == Utilities.OS_SOLARIS));
         macModel = new JToggleButton.ToggleButtonModel();
         macModel.setSelected(prefs.getBoolean(GENERATE_FOR_MAC, Utilities.isMac()));
-        pack200Model = new JToggleButton.ToggleButtonModel();
-        pack200Model.setSelected(prefs.getBoolean(USE_PACK200_COMPRESSION, false));
 
         // license model:
         ResourceBundle rb = NbBundle.getBundle(SuiteInstallerProjectProperties.class);
@@ -126,7 +122,6 @@
         prefs.putBoolean(GENERATE_FOR_LINUX, linuxModel.isSelected());
         prefs.putBoolean(GENERATE_FOR_SOLARIS, solarisModel.isSelected());
         prefs.putBoolean(GENERATE_FOR_MAC, macModel.isSelected());
-        prefs.putBoolean(USE_PACK200_COMPRESSION, pack200Model.isSelected());
         String licenseName = (String) licenseModel.getSelectedItem();
         if (licenseName != null) {
             int index = licenseModel.getNames().indexOf(licenseName);
diff --git a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/EditableManifest.java b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/EditableManifest.java
index 14badb5..73a88f2 100644
--- a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/EditableManifest.java
+++ b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/api/EditableManifest.java
@@ -455,9 +455,9 @@
         }
         
         public void write(Writer w, boolean forceBlankLine) throws IOException {
-            Iterator it = lines.iterator();
+            Iterator<Line> it = lines.iterator();
             while (it.hasNext()) {
-                Line line = (Line) it.next();
+                Line line = it.next();
                 line.write(w);
             }
             for (int i = 0; i < blankLinesAfter; i++) {
diff --git a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/layers/WritableXMLFileSystem.java b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/layers/WritableXMLFileSystem.java
index b73e5de..ee8ef56 100644
--- a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/layers/WritableXMLFileSystem.java
+++ b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/layers/WritableXMLFileSystem.java
@@ -162,7 +162,7 @@
         if (doc == null) {
             return null;
         }
-        Iterator it;
+        Iterator<?> it;
         it = doc.getChildNodes().iterator();
         while (it.hasNext()) {
             Object next = it.next();
@@ -195,9 +195,9 @@
                 remainder = name.substring(idx + 1);
             }
             TreeElement subel = null;
-            Iterator it = el.getChildNodes(TreeElement.class).iterator();
+            Iterator<TreeElement> it = el.getChildNodes(TreeElement.class).iterator();
             while (it.hasNext()) {
-                TreeElement e = (TreeElement) it.next();
+                TreeElement e = it.next();
                 if (e.getLocalName().equals("file") || // NOI18N
                         e.getLocalName().equals("folder")) { // NOI18N
                     TreeAttribute nameAttr = e.getAttribute("name"); // NOI18N
@@ -233,9 +233,9 @@
         }
         ArrayList<String> kids = new ArrayList<String>();
         Set<String> allNames = new HashSet<String>();
-        Iterator it = el.getChildNodes(TreeElement.class).iterator();
+        Iterator<TreeElement> it = el.getChildNodes(TreeElement.class).iterator();
         while (it.hasNext()) {
-            TreeElement sub = (TreeElement) it.next();
+            TreeElement sub = it.next();
             if (sub.getLocalName().equals("file") || // NOI18N
                     sub.getLocalName().equals("folder")) { // NOI18N
                 TreeAttribute childName = sub.getAttribute("name"); // NOI18N
@@ -296,7 +296,7 @@
             }
         } else {
             StringBuffer buf = new StringBuffer();
-            Iterator it = el.getChildNodes().iterator();
+            Iterator<?> it = el.getChildNodes().iterator();
             while (it.hasNext()) {
                 Object o = it.next();
                 if (o instanceof TreeCDATASection) {
@@ -560,9 +560,9 @@
             return Enumerations.empty();
         }
         java.util.List<String> l = new ArrayList<String>(10);
-        Iterator it = el.getChildNodes(TreeElement.class).iterator();
+        Iterator<TreeElement> it = el.getChildNodes(TreeElement.class).iterator();
         while (it.hasNext()) {
-            TreeElement sub = (TreeElement) it.next();
+            TreeElement sub = it.next();
             if (sub.getLocalName().equals("attr")) { // NOI18N
                 TreeAttribute nameAttr = sub.getAttribute("name"); // NOI18N
                 if (nameAttr == null) {
@@ -836,9 +836,9 @@
         }
         // Find any existing <attr>.
         TreeChild existingAttr = null;
-        Iterator it = el.getChildNodes(TreeElement.class).iterator();
+        Iterator<TreeElement> it = el.getChildNodes(TreeElement.class).iterator();
         while (it.hasNext()) {
-            TreeElement sub = (TreeElement) it.next();
+            TreeElement sub = it.next();
             if (sub.getLocalName().equals("attr")) { // NOI18N
                 TreeAttribute attr = sub.getAttribute("name"); // NOI18N
                 if (attr == null) {
@@ -1150,9 +1150,9 @@
         TreeElement childe = (TreeElement) child;
         if (childe.getQName().equals("file") || childe.getQName().equals("folder")) { // NOI18N
             String name = childe.getAttribute("name").getValue(); // NOI18N
-            Iterator it = parent.getChildNodes(TreeElement.class).iterator();
+            Iterator<TreeElement> it = parent.getChildNodes(TreeElement.class).iterator();
             while (it.hasNext()) {
-                TreeElement kid = (TreeElement) it.next();
+                TreeElement kid = it.next();
                 if (kid.getQName().equals("file") || kid.getQName().equals("folder")) { // NOI18N
                     TreeAttribute attr = kid.getAttribute("name"); // NOI18N
                     if (attr != null) { // #66816 - layer might be malformed
@@ -1166,9 +1166,9 @@
             return null;
         } else if (childe.getQName().equals("attr")) { // NOI18N
             String name = childe.getAttribute("name").getValue(); // NOI18N
-                Iterator it = parent.getChildNodes(TreeElement.class).iterator();
+                Iterator<TreeElement> it = parent.getChildNodes(TreeElement.class).iterator();
                 while (it.hasNext()) {
-                    TreeElement kid = (TreeElement) it.next();
+                    TreeElement kid = it.next();
                     if (kid.getQName().equals("file") || kid.getQName().equals("folder")) { // NOI18N
                         return kid;
                     } else if (kid.getQName().equals("attr")) { // NOI18N
@@ -1337,7 +1337,7 @@
         TreeElement parent = (TreeElement) child.getParentNode();
         TreeObjectList list = parent.getChildNodes();
         boolean kill = true;
-        Iterator it = list.iterator();
+        Iterator<?> it = list.iterator();
         while (it.hasNext()) {
             Object o = it.next();
             if (o == child) {
diff --git a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java
index c3b7b2f..d15820c 100644
--- a/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java
+++ b/apisupport/apisupport.project/src/org/netbeans/modules/apisupport/project/spi/BrandingSupport.java
@@ -209,8 +209,8 @@
         BrandedFile retval = null;
         try {
             retval = new BrandedFile(moduleEntry, entryPath);
-            for (Iterator it = getBrandedFiles().iterator();it.hasNext() ;) {
-                BrandedFile bFile = (BrandedFile)it.next();
+            for (Iterator<BrandedFile> it = getBrandedFiles().iterator();it.hasNext() ;) {
+                BrandedFile bFile = it.next();
                 
                 if (retval.equals(bFile)) {
                     retval = bFile;
diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/RunIDEInstallationChecker.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/RunIDEInstallationChecker.java
index ce80940..d840743 100644
--- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/RunIDEInstallationChecker.java
+++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/RunIDEInstallationChecker.java
@@ -23,7 +23,7 @@
 import java.io.IOException;
 import java.util.Collections;
 import javax.xml.namespace.QName;
-import org.apache.maven.cli.MavenCli;
+import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
 import org.netbeans.api.project.Project;
 import org.netbeans.modules.maven.api.NbMavenProject;
 import org.netbeans.modules.maven.api.execute.PrerequisitesChecker;
@@ -63,7 +63,7 @@
                 NbMavenProject nbmp = project.getLookup().lookup(NbMavenProject.class);
                 if (nbmp != null && MavenNbModuleImpl.findIDEInstallation(project) == null) {
                         String netbeansInstallation = new File(System.getProperty("netbeans.home")).getParent();
-                        if (DialogDisplayer.getDefault().notify(new NotifyDescriptor.Confirmation(RunIDEInstallationChecker_message(netbeansInstallation, MavenCli.DEFAULT_USER_SETTINGS_FILE), RunIDEInstallationChecker_title(), NotifyDescriptor.OK_CANCEL_OPTION)) == NotifyDescriptor.OK_OPTION) {
+                        if (DialogDisplayer.getDefault().notify(new NotifyDescriptor.Confirmation(RunIDEInstallationChecker_message(netbeansInstallation, SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE), RunIDEInstallationChecker_title(), NotifyDescriptor.OK_CANCEL_OPTION)) == NotifyDescriptor.OK_OPTION) {
                             try {
                                 defineIDE(netbeansInstallation);
                             } catch (IOException x) {
@@ -88,9 +88,9 @@
     }
 
     private static void defineIDE(final String netbeansInstallation) throws IOException {
-        FileObject settingsXml = FileUtil.toFileObject(MavenCli.DEFAULT_USER_SETTINGS_FILE);
+        FileObject settingsXml = FileUtil.toFileObject(SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE);
         if (settingsXml == null) {
-            settingsXml = FileUtil.copyFile(FileUtil.getConfigFile("Maven2Templates/settings.xml"), FileUtil.createFolder(MavenCli.DEFAULT_USER_SETTINGS_FILE.getParentFile()), "settings");
+            settingsXml = FileUtil.copyFile(FileUtil.getConfigFile("Maven2Templates/settings.xml"), FileUtil.createFolder(SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.getParentFile()), "settings");
         }
         Utilities.performSettingsModelOperations(settingsXml, Collections.<ModelOperation<SettingsModel>>singletonList(new ModelOperation<SettingsModel>() {
             public @Override void performOperation(SettingsModel model) {
diff --git a/contrib/javaee.wildfly/build.xml b/contrib/javaee.wildfly/build.xml
index b792d89..4c451ed 100644
--- a/contrib/javaee.wildfly/build.xml
+++ b/contrib/javaee.wildfly/build.xml
@@ -24,9 +24,5 @@
 
     <property name="resources.dir" value="./src/org/netbeans/modules/javaee/wildfly/resources/"/>
     <target name="build-init" depends="projectized.build-init">
-        <unzip src="external/javaee-wildfly-glassfish-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-jboss-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-ironjacamar-resources.zip" dest="${resources.dir}"/>
-        <unzip src="external/javaee-wildfly-w3c-resources.zip" dest="${resources.dir}"/>
     </target>
 </project>
diff --git a/contrib/javaee.wildfly/external/ironjacamar-license.txt b/contrib/javaee.wildfly/external/ironjacamar-license.txt
deleted file mode 100644
index e7e6a6e..0000000
--- a/contrib/javaee.wildfly/external/ironjacamar-license.txt
+++ /dev/null
@@ -1,510 +0,0 @@
-Name: XML Schema from IronJacamar
-Origin: Red Hat
-Version: 1.1
-License: LGPL-2.1
-Description: IronJacamar is an implementation of the Java EE Connector Architecture 1.7 specification.
-URL: http://www.ironjacamar.org/doc/developerguide/1.1/en-US/html_single/index.html#lgpl
-Files: javaee-wildfly-ironjacamar-resources.zip
-
-GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt b/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt
deleted file mode 100644
index 4cc486e..0000000
--- a/contrib/javaee.wildfly/external/javaee-wildfly-jboss-license.txt
+++ /dev/null
@@ -1,509 +0,0 @@
-Name: XML Schema for WildFly
-Origin: Red Hat
-Version: 1.1
-License: LGPL-2.1
-Description: XML Schema for WildFly
-Files: javaee-wildfly-jboss-resources.zip
-
-GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/contrib/javaee.wildfly/licenseinfo.xml b/contrib/javaee.wildfly/licenseinfo.xml
index e516d6e..dd841ae 100644
--- a/contrib/javaee.wildfly/licenseinfo.xml
+++ b/contrib/javaee.wildfly/licenseinfo.xml
@@ -21,21 +21,18 @@
 -->
 <licenseinfo>
     <fileset>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_client_1_4.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_3.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_4_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-common_3_1.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_4_0.xsd</file>
         <license ref="CDDL-1.1" />
         <comment type="CATEGORY_B" />
     </fileset>
     <fileset>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_6.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_client_1_3.xsd</file>
-        <file>src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_2.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-common_3_0.xsd</file>
         <file>src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_0.xsd</file>
@@ -47,4 +44,29 @@
         <license ref="W3C2" />
         <comment type="CATEGORY_B" />
     </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd</file>
+        <license ref="EPL-v10" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+    <fileset>
+        <!-- see https://github.com/jbosstools/jbosstools-server/blob/master/as/plugins/org.jboss.ide.eclipse.as.ui/icons/wildfly_icon_16.png -->
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png</file>
+        <license ref="EPL-v20" />
+        <comment type="CATEGORY_B" />
+    </fileset>
+    <fileset>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd</file>
+        <file>src/org/netbeans/modules/javaee/wildfly/resources/wildfly-messaging-activemq-deployment_1_0_1.xsd</file>
+        <license ref="Apache-2.0" />
+        <comment type="COMMENT_UNSUPPORTED" />
+    </fileset>
 </licenseinfo>
diff --git a/contrib/javaee.wildfly/manifest.mf b/contrib/javaee.wildfly/manifest.mf
index 653d971..49e89ce 100644
--- a/contrib/javaee.wildfly/manifest.mf
+++ b/contrib/javaee.wildfly/manifest.mf
@@ -4,4 +4,4 @@
 OpenIDE-Module-Layer: org/netbeans/modules/javaee/wildfly/resources/layer.xml
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/wildfly/resources/Bundle.properties
 OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee
-OpenIDE-Module-Specification-Version: 1.6
+OpenIDE-Module-Specification-Version: 2.0
diff --git a/contrib/javaee.wildfly/nbproject/project.properties b/contrib/javaee.wildfly/nbproject/project.properties
index 7b9d30f..48794b9 100644
--- a/contrib/javaee.wildfly/nbproject/project.properties
+++ b/contrib/javaee.wildfly/nbproject/project.properties
@@ -21,10 +21,11 @@
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.enableFormatAsSaveAction=false
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.showNotifications=true
 auxiliary.de-markiewb-netbeans-plugins-eclipse-formatter.useProjectSettings=false
-javac.source=1.7
+javac.source=1.8
 #javac.compilerargs=-Xlint:unchecked
 
 
+javadoc.arch=${basedir}/arch.xml
 nbm.homepage=http://wildfly.org
 nbm.module.author=Emmanuel Hugonnet (ehsavoie)
 nbm.needs.restart=true
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
index a6ac1df..b661f27 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java
@@ -366,7 +366,7 @@
     public int getPort() {
         String port = InstanceProperties.getInstanceProperties(realUri).
                 getProperty(WildflyPluginProperties.PROPERTY_PORT);
-        return new Integer(port).intValue();
+        return Integer.parseInt(port);
     }
 
     public Version getServerVersion() {
@@ -413,6 +413,7 @@
     }
 
     @Override
+    @Deprecated
     public ProgressObject distribute(Target[] targets, InputStream in, InputStream in1) throws IllegalStateException {
         throw new UnsupportedOperationException("This method should never be called!"); // NOI18N
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
index 695a567..9114b7f 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/CarDeploymentConfiguration.java
@@ -35,7 +35,6 @@
 import org.netbeans.modules.javaee.wildfly.config.gen.EjbRef;
 import org.netbeans.modules.javaee.wildfly.config.gen.JbossClient;
 import org.netbeans.modules.javaee.wildfly.config.gen.ResourceRef;
-import org.netbeans.modules.javaee.wildfly.config.gen.ServiceRef;
 import org.netbeans.modules.javaee.wildfly.config.mdb.MessageDestinationSupportImpl;
 import org.netbeans.modules.javaee.wildfly.ide.ui.WildflyPluginUtils;
 import org.openide.DialogDisplayer;
@@ -340,9 +339,9 @@
             public void modify(JbossClient modifiedJbossClient) {
 
                 // check whether resource not already defined
-                ServiceRef serviceRefs[] = modifiedJbossClient.getServiceRef();
+                String serviceRefs[] = modifiedJbossClient.getServiceRef();
                 for (int i = 0; i < serviceRefs.length; i++) {
-                    String srn = serviceRefs[i].getServiceRefName();
+                    String srn = serviceRefs[i];
                     if (name.equals(srn)) {
                         // already exists
                         return;
@@ -350,9 +349,7 @@
                 }
 
                 //if it doesn't exist yet, create a new one
-                ServiceRef newSR = new ServiceRef();
-                newSR.setServiceRefName(name);
-                modifiedJbossClient.addServiceRef(newSR);
+                modifiedJbossClient.addServiceRef(name);
             }
         });
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
index f08f0d1..33ba03d 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/ds/gen/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 @Schema2Beans(
-        schema = "../../../resources/datasources_1_1.xsd",
+        schema = "../../../resources/datasources_1_4_1.xsd",
         schemaType = SchemaType.XML_SCHEMA,
         outputType = OutputType.TRADITIONAL_BASEBEAN,
         validate = true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
index 5d4fdc9..3513534 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/package-info.java
@@ -19,7 +19,7 @@
 
 @Multiple({
     @Schema2Beans(
-        schema="../../resources/jboss-client_4_0.dtd",
+        schema="../../resources/jboss-client_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -29,7 +29,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-service_4_0.dtd",
+        schema="../../resources/jboss-service_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -39,7 +39,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss_4_0.dtd",
+        schema="../../resources/jboss_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -49,7 +49,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-app_4_0.dtd",
+        schema="../../resources/jboss-app_4_0_1.dtd",
         schemaType=SchemaType.DTD,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -59,7 +59,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-web_7_2.xsd",
+        schema="../../resources/jboss-web_7_3_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -69,7 +69,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../resources/jboss-as-messaging-deployment_1_0.xsd",
+        schema="../../resources/jboss-as-messaging-deployment_1_0_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
index bed85b3..088fd9d 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/gen/wf10/package-info.java
@@ -19,7 +19,7 @@
 
 @Multiple({
     @Schema2Beans(
-        schema="../../../resources/jboss-web_10_0.xsd",
+        schema="../../../resources/jboss-web_14_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
@@ -29,7 +29,7 @@
         java5=true
     ),
     @Schema2Beans(
-        schema="../../../resources/wildfly-messaging-activemq-deployment_1_0.xsd",
+        schema="../../../resources/wildfly-messaging-activemq-deployment_1_0_1.xsd",
         schemaType=SchemaType.XML_SCHEMA,
         outputType=OutputType.TRADITIONAL_BASEBEAN,
         validate=true,
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
index 820672f..6347a85 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/MessageDestinationSupportImpl.java
@@ -33,9 +33,10 @@
 import org.netbeans.modules.j2ee.deployment.common.api.MessageDestination;
 import org.netbeans.modules.javaee.wildfly.WildflyDeploymentManager;
 import org.netbeans.modules.javaee.wildfly.config.ResourceConfigurationHelper;
-import org.netbeans.modules.javaee.wildfly.config.gen.Depends;
-import org.netbeans.modules.javaee.wildfly.config.gen.Mbean;
-import org.netbeans.modules.javaee.wildfly.config.gen.Server;
+import org.netbeans.modules.javaee.wildfly.config.gen.HornetqServerType;
+import org.netbeans.modules.javaee.wildfly.config.gen.JmsQueueType;
+import org.netbeans.modules.javaee.wildfly.config.gen.JmsTopicType;
+import org.netbeans.modules.javaee.wildfly.config.gen.MessagingDeployment;
 import org.openide.DialogDisplayer;
 import org.openide.NotifyDescriptor;
 import org.openide.cookies.EditorCookie;
@@ -64,7 +65,7 @@
     private File resourceDir;
 
     //model of the destination service file
-    private Server destinationServiceModel;
+    private MessagingDeployment destinationServiceModel;
 
     //destination service file (placed in the resourceDir)
     private File destinationsFile;
@@ -114,41 +115,25 @@
         return getMessageDestinations(getMessageDestinationModel(false));
     }
 
-    private static Set<MessageDestination> getMessageDestinations(Server model) throws ConfigurationException {
+    private static Set<MessageDestination> getMessageDestinations(MessagingDeployment model) throws ConfigurationException {
 
         if (model == null) {
             return Collections.<MessageDestination>emptySet();
         }
 
-        HashSet<MessageDestination> destinations = new HashSet<MessageDestination>();
+        HashSet<MessageDestination> destinations = new HashSet<>();
 
-        for (Mbean mbean : model.getMbean()) {
-            String mbeanNameAttribute = mbean.getName();
-            if (mbeanNameAttribute == null) {
+        for (HornetqServerType serverType : model.getHornetqServer()) {
+            if(serverType.getJmsDestinations() == null) {
                 continue;
             }
-
-            MessageDestination.Type type = null;
-            if (mbeanNameAttribute.indexOf("service=Queue") > -1) { // NOI18N
-                type = MessageDestination.Type.QUEUE;
-            } else if (mbeanNameAttribute.indexOf("service=Topic") > -1) { // NOI18N
-                type = MessageDestination.Type.TOPIC;
+            JmsQueueType[] queues = serverType.getJmsDestinations().getJmsQueue();
+            for(JmsQueueType queue : serverType.getJmsDestinations().getJmsQueue()) {
+                destinations.add(new WildflyMessageDestination(queue.getName(), MessageDestination.Type.QUEUE));
             }
-            if (type == null) {
-                continue;
+            for(JmsTopicType topic : serverType.getJmsDestinations().getJmsTopic()) {
+                destinations.add(new WildflyMessageDestination(topic.getName(), MessageDestination.Type.TOPIC));
             }
-
-            int nameIndex = mbeanNameAttribute.indexOf("name="); // NOI18N
-            if (nameIndex == -1) {
-                continue;
-            }
-
-            String name = mbeanNameAttribute.substring(nameIndex + 5); // "name=".length() == 5
-            if (name.indexOf(",") > -1) {
-                name = name.substring(0, name.indexOf(",")); // NOI18N
-            }
-
-            destinations.add(new WildflyMessageDestination(name, type));
         }
 
         return destinations;
@@ -161,14 +146,14 @@
      * @return Destination service graph or null if the
      * jboss#-netbeans-destinations-service.xml file is not parseable.
      */
-    private synchronized Server getMessageDestinationModel(boolean create) {
+    private synchronized MessagingDeployment getMessageDestinationModel(boolean create) {
 
         try {
             if (destinationsFile.exists()) {
                 // load configuration if already exists
                 try {
                     if (destinationServiceModel == null) {
-                        destinationServiceModel = Server.createGraph(destinationsFile);
+                        destinationServiceModel = MessagingDeployment.createGraph(destinationsFile);
                     }
                 } catch (IOException ioe) {
                     Exceptions.printStackTrace(ioe);
@@ -177,7 +162,7 @@
                 }
             } else if (create) {
                 // create netbeans-destinations-service.xml if it does not exist yet
-                destinationServiceModel = new Server();
+                destinationServiceModel = new MessagingDeployment();
                 ResourceConfigurationHelper.writeFile(destinationsFile, destinationServiceModel);
                 ensureDestinationsFOExists();
             }
@@ -216,7 +201,7 @@
 
         // Model for the editor content or the latest saved model
         // if the editor content is not parseable or valid for any reason.
-        Server newDestinationServiceModel = null;
+        MessagingDeployment newDestinationServiceModel = null;
 
         StyledDocument doc = null;
         try {
@@ -228,7 +213,7 @@
             }
             // try to create a graph from the editor content
             byte[] docString = doc.getText(0, doc.getLength()).getBytes();
-            newDestinationServiceModel = Server.createGraph(new ByteArrayInputStream(docString));
+            newDestinationServiceModel = MessagingDeployment.createGraph(new ByteArrayInputStream(docString));
         } catch (IOException ioe) {
             String msg = NbBundle.getMessage(MessageDestinationSupportImpl.class,
                     "MSG_CannotUpdateFile", destinationsFile.getAbsolutePath());    // NOI18N
@@ -237,7 +222,7 @@
             // this should not occur, just log it if it happens
             Logger.getLogger("global").log(Level.INFO, null, ble);
         } catch (RuntimeException e) {
-            Server oldDestinationServiceModel = getMessageDestinationModel(true);
+            MessagingDeployment oldDestinationServiceModel = getMessageDestinationModel(true);
             if (oldDestinationServiceModel == null) {
                 // neither the old graph is parseable, there is not much we can do here
                 // TODO: should we notify the user?
@@ -282,13 +267,12 @@
 
     }
 
-    private WildflyMessageDestination modifyMessageDestinationModel(
-            Server model, String name, MessageDestination.Type type) throws ConfigurationException {
 
+    private WildflyMessageDestination modifyMessageDestinationModel(
+            MessagingDeployment model, String name, MessageDestination.Type type) throws ConfigurationException {
         if (model == null) {
             return null;
         }
-
         // check whether the destination doesn't exist yet
         for (MessageDestination destination : getMessageDestinations(model)) {
             if (name.equals(destination.getName()) && type == destination.getType()) {
@@ -296,28 +280,20 @@
                 return null;
             }
         }
-
-        // <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
-        Depends depends = new Depends();
-        depends.setOptionalAttributeName("DestinationManager");     // NOI18N
-        // TODO uncomment as soon as the issue #102128 is fixed
-//        depends.addpcdata("jboss.mq:service=DestinationManager");   // NOI18N
-
-        Mbean mbean = new Mbean();
-        if (type == MessageDestination.Type.QUEUE) {
-            // <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name={name}">
-            mbean.setCode("org.jboss.mq.server.jmx.Queue");                     // NOI18N
-            mbean.setName("jboss.mq.destination:service=Queue,name=" + name);   // NOI18N
-        } else if (type == MessageDestination.Type.TOPIC) {
-            // <mbean code="org.jboss.mq.server.jmx.Topic" name="jboss.mq.destination:service=Queue,name={name}">
-            mbean.setCode("org.jboss.mq.server.jmx.Topic");                     // NOI18N
-            mbean.setName("jboss.mq.destination:service=Topic,name=" + name);   // NOI18N
+        if(model.getHornetqServer(0) == null) {
+            HornetqServerType server = new HornetqServerType();
+            server.setJmsDestinations(server.newJmsDestinations());
+            model.addHornetqServer(server);
         }
-
-        mbean.addDepends(depends);
-
-        model.addMbean(mbean);
-
+        if (type == MessageDestination.Type.QUEUE) {
+            JmsQueueType queue = new JmsQueueType();
+            queue.setName(name);
+            model.getHornetqServer(0).getJmsDestinations().addJmsQueue(queue);
+        } else if (type == MessageDestination.Type.TOPIC) {
+           JmsTopicType topic = new JmsTopicType();
+            topic.setName(name);
+            model.getHornetqServer(0).getJmsDestinations().addJmsTopic(topic);
+        }
         return new WildflyMessageDestination(name, type);
     }
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
index 86ee9f5..ee434f0 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/mdb/wf10/MessageDestinationSupportImpl.java
@@ -65,18 +65,18 @@
     public static final String CONN_FACTORY_JNDI_NAME_JB4 = "ConnectionFactory"; // NOI18N
 
 // the directory with resources - supplied by the configuration support in the construction time
-    private File resourceDir;
+    private final File resourceDir;
 
     //model of the destination service file
     private MessagingDeployment destinationServiceModel;
 
     //destination service file (placed in the resourceDir)
-    private File destinationsFile;
+    private final File destinationsFile;
 
     //destination service file object
     private FileObject destinationsFO;
     
-    private WildflyDeploymentManager dm;
+    private final WildflyDeploymentManager dm;
 
     public MessageDestinationSupportImpl(File resourceDir, String moduleName) throws IOException {
         this.resourceDir = resourceDir;
@@ -90,11 +90,13 @@
      */
     private class MessageDestinationFileListener extends FileChangeAdapter {
 
+        @Override
         public void fileChanged(FileEvent fe) {
             assert (fe.getSource() == destinationsFO);
             destinationServiceModel = null;
         }
 
+        @Override
         public void fileDeleted(FileEvent fe) {
             assert (fe.getSource() == destinationsFO);
             destinationServiceModel = null;
@@ -281,7 +283,7 @@
         }
         if(model.getServer(0) == null) {
             ServerType server = new ServerType();
-            server.setJmsDestinations(server.newJmsDestinations());            
+            server.setJmsDestinations(server.newJmsDestinations());
             model.addServer(server);
         }
         if (type == MessageDestination.Type.QUEUE) {
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
index cf3cf3f..f307c56 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java
@@ -108,6 +108,8 @@
             WILDFLY_PROFILES.add(Profile.JAVA_EE_6_FULL);
             WILDFLY_PROFILES.add(Profile.JAVA_EE_7_WEB);
             WILDFLY_PROFILES.add(Profile.JAVA_EE_7_FULL);
+            WILDFLY_PROFILES.add(Profile.JAVA_EE_8_WEB);
+            WILDFLY_PROFILES.add(Profile.JAVA_EE_8_FULL);
         }
 
         private static final Set<Profile> EAP6_PROFILES = new HashSet<Profile>();
@@ -122,6 +124,7 @@
         static {
             WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_6_WEB);
             WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_7_WEB);
+            WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_8_WEB);
         }
         private LibraryImplementation[] libraries;
 
@@ -163,6 +166,9 @@
             Set versions = new HashSet();
             versions.add("1.7"); // NOI18N
             versions.add("1.8"); // NOI18N
+            versions.add("1.8"); // NOI18N
+            versions.add("1.9"); // NOI18N
+            versions.add("11"); // NOI18N
             return versions;
         }
 
@@ -224,6 +230,7 @@
         }
 
         @Override
+        @Deprecated
         public boolean isToolSupported(String toolName) {
 
             if (J2eePlatform.TOOL_JSR109.equals(toolName)) {
@@ -439,6 +446,7 @@
         }
 
         @Override
+        @Deprecated
         public String getToolProperty(String toolName, String propertyName) {
             if (J2eePlatform.TOOL_APP_CLIENT_RUNTIME.equals(toolName)) {
                 if (J2eePlatform.TOOL_PROP_MAIN_CLASS.equals(propertyName)) {
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
index 1fde5df..1af0a77 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyClient.java
@@ -154,7 +154,6 @@
     private static final String MESSAGING_ACTIVEMQ_SUBSYSTEM = "messaging-activemq"; // NOI18N
     private static final String RESOURCE_ADAPTER_SUBSYSTEM = "resource-adapters"; // NOI18N
 
-
     private static final String DATASOURCE_TYPE = "data-source"; // NOI18N
     private static final String HORNETQ_SERVER_TYPE = "hornetq-server"; // NOI18N
     private static final String MESSAGING_ACTIVEMQ_SERVER_TYPE = "server"; // NOI18N
@@ -355,7 +354,7 @@
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -377,7 +376,7 @@
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -389,7 +388,7 @@
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -413,7 +412,7 @@
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -424,7 +423,7 @@
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, webModuleName);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -456,7 +455,7 @@
                 }
             }
             return "";
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -468,7 +467,7 @@
             // ModelNode
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
             // ModelNode
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             // ModelNode
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
@@ -491,7 +490,7 @@
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -713,27 +712,27 @@
     }
 
     public Collection<WildflyDestinationNode> listDestinations(Lookup lookup) throws IOException {
-        List<MessageDestination> destinations = listDestinations();
+        List<WildflyMessageDestination> destinations = listDestinations();
         List<WildflyDestinationNode> modules = new ArrayList<>(destinations.size());
-        for (MessageDestination destination : destinations) {
+        for (WildflyMessageDestination destination : destinations) {
             modules.add(new WildflyDestinationNode(destination.getName(), destination, lookup));
         }
         return modules;
     }
 
     public List<WildflyDestinationNode> listDestinationForDeployment(Lookup lookup, String jeeDeploymentName) throws IOException {
-        List<MessageDestination> destinations = listDestinationForDeployment(jeeDeploymentName);
+        List<WildflyMessageDestination> destinations = listDestinationForDeployment(jeeDeploymentName);
         List<WildflyDestinationNode> modules = new ArrayList<>(destinations.size());
-        for (MessageDestination destination : destinations) {
+        for (WildflyMessageDestination destination : destinations) {
             modules.add(new WildflyDestinationNode(destination.getName(), destination, lookup));
         }
         return modules;
     }
 
-    public List<MessageDestination> listDestinationForDeployment(String deployment) throws IOException {
+    public List<WildflyMessageDestination> listDestinationForDeployment(String deployment) throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
-            List<MessageDestination> destinations = new ArrayList<>();
+            List<WildflyMessageDestination> destinations = new ArrayList<>();
             // ModelNode
             final Object readMessagingServers = createModelNode(cl);
             setModelNodeChildString(cl, getModelNodeChild(cl, readMessagingServers, OP), READ_CHILDREN_NAMES_OPERATION);
@@ -764,10 +763,10 @@
         }
     }
 
-    public List<MessageDestination> listDestinations() throws IOException {
+    public List<WildflyMessageDestination> listDestinations() throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
-            List<MessageDestination> destinations = new ArrayList<MessageDestination>();
+            List<WildflyMessageDestination> destinations = new ArrayList<>();
             // ModelNode
             final Object readMessagingServers = createModelNode(cl);
             setModelNodeChildString(cl, getModelNodeChild(cl, readMessagingServers, OP), READ_CHILDREN_NAMES_OPERATION);
@@ -827,14 +826,14 @@
                 List destinations = modelNodeAsList(cl, readResult(cl, response));
                 for (Object destination : destinations) {
                     Object value = modelNodeAsPropertyForValue(cl, destination);
+                    WildflyMessageDestination wildflyDestination = new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType);
                     if (modelNodeHasChild(cl, value, "entries")) {
                         List entries = modelNodeAsList(cl, getModelNodeChild(cl, modelNodeAsPropertyForValue(cl, destination), "entries"));
                         for (Object entry : entries) {
-                            listedDestinations.add(new WildflyMessageDestination(modelNodeAsString(cl, entry), messageType));
+                            wildflyDestination.addEntry(modelNodeAsString(cl, entry));
                         }
-                    } else {
-                        listedDestinations.add(new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType));
                     }
+                    listedDestinations.add(wildflyDestination);
                 }
             }
             return listedDestinations;
@@ -871,14 +870,14 @@
                 List destinations = modelNodeAsList(cl, readResult(cl, response));
                 for (Object destination : destinations) {
                     Object value = modelNodeAsPropertyForValue(cl, destination);
+                    WildflyMessageDestination wildflyDestination = new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType);
                     if (modelNodeHasChild(cl, value, "entries")) {
                         List entries = modelNodeAsList(cl, getModelNodeChild(cl, modelNodeAsPropertyForValue(cl, destination), "entries"));
                         for (Object entry : entries) {
-                            listedDestinations.add(new WildflyMessageDestination(modelNodeAsString(cl, entry), messageType));
+                            wildflyDestination.addEntry(modelNodeAsString(cl, entry));
                         }
-                    } else {
-                        listedDestinations.add(new WildflyMessageDestination(modelNodeAsPropertyForName(cl, destination), messageType));
                     }
+                    listedDestinations.add(wildflyDestination);
                 }
             }
             return listedDestinations;
@@ -911,10 +910,10 @@
             }
             Object address = createPathAddressAsModelNode(cl, values);
             Object operation = createAddOperation(cl, address);
-            if(destination.getJndiNames().isEmpty()) {
+            if (destination.getJndiNames().isEmpty()) {
                 destination.addEntry(destination.getName());
             }
-            for(String jndiName : destination.getJndiNames()) {
+            for (String jndiName : destination.getJndiNames()) {
                 addModelNodeChildString(cl, getModelNodeChild(cl, operation, "entries"), jndiName);
             }
             Object response = executeOnModelNode(cl, operation);
@@ -972,14 +971,14 @@
                 String serverUrl = "http://" + serverAddress + ':' + ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
                 // List<ModelNode>
                 Object result = readResult(cl, response);
-                if(modelNodeIsDefined(cl, result)) {
+                if (modelNodeIsDefined(cl, result)) {
                     List names = modelNodeAsList(cl, result);
                     for (Object jaxrsResource : names) {
                         String resourceClass = modelNodeAsString(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_CLASSNAME));
                         String resourcePath = modelNodeAsString(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_PATH));
                         List methods = modelNodeAsList(cl, getModelNodeChild(cl, jaxrsResource, Constants.JAXRS_RESOURCE_METHODS));
                         String key = resourceClass + "___" + resourcePath;
-                        if(jaxrsResources.containsKey(key)) {
+                        if (jaxrsResources.containsKey(key)) {
                             jaxrsResources.get(key).addMethods(methods);
                         } else {
                             jaxrsResources.put(key, new WildflyJaxrsResource(resourceClass, resourcePath, serverUrl, methods));
@@ -992,6 +991,7 @@
             throw new IOException(ex);
         }
     }
+
     public Collection<WildflyMailSessionResource> listMailSessions() throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
@@ -1027,7 +1027,7 @@
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List<WildflyEarApplicationNode> modules = new ArrayList<>();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, null);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 Object result = readResult(cl, response);
@@ -1040,7 +1040,7 @@
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1050,7 +1050,7 @@
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List modules = new ArrayList();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, jeeApplicationName);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 String httpPort = ip.getProperty(WildflyPluginProperties.PROPERTY_PORT);
@@ -1083,7 +1083,7 @@
                 }
             }
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1093,7 +1093,7 @@
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
             List modules = new ArrayList();
             Object deploymentAddressModelNode = createDeploymentPathAddressAsModelNode(cl, applicationName);
-            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true);
+            Object readDeployments = createReadResourceOperation(cl, deploymentAddressModelNode, true, true);
             Object response = executeOnModelNode(cl, readDeployments);
             if (isSuccessfulOutcome(cl, response)) {
                 Object result = readResult(cl, response);
@@ -1110,7 +1110,7 @@
             }
 
             return modules;
-        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
+        } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException ex) {
             throw new IOException(ex);
         }
     }
@@ -1289,7 +1289,7 @@
         values.put("scanner", "default");
         return resolvePath(cl, values);
     }
-    
+
     private String resolveExpression(String unresolvedString) throws IOException {
         try {
             WildflyDeploymentFactory.WildFlyClassLoader cl = WildflyDeploymentFactory.getInstance().getWildFlyClassLoader(ip);
@@ -1298,7 +1298,7 @@
             Object rootAddress = createPathAddressAsModelNode(cl, new LinkedHashMap<>());
             setModelNodeChild(cl, getModelNodeChild(cl, resolveExpression, ADDRESS), rootAddress);
             String testedExpression;
-            if(unresolvedString.startsWith("${") && unresolvedString.endsWith("}")) {
+            if (unresolvedString.startsWith("${") && unresolvedString.endsWith("}")) {
                 testedExpression = unresolvedString;
             } else {
                 testedExpression = "${" + unresolvedString + "}";
@@ -1307,7 +1307,7 @@
             Object response = executeOnModelNode(cl, resolveExpression);
             if (isSuccessfulOutcome(cl, response)) {
                 Object resolvedExpression = readResult(cl, response);
-                return modelNodeAsString(cl,resolvedExpression);
+                return modelNodeAsString(cl, resolvedExpression);
             }
             return unresolvedString;
         } catch (ClassNotFoundException | IllegalAccessException | NoSuchMethodException | InvocationTargetException | InstantiationException ex) {
@@ -1358,16 +1358,16 @@
             throw new IOException(ex);
         }
     }
-    
+
     private String getMessagingSubsystem() {
-        if(version.compareTo(WILDFLY_10_0_0) >= 0) {
+        if (version.compareTo(WILDFLY_10_0_0) >= 0) {
             return MESSAGING_ACTIVEMQ_SUBSYSTEM;
         }
         return MESSAGING_SUBSYSTEM;
     }
 
     private String getMessagingServerType() {
-        if(version.compareTo(WILDFLY_10_0_0) >= 0) {
+        if (version.compareTo(WILDFLY_10_0_0) >= 0) {
             return MESSAGING_ACTIVEMQ_SERVER_TYPE;
         }
         return HORNETQ_SERVER_TYPE;
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
index 8da8d20..97ac9b1 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/commands/WildflyManagementAPI.java
@@ -19,6 +19,7 @@
 package org.netbeans.modules.javaee.wildfly.ide.commands;
 
 import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.DEPLOYMENT;
+import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.INCLUDE_RUNTIME;
 import static org.netbeans.modules.javaee.wildfly.ide.commands.Constants.UNDEFINED;
 
 import java.lang.reflect.Array;
@@ -117,12 +118,14 @@
     }
 
     // ModelNode
-    static Object createReadResourceOperation(WildflyDeploymentFactory.WildFlyClassLoader cl, Object modelNode, boolean recursive)
-            throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-        Class<?> clazz = cl.loadClass("org.jboss.as.controller.client.helpers.Operations"); // NOI18N
+    static Object createReadResourceOperation(WildflyDeploymentFactory.WildFlyClassLoader cl, Object modelNode, boolean recursive, boolean runtime)
+            throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
+        Class clazz = cl.loadClass("org.jboss.as.controller.client.helpers.Operations"); // NOI18N
         Class modelClazz = cl.loadClass("org.jboss.dmr.ModelNode"); // NOI18N
         Method method = clazz.getDeclaredMethod("createReadResourceOperation", new Class[]{modelClazz, boolean.class});
-        return method.invoke(null, modelNode, recursive);
+        Object op =  method.invoke(null, modelNode, recursive);
+        setModelNodeChild(cl, getModelNodeChild(cl, op, INCLUDE_RUNTIME), runtime);
+        return op;
     }
 
     // ModelNode
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
index 2126c96..aae3558 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java
@@ -71,6 +71,24 @@
     
     public static final Version WILDFLY_10_0_0 = new Version("10.0.0", true); // NOI18N
 
+    public static final Version WILDFLY_11_0_0 = new Version("11.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_12_0_0 = new Version("12.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_13_0_0 = new Version("13.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_14_0_0 = new Version("14.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_15_0_0 = new Version("15.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_16_0_0 = new Version("16.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_17_0_0 = new Version("17.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_18_0_0 = new Version("18.0.0", true); // NOI18N
+
+    public static final Version WILDFLY_19_0_0 = new Version("19.0.0", true); // NOI18N
+
     private static final Logger LOGGER = Logger.getLogger(WildflyPluginUtils.class.getName());
 
     public static final String LIB = "lib" + separatorChar;
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
index 44da575..2418349 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/Bundle.properties
@@ -46,6 +46,8 @@
 LBL_Resources_MailSessions=Mail Sessions
 LBL_Resources_ConnectionFactories=Connection Factories
 LBL_Resources_JMS=JMS Resources
+LBL_Resources_JMS_Destination_JNDI_Name=JNDI Name
+DESC_Resources_JMS_Destination_JNDI_Name=JNDI Name for the currentJMS destination
 
 
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
index b0d1af6..bd18b15 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDatasourceNode.java
@@ -63,7 +63,7 @@
         PropertySupport ps = new SimplePropertySupport(name, value, displayName, description);
         getSheet().get(Sheet.PROPERTIES).put(ps);
     }
-    
+
     @Override
     protected Sheet createSheet() {
         Sheet sheet = Sheet.createDefault();
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
index 16bbdb4..75fb253 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyDestinationNode.java
@@ -21,13 +21,18 @@
 import java.awt.Image;
 import javax.swing.Action;
 import org.netbeans.modules.j2ee.deployment.common.api.MessageDestination;
+import org.netbeans.modules.javaee.wildfly.config.WildflyMessageDestination;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.ResourceType;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.UndeployModuleAction;
 import org.netbeans.modules.javaee.wildfly.nodes.actions.UndeployModuleCookieImpl;
+import org.openide.actions.PropertiesAction;
 import org.openide.nodes.AbstractNode;
 import org.openide.nodes.Children;
+import org.openide.nodes.PropertySupport;
+import org.openide.nodes.Sheet;
 import org.openide.util.ImageUtilities;
 import org.openide.util.Lookup;
+import org.openide.util.NbBundle;
 import org.openide.util.actions.SystemAction;
 
 /**
@@ -36,17 +41,41 @@
  */
 public class WildflyDestinationNode extends AbstractNode {
 
-    public WildflyDestinationNode(String name, MessageDestination destination, Lookup lookup) {
+    public WildflyDestinationNode(String name, WildflyMessageDestination destination, Lookup lookup) {
         super(Children.LEAF);
         getCookieSet().add(new UndeployModuleCookieImpl(destination.getName(), destination.getType() == MessageDestination.Type.QUEUE ? ResourceType.QUEUE : ResourceType.TOPIC,lookup));
         setDisplayName(destination.getName());
         setName(name);
         setShortDescription(destination.getName());
+        initProperties((WildflyMessageDestination) destination);
+    }
+
+    protected void initProperties(WildflyMessageDestination destination) {
+        int i = 0;
+        for(String jndiEntry : destination.getJndiNames()) {
+            addProperty("JndiName_" + i, jndiEntry);
+            i++;
+        }
+    }
+
+    private void addProperty(String name, String value) {
+        String displayName = NbBundle.getMessage(WildflyDatasourceNode.class, "LBL_Resources_JMS_Destination_JNDI_Name");
+        String description = NbBundle.getMessage(WildflyDatasourceNode.class, "DESC_Resources_JMS_Destination_JNDI_Name");
+        PropertySupport ps = new SimplePropertySupport(name, value, displayName, description);
+        getSheet().get(Sheet.PROPERTIES).put(ps);
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = Sheet.createDefault();
+        setSheet(sheet);
+        return sheet;
     }
 
     @Override
     public Action[] getActions(boolean context) {
         return new SystemAction[]{
+            SystemAction.get(PropertiesAction.class),
             SystemAction.get(UndeployModuleAction.class)
         };
     }
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
index 4a55dc3..00b1ed6 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyRegistryNodeFactory.java
@@ -27,6 +27,7 @@
  *
  * @author Kirill Sorokin <Kirill.Sorokin@Sun.COM>
  */
+@Deprecated
 public class WildflyRegistryNodeFactory implements RegistryNodeFactory {
 
     @Override
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
index c41169f..eff2781 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/nodes/WildflyResourcesItemNode.java
@@ -56,7 +56,7 @@
     }
 
     @Override
-    public Image getOpenedIcon(int type) {        
+    public Image getOpenedIcon(int type) {
         return ImageUtilities.loadImage(icon);
     }
 
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd
deleted file mode 100644
index 7b28e2f..0000000
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/application-client_7.xsd
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-            targetNamespace="http://xmlns.jcp.org/xml/ns/javaee"
-            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified"
-            version="7">
-  <xsd:annotation>
-    <xsd:documentation>
-
-      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
-      The contents of this file are subject to the terms of either the GNU
-      General Public License Version 2 only ("GPL") or the Common Development
-      and Distribution License("CDDL") (collectively, the "License").  You
-      may not use this file except in compliance with the License.  You can
-      obtain a copy of the License at
-      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
-      or packager/legal/LICENSE.txt.  See the License for the specific
-      language governing permissions and limitations under the License.
-      
-      When distributing the software, include this License Header Notice in each
-      file and include the License file at packager/legal/LICENSE.txt.
-      
-      GPL Classpath Exception:
-      Oracle designates this particular file as subject to the "Classpath"
-      exception as provided by Oracle in the GPL Version 2 section of the License
-      file that accompanied this code.
-      
-      Modifications:
-      If applicable, add the following below the License Header, with the fields
-      enclosed by brackets [] replaced by your own identifying information:
-      "Portions Copyright [year] [name of copyright owner]"
-      
-      Contributor(s):
-      If you wish your version of this file to be governed by only the CDDL or
-      only the GPL Version 2, indicate your decision by adding "[Contributor]
-      elects to include this software in this distribution under the [CDDL or GPL
-      Version 2] license."  If you don't indicate a single choice of license, a
-      recipient has the option to distribute your version of this file under
-      either the CDDL, the GPL Version 2 or to extend the choice of license to
-      its licensees as provided above.  However, if you add GPL Version 2 code
-      and therefore, elected the GPL Version 2 license, then the option applies
-      only if the new code is made subject to such option by the copyright
-      holder.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      <![CDATA[[
-      This is the XML Schema for the application client 7
-      deployment descriptor.  The deployment descriptor must
-      be named "META-INF/application-client.xml" in the
-      application client's jar file.  All application client
-      deployment descriptors must indicate the application
-      client schema by using the Java EE namespace:
-      
-      http://xmlns.jcp.org/xml/ns/javaee
-      
-      and indicate the version of the schema by
-      using the version element as shown below:
-      
-      <application-client xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
-      	http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd"
-      version="7">
-      ...
-      </application-client>
-      
-      The instance documents may indicate the published version of
-      the schema using the xsi:schemaLocation attribute for Java EE
-      namespace with the following location:
-      
-      http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd
-      
-      ]]>
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-      
-      - In elements that specify a pathname to a file within the
-      same JAR file, relative filenames (i.e., those not
-      starting with "/") are considered relative to the root of
-      the JAR file's namespace.  Absolute filenames (i.e., those
-      starting with "/") also specify names in the root of the
-      JAR file's namespace.  In general, relative names are
-      preferred.  The exception is .war files where absolute
-      names are preferred for consistency with the Servlet API.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_7.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:element name="application-client"
-               type="javaee:application-clientType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The application-client element is the root element of an
-        application client deployment descriptor.  The application
-        client deployment descriptor describes the EJB components
-        and external resources referenced by the application
-        client.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:unique name="env-entry-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The env-entry-name element contains the name of an
-          application client's environment entry.  The name is a JNDI
-          name relative to the java:comp/env context.  The name must
-          be unique within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:env-entry"/>
-      <xsd:field xpath="javaee:env-entry-name"/>
-    </xsd:unique>
-    <xsd:unique name="ejb-ref-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The ejb-ref-name element contains the name of an EJB
-          reference. The EJB reference is an entry in the application
-          client's environment and is relative to the
-          java:comp/env context. The name must be unique within the
-          application client.
-          
-          It is recommended that name is prefixed with "ejb/".
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:ejb-ref"/>
-      <xsd:field xpath="javaee:ejb-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="res-ref-name-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The res-ref-name element specifies the name of a
-          resource manager connection factory reference.The name
-          is a JNDI name relative to the java:comp/env context.
-          The name must be unique within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:resource-ref"/>
-      <xsd:field xpath="javaee:res-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="resource-env-ref-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The resource-env-ref-name element specifies the name of
-          a resource environment reference; its value is the
-          environment entry name used in the application client
-          code. The name is a JNDI name relative to the
-          java:comp/env context and must be unique within an
-          application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:resource-env-ref"/>
-      <xsd:field xpath="javaee:resource-env-ref-name"/>
-    </xsd:unique>
-    <xsd:unique name="message-destination-ref-uniqueness">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The message-destination-ref-name element specifies the
-          name of a message destination reference; its value is
-          the message destination reference name used in the
-          application client code. The name is a JNDI name
-          relative to the java:comp/env context and must be unique
-          within an application client.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:message-destination-ref"/>
-      <xsd:field xpath="javaee:message-destination-ref-name"/>
-    </xsd:unique>
-  </xsd:element>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="application-clientType">
-    <xsd:sequence>
-      <xsd:element name="module-name"
-                   type="javaee:string"
-                   minOccurs="0"/>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="env-entry"
-                   type="javaee:env-entryType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-ref"
-                   type="javaee:ejb-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:group ref="javaee:service-refGroup"/>
-      <xsd:element name="resource-ref"
-                   type="javaee:resource-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="resource-env-ref"
-                   type="javaee:resource-env-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="message-destination-ref"
-                   type="javaee:message-destination-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="persistence-unit-ref"
-                   type="javaee:persistence-unit-refType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="post-construct"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="pre-destroy"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="callback-handler"
-                   type="javaee:fully-qualified-classType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The callback-handler element names a class provided by
-            the application.  The class must have a no args
-            constructor and must implement the
-            javax.security.auth.callback.CallbackHandler
-            interface.  The class will be instantiated by the
-            application client container and used by the container
-            to collect authentication information from the user.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="message-destination"
-                   type="javaee:message-destinationType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="data-source"
-                   type="javaee:data-sourceType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="jms-connection-factory"
-                   type="javaee:jms-connection-factoryType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="jms-destination"
-                   type="javaee:jms-destinationType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="mail-session"
-                   type="javaee:mail-sessionType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="connection-factory"
-                   type="javaee:connection-factory-resourceType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="administered-object"
-                   type="javaee:administered-objectType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="javaee:dewey-versionType"
-                   fixed="7"
-                   use="required">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The required value for the version is 7.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="metadata-complete"
-                   type="xsd:boolean">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The metadata-complete attribute defines whether this
-          deployment descriptor and other related deployment
-          descriptors for this module (e.g., web service
-          descriptors) are complete, or whether the class
-          files available to this module and packaged with
-          this application should be examined for annotations
-          that specify deployment information.
-          
-          If metadata-complete is set to "true", the deployment
-          tool must ignore any annotations that specify deployment
-          information, which might be present in the class files
-          of the application.
-          
-          If metadata-complete is not specified or is set to
-          "false", the deployment tool must examine the class
-          files of the application for annotations, as
-          specified by the specifications.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
similarity index 88%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
index fe4b1c6..cd28671 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_1.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/datasources_1_4_1.xsd
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2020, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ All rights reserved. This program and the accompanying materials
+~ are made available under the terms of the Eclipse Public License v1.0
+~ which accompanies this distribution, and is available at
+~ http://www.eclipse.org/legal/epl-v10.html
+~ 
+-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
            elementFormDefault="qualified"
            targetNamespace="http://www.ironjacamar.org/doc/schema"
@@ -238,6 +249,15 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="url-property" type="xs:token" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+               Specifies the property for the URL property in the xa-datasource-property values
+              ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="url-selector-strategy-class-name" type="xs:token" minOccurs="0">
         <xs:annotation>
           <xs:documentation>
@@ -378,6 +398,42 @@
         </xs:documentation>
       </xs:annotation>
     </xs:attribute>
+    <xs:attribute name="connectable" type="xs:boolean" default="false" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if external components can obtain a connection throught the IronJacamar SPI if supported by the resource adapter
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="tracking" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if IronJacamar should track connection handles across transaction boundaries
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="mcp" type="xs:token" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines the ManagedConnectionPool implementation, f.ex. org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="enlistment-trace" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          <![CDATA[[
+            Defines if WildFly/IronJacamar should record enlistment traces
+           ]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
   </xs:attributeGroup>
   <xs:simpleType name="transaction-isolationType">
     <xs:annotation>
@@ -647,6 +703,16 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="initial-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              The initial-pool-size element indicates the initial number of connections 
+              a pool should hold. This default to 0. Ex: <initial-pool-size>1</initial-pool-size>
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="max-pool-size" type="xs:nonNegativeInteger" minOccurs="0">
         <xs:annotation>
           <xs:documentation>
@@ -679,12 +745,24 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="fair" type="xs:boolean" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Whether to use a fair semaphore to control access to the pool. Empty element denotes
+              a true value. e.g. <fair>true</fair>.
+              Default is true
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
       <xs:element name="flush-strategy" type="xs:token" minOccurs="0" maxOccurs="1">
         <xs:annotation>
           <xs:documentation>
             <![CDATA[[
               Specifies how the pool should be flush in case of an error.
-              Valid values are: FailingConnectionOnly (default), IdleConnections, EntirePool 
+              Valid values are: FailingConnectionOnly (default), InvalidIdleConnections, IdleConnections, Gracefully, EntirePool,
+                                AllInvalidIdleConnections, AllIdleConnections, AllGracefully, AllConnections
              ]]>
           </xs:documentation>
         </xs:annotation>
@@ -699,6 +777,28 @@
           </xs:documentation>
         </xs:annotation>
       </xs:element>
+      <xs:element name="capacity" type="capacityType" minOccurs="0" maxOccurs="1">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Specifies the capacity policies for the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="connection-listener" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              An org.jboss.jca.adapters.jdbc.spi.listener.ConnectionListener that provides 
+              a possible to listen for connection activation and passivation in order to
+              perform actions before the connection is returned to the application or returned
+              to the pool. Ex:
+              <connection-listener class-name="com.acme.jdbc.OracleConnectionListener"/>
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="xa-poolType">
@@ -943,4 +1043,27 @@
       <xs:element name="driver" type="driverType" maxOccurs="unbounded" minOccurs="1"></xs:element>
     </xs:sequence>
   </xs:complexType>
+
+  <xs:complexType name="capacityType">
+    <xs:sequence>
+      <xs:element name="incrementer" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Defines the policy for incrementing connections in the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="decrementer" type="extensionType" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation>
+            <![CDATA[[
+              Defines the policy for decrementing connections in the pool
+             ]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
 </xs:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
similarity index 94%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
index 9b20d7e..2996054 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_7.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_8.xsd
@@ -4,14 +4,14 @@
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
-            version="7">
+            version="8">
   <xsd:annotation>
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
+
+      Copyright (c) 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
       The contents of this file are subject to the terms of either the GNU
       General Public License Version 2 only ("GPL") or the Common Development
       and Distribution License("CDDL") (collectively, the "License").  You
@@ -20,20 +20,20 @@
       https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
       or packager/legal/LICENSE.txt.  See the License for the specific
       language governing permissions and limitations under the License.
-      
+
       When distributing the software, include this License Header Notice in each
       file and include the License file at packager/legal/LICENSE.txt.
-      
+
       GPL Classpath Exception:
       Oracle designates this particular file as subject to the "Classpath"
       exception as provided by Oracle in the GPL Version 2 section of the License
       file that accompanied this code.
-      
+
       Modifications:
       If applicable, add the following below the License Header, with the fields
       enclosed by brackets [] replaced by your own identifying information:
       "Portions Copyright [year] [name of copyright owner]"
-      
+
       Contributor(s):
       If you wish your version of this file to be governed by only the CDDL or
       only the GPL Version 2, indicate your decision by adding "[Contributor]
@@ -45,7 +45,7 @@
       and therefore, elected the GPL Version 2 license, then the option applies
       only if the new code is made subject to such option by the copyright
       holder.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
@@ -55,25 +55,25 @@
       The following definitions that appear in the common
       shareable schema(s) of Java EE deployment descriptors should be
       interpreted with respect to the context they are included:
-      
+
       Deployment Component may indicate one of the following:
       java ee application;
       application client;
       web application;
       enterprise bean;
-      resource adapter; 
-      
+      resource adapter;
+
       Deployment File may indicate one of the following:
       ear file;
       war file;
       jar file;
       rar file;
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
-              schemaLocation="xml.xsd"/>
+              schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 
   <xsd:include schemaLocation="javaee_web_services_client_1_4.xsd"/>
 
@@ -83,10 +83,10 @@
 
         This group keeps the usage of the contained description related
         elements consistent across Java EE deployment descriptors.
-        
+
         All elements may occur multiple times with different languages,
         to support localization of the content.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -111,7 +111,7 @@
 
         This group keeps the usage of the contained JNDI environment
         reference elements consistent across Java EE deployment descriptors.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -189,7 +189,7 @@
 
         This group collects elements that are common to most
         JNDI resource elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -201,7 +201,7 @@
           <xsd:documentation>
 
             The JNDI name to be looked up to resolve a resource reference.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -215,7 +215,7 @@
         This group collects elements that are common to all the
         JNDI resource elements. It does not include the lookup-name
         element, that is only applicable to some resource elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -234,13 +234,13 @@
             names to names of resources known to the application
             server.  This mapped name is often a global JNDI name,
             but may be a name of any form.
-            
+
             Application servers are not required to support any
             particular form or type of mapped name, nor the ability
             to use mapped names.  The mapped name is
             product-dependent and often installation-dependent.  No
             use of a mapped name is portable.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -259,7 +259,7 @@
       <xsd:documentation>
 
         Configuration of an administered object.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -270,7 +270,7 @@
           <xsd:documentation>
 
             Description of this administered object.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -281,7 +281,7 @@
 
             The name element specifies the JNDI name of the
             administered object being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -292,7 +292,7 @@
           <xsd:documentation>
 
             The administered object's interface type.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -302,7 +302,7 @@
           <xsd:documentation>
 
             The administered object's class name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -312,7 +312,7 @@
           <xsd:documentation>
 
             Resource adapter name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -323,9 +323,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            Property of the administered object property.  This may be a 
+            Property of the administered object property.  This may be a
             vendor-specific property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -342,7 +342,7 @@
       <xsd:documentation>
 
         Configuration of a Connector Connection Factory resource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -353,7 +353,7 @@
           <xsd:documentation>
 
             Description of this resource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -364,7 +364,7 @@
 
             The name element specifies the JNDI name of the
             resource being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -373,9 +373,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            The fully qualified class name of the connection factory 
-            interface. 
-            
+            The fully qualified class name of the connection factory
+            interface.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -385,7 +385,7 @@
           <xsd:documentation>
 
             Resource adapter name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -397,7 +397,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -409,7 +409,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -419,9 +419,9 @@
         <xsd:annotation>
           <xsd:documentation>
 
-            The level of transaction support the connection factory 
-            needs to support. 
-            
+            The level of transaction support the connection factory
+            needs to support.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -434,7 +434,7 @@
 
             Resource property.  This may be a vendor-specific
             property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -451,7 +451,7 @@
       <xsd:documentation>
 
         Configuration of a DataSource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -462,7 +462,7 @@
           <xsd:documentation>
 
             Description of this DataSource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -473,7 +473,7 @@
 
             The name element specifies the JNDI name of the
             data source being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -485,7 +485,7 @@
 
             DataSource, XADataSource or ConnectionPoolDataSource
             implementation class.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -496,7 +496,7 @@
           <xsd:documentation>
 
             Database server name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -507,7 +507,7 @@
           <xsd:documentation>
 
             Port number where a server is listening for requests.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -518,7 +518,7 @@
           <xsd:documentation>
 
             Name of a database on a server.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -527,13 +527,13 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             A JDBC URL. If the <code>url</code> property is specified
             along with other standard <code>DataSource</code> properties
             such as <code>serverName</code>, <code>databaseName</code>
             and <code>portNumber</code>, the more specific properties will
             take precedence and <code>url</code> will be ignored.
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -545,7 +545,7 @@
           <xsd:documentation>
 
             User name to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -556,7 +556,7 @@
           <xsd:documentation>
 
             Password to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -569,7 +569,7 @@
 
             JDBC DataSource property.  This may be a vendor-specific
             property or a less commonly used DataSource property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -581,7 +581,7 @@
 
             Sets the maximum time in seconds that this data source
             will wait while attempting to connect to a database.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -593,7 +593,7 @@
 
             Set to false if connections should not participate in
             transactions.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -604,7 +604,7 @@
           <xsd:documentation>
 
             Isolation level for connections.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -616,7 +616,7 @@
 
             Number of connections that should be created when a
             connection pool is initialized.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -628,7 +628,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -640,7 +640,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -653,7 +653,7 @@
             The number of seconds that a physical connection should
             remain unused in the pool before the connection is
             closed for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -665,7 +665,7 @@
 
             The total number of statements that a connection pool
             should keep open.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -690,10 +690,10 @@
         tools used by such a Deployment File consumer will display
         the description when processing the parent element that
         contains the description.
-        
+
         The lang attribute defines the language that the
-        description is provided in. The default value is "en" (English). 
-        
+        description is provided in. The default value is "en" (English).
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -708,8 +708,8 @@
       <xsd:documentation>
 
         This type defines a dewey decimal that is used
-        to describe versions of documents. 
-        
+        to describe versions of documents.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:token">
@@ -723,20 +723,20 @@
   <xsd:complexType name="display-nameType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The display-name type contains a short name that is intended
         to be displayed by tools. It is used by display-name
         elements.  The display name need not be unique.
-        
-        Example: 
-        
+
+        Example:
+
         ...
         <display-name xml:lang="en">
         Employee Self Service
         </display-name>
-        
-        The value of the xml:lang attribute is "en" (English) by default. 
-        
+
+        The value of the xml:lang attribute is "en" (English) by default.
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -753,15 +753,15 @@
   <xsd:complexType name="ejb-linkType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The ejb-linkType is used by ejb-link
         elements in the ejb-ref or ejb-local-ref elements to specify
         that an EJB reference is linked to enterprise bean.
-        
+
         The value of the ejb-link element must be the ejb-name of an
         enterprise bean in the same ejb-jar file or in another ejb-jar
-        file in the same Java EE application unit. 
-        
+        file in the same Java EE application unit.
+
         Alternatively, the name in the ejb-link element may be
         composed of a path name specifying the ejb-jar containing the
         referenced enterprise bean with the ejb-name of the target
@@ -770,13 +770,13 @@
         Deployment Component that is referencing the enterprise
         bean.  This allows multiple enterprise beans with the same
         ejb-name to be uniquely identified.
-        
+
         Examples:
-        
+
         <ejb-link>EmployeeRecord</ejb-link>
-        
+
         <ejb-link>../products/product.jar#ProductEJB</ejb-link>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -796,22 +796,22 @@
         the declaration of a reference to an enterprise bean's local
         home or to the local business interface of a 3.0 bean.
         The declaration consists of:
-        
+
         - an optional description
-        - the EJB reference name used in the code of the Deployment 
+        - the EJB reference name used in the code of the Deployment
         Component that's referencing the enterprise bean.
         - the optional expected type of the referenced enterprise bean
-        - the optional expected local interface of the referenced 
-        enterprise bean or the local business interface of the 
+        - the optional expected local interface of the referenced
+        enterprise bean or the local business interface of the
         referenced enterprise bean.
-        - the optional expected local home interface of the referenced 
+        - the optional expected local home interface of the referenced
         enterprise bean. Not applicable if this ejb-local-ref refers
         to the local business interface of a 3.0 bean.
-        - optional ejb-link information, used to specify the 
+        - optional ejb-link information, used to specify the
         referenced enterprise bean
-        - optional elements to define injection of the named enterprise  
+        - optional elements to define injection of the named enterprise
         bean into a component field or property.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -845,19 +845,19 @@
   <xsd:complexType name="ejb-ref-nameType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The ejb-ref-name element contains the name of an EJB
         reference. The EJB reference is an entry in the
         Deployment Component's environment and is relative to the
         java:comp/env context.  The name must be unique within the
         Deployment Component.
-        
+
         It is recommended that name is prefixed with "ejb/".
-        
+
         Example:
-        
+
         <ejb-ref-name>ejb/Payroll</ejb-ref-name>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -875,25 +875,25 @@
 
         The ejb-refType is used by ejb-ref elements for the
         declaration of a reference to an enterprise bean's home or
-        to the remote business interface of a 3.0 bean.  
+        to the remote business interface of a 3.0 bean.
         The declaration consists of:
-        
+
         - an optional description
         - the EJB reference name used in the code of
         the Deployment Component that's referencing the enterprise
-        bean. 
+        bean.
         - the optional expected type of the referenced enterprise bean
         - the optional remote interface of the referenced enterprise bean
-        or the remote business interface of the referenced enterprise 
+        or the remote business interface of the referenced enterprise
         bean
-        - the optional expected home interface of the referenced 
+        - the optional expected home interface of the referenced
         enterprise bean.  Not applicable if this ejb-ref
         refers to the remote business interface of a 3.0 bean.
         - optional ejb-link information, used to specify the
         referenced enterprise bean
         - optional elements to define injection of the named enterprise
         bean into a component field or property
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -930,13 +930,13 @@
 
         The ejb-ref-typeType contains the expected type of the
         referenced enterprise bean.
-        
+
         The ejb-ref-type designates a value
         that must be one of the following:
-        
+
         Entity
         Session
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -955,8 +955,8 @@
       <xsd:documentation>
 
         This type is used to designate an empty
-        element when used. 
-        
+        element when used.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:attribute name="id"
@@ -975,21 +975,21 @@
         description, the name of the environment entry, a type
         (optional if the value is injected, otherwise required), and
         an optional value.
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         If a value is not specified and injection is requested,
         no injection will occur and no entry of the specified name
         will be created.  This allows an initial value to be
         specified in the source code without being incorrectly
         changed when no override has been specified.
-        
+
         If a value is not specified and no injection is requested,
-        a value must be supplied during deployment. 
-        
+        a value must be supplied during deployment.
+
         This type is used by env-entry elements.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1001,19 +1001,19 @@
                    type="javaee:jndi-nameType">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-name element contains the name of a
             Deployment Component's environment entry.  The name
             is a JNDI name relative to the java:comp/env
-            context.  The name must be unique within a 
+            context.  The name must be unique within a
             Deployment Component. The uniqueness
             constraints must be defined within the declared
             context.
-            
+
             Example:
-            
+
             <env-entry-name>minAmount</env-entry-name>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1023,18 +1023,18 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-type element contains the Java language
             type of the environment entry.  If an injection target
             is specified for the environment entry, the type may
             be omitted, or must match the type of the injection
             target.  If no injection target is specified, the type
             is required.
-            
+
             Example:
-            
+
             <env-entry-type>java.lang.Integer</env-entry-type>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1044,18 +1044,18 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The env-entry-value designates the value of a
             Deployment Component's environment entry. The value
             must be a String that is valid for the
             constructor of the specified type that takes a
             single String parameter, or for java.lang.Character,
             a single character.
-            
+
             Example:
-            
+
             <env-entry-value>100.00</env-entry-value>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1072,13 +1072,13 @@
   <xsd:complexType name="env-entry-type-valuesType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         This type contains the fully-qualified Java type of the
         environment entry value that is expected by the
         application's code.
-        
+
         The following are the legal values of env-entry-type-valuesType:
-        
+
         java.lang.Boolean
         java.lang.Byte
         java.lang.Character
@@ -1088,15 +1088,15 @@
         java.lang.Long
         java.lang.Float
         java.lang.Double
-        		  java.lang.Class
-        		  any enumeration type (i.e. a subclass of java.lang.Enum)
-        
+			  java.lang.Class
+			  any enumeration type (i.e. a subclass of java.lang.Enum)
+
         Examples:
-        
+
         <env-entry-type>java.lang.Boolean</env-entry-type>
         <env-entry-type>java.lang.Class</env-entry-type>
         <env-entry-type>com.example.Color</env-entry-type>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1118,7 +1118,7 @@
         of name used in Class.forName().  Tools that need the
         canonical name (the name used in source code) will need
         to convert this binary name to the canonical name.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1134,9 +1134,9 @@
       <xsd:documentation>
 
         This type defines four different values which can designate
-        boolean values. This includes values yes and no which are 
+        boolean values. This includes values yes and no which are
         not designated by xsd:boolean
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1159,12 +1159,12 @@
         The icon type contains small-icon and large-icon elements
         that specify the file names for small and large GIF, JPEG,
         or PNG icon images used to represent the parent element in a
-        GUI tool. 
-        
+        GUI tool.
+
         The xml:lang attribute defines the language that the
         icon file names are provided in. Its value is "en" (English)
-        by default. 
-        
+        by default.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1173,19 +1173,19 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The small-icon element contains the name of a file
             containing a small (16 x 16) icon image. The file
             name is a relative path within the Deployment
             Component's Deployment File.
-            
+
             The image may be in the GIF, JPEG, or PNG format.
             The icon can be used by tools.
-            
+
             Example:
-            
+
             <small-icon>employee-service-icon16x16.jpg</small-icon>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1195,20 +1195,20 @@
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
-            <![CDATA[[
+            <![CDATA[
             The large-icon element contains the name of a file
             containing a large
-            (32 x 32) icon image. The file name is a relative 
+            (32 x 32) icon image. The file name is a relative
             path within the Deployment Component's Deployment
             File.
-            
+
             The image may be in the GIF, JPEG, or PNG format.
             The icon can be used by tools.
-            
+
             Example:
-            
+
             <large-icon>employee-service-icon32x32.jpg</large-icon>
-            
+
             ]]>
           </xsd:documentation>
         </xsd:annotation>
@@ -1228,22 +1228,22 @@
 
         An injection target specifies a class and a name within
         that class into which a resource should be injected.
-        
+
         The injection target class specifies the fully qualified
         class name that is the target of the injection.  The
         Java EE specifications describe which classes can be an
         injection target.
-        
+
         The injection target name specifies the target within
         the specified class.  The target is first looked for as a
         JavaBeans property name.  If not found, the target is
         looked for as a field name.
-        
+
         The specified resource will be injected into the target
         during initialization of the class by either calling the
         set method for the target property or by setting a value
         into the named field.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1258,13 +1258,13 @@
     <xsd:annotation>
       <xsd:documentation>
 
-        	The following transaction isolation levels are allowed
-        	(see documentation for the java.sql.Connection interface):
+		The following transaction isolation levels are allowed
+		(see documentation for the java.sql.Connection interface):
         TRANSACTION_READ_UNCOMMITTED
         TRANSACTION_READ_COMMITTED
         TRANSACTION_REPEATABLE_READ
         TRANSACTION_SERIALIZABLE
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:string">
@@ -1283,9 +1283,9 @@
       <xsd:documentation>
 
         The java-identifierType defines a Java identifier.
-        The users of this type should further verify that 
+        The users of this type should further verify that
         the content does not contain Java reserved keywords.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1305,7 +1305,7 @@
         This is a generic type that designates a Java primitive
         type or a fully qualified name of a Java interface/type,
         or an array of such types.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1321,17 +1321,17 @@
   <xsd:complexType name="jdbc-urlType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The jdbc-urlType contains the url pattern of the mapping.
         It must follow the rules specified in Section 9.3 of the
         JDBC Specification where the format is:
-        
+
         jdbc:<subprotocol>:<subname>
-        
+
         Example:
-        
+
         <url>jdbc:mysql://localhost:3307/testdb</url>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1350,7 +1350,7 @@
       <xsd:documentation>
 
         Configuration of a JMS Connection Factory.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1361,7 +1361,7 @@
           <xsd:documentation>
 
             Description of this JMS Connection Factory.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1372,7 +1372,7 @@
 
             The name element specifies the JNDI name of the
             JMS connection factory being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1384,10 +1384,10 @@
 
             Fully-qualified name of the JMS connection factory
             interface.  Permitted values are javax.jms.ConnectionFactory,
-            javax.jms.QueueConnectionFactory, or 
+            javax.jms.QueueConnectionFactory, or
             javax.jms.TopicConnectionFactory.  If not specified,
             javax.jms.ConnectionFactory will be used.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1398,9 +1398,9 @@
           <xsd:documentation>
 
             Fully-qualified name of the JMS connection factory
-            implementation class.  Ignored if a resource adapter  
+            implementation class.  Ignored if a resource adapter
             is used.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1413,7 +1413,7 @@
             Resource adapter name.  If not specified, the application
             server will define the default behavior, which may or may
             not involve the use of a resource adapter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1424,7 +1424,7 @@
           <xsd:documentation>
 
             User name to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1435,7 +1435,7 @@
           <xsd:documentation>
 
             Password to use for connection authentication.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1446,7 +1446,7 @@
           <xsd:documentation>
 
             Client id to use for connection.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1459,7 +1459,7 @@
 
             JMS Connection Factory property.  This may be a vendor-specific
             property or a less commonly used ConnectionFactory property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1471,7 +1471,7 @@
 
             Set to false if connections should not participate in
             transactions.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1483,7 +1483,7 @@
 
             Maximum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1495,7 +1495,7 @@
 
             Minimum number of connections that should be concurrently
             allocated for a connection pool.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1512,7 +1512,7 @@
       <xsd:documentation>
 
         Configuration of a JMS Destination.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1523,7 +1523,7 @@
           <xsd:documentation>
 
             Description of this JMS Destination.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1534,7 +1534,7 @@
 
             The name element specifies the JNDI name of the
             JMS destination being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1545,7 +1545,7 @@
 
             Fully-qualified name of the JMS destination interface.
             Permitted values are javax.jms.Queue and javax.jms.Topic
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1559,7 +1559,7 @@
             class.  Ignored if a resource adapter is used unless the
             resource adapter defines more than one destination implementation
             class for the specified interface.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1572,7 +1572,7 @@
             Resource adapter name.  If not specified, the application
             server will define the default behavior, which may or may
             not involve the use of a resource adapter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1583,7 +1583,7 @@
           <xsd:documentation>
 
             Name of the queue or topic.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1596,7 +1596,7 @@
 
             JMS Destination property.  This may be a vendor-specific
             property or a less commonly used Destination property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1616,7 +1616,7 @@
         Deployment Component's environment and is relative to the
         java:comp/env context.  A JNDI name must be unique within the
         Deployment Component.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1630,14 +1630,14 @@
   <xsd:complexType name="homeType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The homeType defines the fully-qualified name of
-        an enterprise bean's home interface. 
-        
+        an enterprise bean's home interface.
+
         Example:
-        
+
         <home>com.aardvark.payroll.PayrollHome</home>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -1658,12 +1658,12 @@
         Note that each class may have only one lifecycle callback
         method for any given event and that the method may not
         be overloaded.
-        
+
         If the lifefycle-callback-class element is missing then
         the class defining the callback is assumed to be the
         component class in scope at the place in the descriptor
         in which the callback definition appears.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1684,7 +1684,7 @@
 
         The listenerType indicates the deployment properties for a web
         application listener bean.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1698,7 +1698,7 @@
             application must be registered as a web
             application listener bean. The value is the fully
             qualified classname of the listener class.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1716,7 +1716,7 @@
 
         The localType defines the fully-qualified name of an
         enterprise bean's local interface.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1733,7 +1733,7 @@
 
         The local-homeType defines the fully-qualified
         name of an enterprise bean's local home interface.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1749,7 +1749,7 @@
       <xsd:documentation>
 
         Configuration of a Mail Session resource.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1760,7 +1760,7 @@
           <xsd:documentation>
 
             Description of this Mail Session resource.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1771,7 +1771,7 @@
 
             The name element specifies the JNDI name of the
             Mail Session resource being defined.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1782,7 +1782,7 @@
           <xsd:documentation>
 
             Storage protocol.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1793,7 +1793,7 @@
           <xsd:documentation>
 
             Service provider store protocol implementation class
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1804,7 +1804,7 @@
           <xsd:documentation>
 
             Transport protocol.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1815,7 +1815,7 @@
           <xsd:documentation>
 
             Service provider transport protocol implementation class
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1826,7 +1826,7 @@
           <xsd:documentation>
 
             Mail server host name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1837,7 +1837,7 @@
           <xsd:documentation>
 
             Mail server user name.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1848,7 +1848,7 @@
           <xsd:documentation>
 
             Password.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1859,7 +1859,7 @@
           <xsd:documentation>
 
             Email address to indicate the message sender.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1872,7 +1872,7 @@
 
             Mail server property.  This may be a vendor-specific
             property.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1890,7 +1890,7 @@
 
         This type is a general type that can be used to declare
         parameter/value lists.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -1905,7 +1905,7 @@
 
             The param-name element contains the name of a
             parameter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1916,7 +1916,7 @@
 
             The param-value element contains the value of a
             parameter.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -1934,7 +1934,7 @@
 
         The elements that use this type designate either a relative
         path or an absolute path starting with a "/".
-        
+
         In elements that specify a pathname to a file within the
         same Deployment File, relative filenames (i.e., those not
         starting with "/") are considered relative to the root of
@@ -1943,7 +1943,7 @@
         the Deployment File's namespace.  In general, relative names
         are preferred.  The exception is .war files where absolute
         names are preferred for consistency with the Servlet API.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -1957,12 +1957,12 @@
   <xsd:complexType name="persistence-context-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The persistence-context-ref element contains a declaration
         of Deployment Component's reference to a persistence context
         associated within a Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the persistence context reference name
         - an optional persistence unit name.  If not specified,
@@ -1976,14 +1976,14 @@
         specified, Synchronized is assumed.
         - an optional list of persistence properties
         - optional injection targets
-        
+
         Examples:
-        
+
         <persistence-context-ref>
         <persistence-context-ref-name>myPersistenceContext
         </persistence-context-ref-name>
         </persistence-context-ref>
-        
+
         <persistence-context-ref>
         <persistence-context-ref-name>myPersistenceContext
         </persistence-context-ref-name>
@@ -1991,7 +1991,7 @@
         </persistence-unit-name>
         <persistence-context-type>Extended</persistence-context-type>
         </persistence-context-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2010,7 +2010,7 @@
             value is the environment entry name used in
             Deployment Component code.  The name is a JNDI name
             relative to the java:comp/env context.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2023,16 +2023,16 @@
             The Application Assembler(or BeanProvider) may use the
             following syntax to avoid the need to rename persistence
             units to have unique names within a Java EE application.
-            
+
             The Application Assembler specifies the pathname of the
             root of the persistence.xml file for the referenced
             persistence unit and appends the name of the persistence
             unit separated from the pathname by #. The pathname is
-            relative to the referencing application component jar file. 
+            relative to the referencing application component jar file.
             In this manner, multiple persistence units with the same
-            persistence unit name may be uniquely identified when the 
+            persistence unit name may be uniquely identified when the
             Application Assembler cannot change persistence unit names.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2052,11 +2052,11 @@
             Used to specify properties for the container or persistence
             provider.  Vendor-specific properties may be included in
             the set of properties.  Properties that are not recognized
-            by a vendor must be ignored.  Entries that make use of the 
+            by a vendor must be ignored.  Entries that make use of the
             namespace javax.persistence and its subnamespaces must not
             be used for vendor-specific properties.  The namespace
             javax.persistence is reserved for use by the specification.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2073,15 +2073,15 @@
     <xsd:annotation>
       <xsd:documentation>
 
-        The persistence-context-synchronizationType specifies 
+        The persistence-context-synchronizationType specifies
         whether a container-managed persistence context is automatically
         synchronized with the current transaction.
-        
-        The value of the persistence-context-synchronization element 
+
+        The value of the persistence-context-synchronization element
         must be one of the following:
         Synchronized
         Unsynchronized
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2100,13 +2100,13 @@
       <xsd:documentation>
 
         The persistence-context-typeType specifies the transactional
-        nature of a persistence context reference.  
-        
+        nature of a persistence context reference.
+
         The value of the persistence-context-type element must be
         one of the following:
         Transaction
         Extended
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2125,7 +2125,7 @@
       <xsd:documentation>
 
         Specifies a name/value pair.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2146,32 +2146,32 @@
   <xsd:complexType name="persistence-unit-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The persistence-unit-ref element contains a declaration
         of Deployment Component's reference to a persistence unit
         associated within a Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the persistence unit reference name
         - an optional persistence unit name.  If not specified,
         the default persistence unit is assumed.
         - optional injection targets
-        
+
         Examples:
-        
+
         <persistence-unit-ref>
         <persistence-unit-ref-name>myPersistenceUnit
         </persistence-unit-ref-name>
         </persistence-unit-ref>
-        
+
         <persistence-unit-ref>
         <persistence-unit-ref-name>myPersistenceUnit
         </persistence-unit-ref-name>
         <persistence-unit-name>PersistenceUnit1
         </persistence-unit-name>
         </persistence-unit-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2190,7 +2190,7 @@
             value is the environment entry name used in
             Deployment Component code.  The name is a JNDI name
             relative to the java:comp/env context.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2203,16 +2203,16 @@
             The Application Assembler(or BeanProvider) may use the
             following syntax to avoid the need to rename persistence
             units to have unique names within a Java EE application.
-            
+
             The Application Assembler specifies the pathname of the
             root of the persistence.xml file for the referenced
             persistence unit and appends the name of the persistence
             unit separated from the pathname by #. The pathname is
-            relative to the referencing application component jar file. 
+            relative to the referencing application component jar file.
             In this manner, multiple persistence units with the same
-            persistence unit name may be uniquely identified when the 
+            persistence unit name may be uniquely identified when the
             Application Assembler cannot change persistence unit names.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2228,14 +2228,14 @@
   <xsd:complexType name="remoteType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The remote element contains the fully-qualified name
         of the enterprise bean's remote interface.
-        
+
         Example:
-        
+
         <remote>com.wombat.empl.EmployeeService</remote>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2250,7 +2250,7 @@
   <xsd:complexType name="resource-env-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The resource-env-refType is used to define
         resource-env-ref elements.  It contains a declaration of a
         Deployment Component's reference to an administered object
@@ -2259,25 +2259,25 @@
         resource environment reference name, and an optional
         indication of the resource environment reference type
         expected by the Deployment Component code.
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         The resource environment type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Example:
-        
+
         <resource-env-ref>
         <resource-env-ref-name>jms/StockQueue
         </resource-env-ref-name>
         <resource-env-ref-type>javax.jms.Queue
         </resource-env-ref-type>
         </resource-env-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2294,10 +2294,10 @@
             The resource-env-ref-name element specifies the name
             of a resource environment reference; its value is
             the environment entry name used in
-            the Deployment Component code.  The name is a JNDI 
-            name relative to the java:comp/env context and must 
+            the Deployment Component code.  The name is a JNDI
+            name relative to the java:comp/env context and must
             be unique within a Deployment Component.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2311,7 +2311,7 @@
             of a resource environment reference.  It is the
             fully qualified name of a Java language class or
             interface.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2327,7 +2327,7 @@
   <xsd:complexType name="resource-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The resource-refType contains a declaration of a
         Deployment Component's reference to an external resource. It
         consists of an optional description, the resource manager
@@ -2337,25 +2337,25 @@
         (Application or Container), and an optional specification of
         the shareability of connections obtained from the resource
         (Shareable or Unshareable).
-        
+
         It also includes optional elements to define injection of
         the named resource into fields or JavaBeans properties.
-        
+
         The connection factory type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Example:
-        
+
         <resource-ref>
         <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
         <res-sharing-scope>Shareable</res-sharing-scope>
         </resource-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2372,9 +2372,9 @@
             The res-ref-name element specifies the name of a
             resource manager connection factory reference.
             The name is a JNDI name relative to the
-            java:comp/env context.  
-            The name must be unique within a Deployment File. 
-            
+            java:comp/env context.
+            The name must be unique within a Deployment File.
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2388,7 +2388,7 @@
             source. The type is specified by the fully qualified
             Java language class or interface
             expected to be implemented by the data source.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2417,12 +2417,12 @@
         on behalf of the Deployment Component. In the latter case,
         the Container uses information that is supplied by the
         Deployer.
-        
+
         The value must be one of the two following:
-        
+
         Application
         Container
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2444,12 +2444,12 @@
         obtained through the given resource manager connection
         factory reference can be shared. The value, if specified,
         must be one of the two following:
-        
+
         Shareable
         Unshareable
-        
+
         The default value is Shareable.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2468,9 +2468,9 @@
       <xsd:documentation>
 
         The run-asType specifies the run-as identity to be
-        used for the execution of a component. It contains an 
+        used for the execution of a component. It contains an
         optional description, and the name of a security role.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2493,9 +2493,9 @@
       <xsd:documentation>
 
         The role-nameType designates the name of a security role.
-        
+
         The name must conform to the lexical rules for a token.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2509,13 +2509,13 @@
   <xsd:complexType name="security-roleType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The security-roleType contains the definition of a security
         role. The definition consists of an optional description of
         the security role, and the security role name.
-        
+
         Example:
-        
+
         <security-role>
         <description>
         This role includes all employees who are authorized
@@ -2523,7 +2523,7 @@
         </description>
         <role-name>employee</role-name>
         </security-role>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2553,7 +2553,7 @@
         code, and an optional link to a security role. If the
         security role is not specified, the Deployer must choose an
         appropriate security role.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -2567,10 +2567,10 @@
           <xsd:documentation>
 
             The value of the role-name element must be the String used
-            as the parameter to the 
+            as the parameter to the
             EJBContext.isCallerInRole(String roleName) method or the
             HttpServletRequest.isUserInRole(String role) method.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2584,7 +2584,7 @@
             security role. The role-link element must contain
             the name of one of the security roles defined in the
             security-role elements.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2601,7 +2601,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:QName.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2620,7 +2620,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:boolean.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2639,7 +2639,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:NMTOKEN.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2658,7 +2658,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:anyURI.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2677,7 +2677,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:integer.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2696,7 +2696,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:positiveInteger.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2715,7 +2715,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:nonNegativeInteger.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2734,7 +2734,7 @@
       <xsd:documentation>
 
         This type adds an "id" attribute to xsd:string.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2757,7 +2757,7 @@
         require trailing/leading space elimination as well as
         collapsing the existing whitespace, this base type may be
         used.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2777,10 +2777,10 @@
 
         This simple type designates a boolean with only two
         permissible values
-        
+
         - true
         - false
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2804,7 +2804,7 @@
         If it contains those characters, the container must inform
         the developer with a descriptive error message.
         The container must preserve all characters including whitespaces.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -2818,29 +2818,29 @@
   <xsd:complexType name="message-destinationType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destinationType specifies a message
         destination. The logical destination described by this
         element is mapped to a physical destination by the Deployer.
-        
-        The message destination element contains: 
-        
+
+        The message destination element contains:
+
         - an optional description
         - an optional display-name
         - an optional icon
         - a message destination name which must be unique
-        among message destination names within the same 
-        Deployment File. 
+        among message destination names within the same
+        Deployment File.
         - an optional mapped name
         - an optional lookup name
-        
-        Example: 
-        
+
+        Example:
+
         <message-destination>
         <message-destination-name>CorporateStocks
         </message-destination-name>
         </message-destination>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2855,7 +2855,7 @@
             name for a message destination.  This name must be
             unique among the names of message destinations
             within the Deployment File.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2869,19 +2869,19 @@
             should be mapped to.  Each message-destination-ref
             element that references this message destination will
             define a name in the namespace of the referencing
-            component or in one of the other predefined namespaces. 
+            component or in one of the other predefined namespaces.
             Many application servers provide a way to map these
             local names to names of resources known to the
             application server.  This mapped name is often a global
             JNDI name, but may be a name of any form.  Each of the
             local names should be mapped to this same global name.
-            
+
             Application servers are not required to support any
             particular form or type of mapped name, nor the ability
             to use mapped names.  The mapped name is
             product-dependent and often installation-dependent.  No
             use of a mapped name is portable.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2892,7 +2892,7 @@
           <xsd:documentation>
 
             The JNDI name to be looked up to resolve the message destination.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2907,30 +2907,30 @@
   <xsd:complexType name="message-destination-refType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destination-ref element contains a declaration
         of Deployment Component's reference to a message destination
         associated with a resource in Deployment Component's
         environment. It consists of:
-        
+
         - an optional description
         - the message destination reference name
         - an optional message destination type
         - an optional specification as to whether
-        the destination is used for 
+        the destination is used for
         consuming or producing messages, or both.
         if not specified, "both" is assumed.
         - an optional link to the message destination
         - optional injection targets
-        
+
         The message destination type must be supplied unless an
         injection target is specified, in which case the type
         of the target is used.  If both are specified, the type
         must be assignment compatible with the type of the injection
         target.
-        
+
         Examples:
-        
+
         <message-destination-ref>
         <message-destination-ref-name>jms/StockQueue
         </message-destination-ref-name>
@@ -2941,7 +2941,7 @@
         <message-destination-link>CorporateStocks
         </message-destination-link>
         </message-destination-ref>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -2959,7 +2959,7 @@
             the name of a message destination reference; its
             value is the environment entry name used in
             Deployment Component code.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -2991,13 +2991,13 @@
         destination, produced for the destination, or both.  The
         Assembler makes use of this information in linking producers
         of a destination with its consumers.
-        
+
         The value of the message-destination-usage element must be
         one of the following:
         Consumes
         Produces
         ConsumesProduces
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -3015,16 +3015,16 @@
   <xsd:complexType name="message-destination-typeType">
     <xsd:annotation>
       <xsd:documentation>
-        <![CDATA[[
+        <![CDATA[
         The message-destination-typeType specifies the type of
         the destination. The type is specified by the Java interface
         expected to be implemented by the destination.
-        
-        Example: 
-        
+
+        Example:
+
         <message-destination-type>javax.jms.Queue
         </message-destination-type>
-        
+
         ]]>
       </xsd:documentation>
     </xsd:annotation>
@@ -3043,14 +3043,14 @@
         The message-destination-linkType is used to link a message
         destination reference or message-driven bean to a message
         destination.
-        
+
         The Assembler sets the value to reflect the flow of messages
         between producers and consumers in the application.
-        
+
         The value must be the message-destination-name of a message
         destination in the same Deployment File or in another
         Deployment File in the same Java EE application unit.
-        
+
         Alternatively, the value may be composed of a path name
         specifying a Deployment File containing the referenced
         message destination with the message-destination-name of the
@@ -3059,7 +3059,7 @@
         containing Deployment Component that is referencing the
         message destination.  This allows multiple message
         destinations with the same name to be uniquely identified.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
@@ -3077,13 +3077,13 @@
         The transaction-supportType specifies the level of
         transaction support provided by the resource adapter. It is
         used by transaction-support elements.
-        
+
         The value must be one of the following:
-        
+
         NoTransaction
         LocalTransaction
         XATransaction
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd
deleted file mode 100644
index a9ed422..0000000
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/javaee_web_services_1_3.xsd
+++ /dev/null
@@ -1,575 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-            targetNamespace="http://java.sun.com/xml/ns/javaee"
-            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified"
-            version="1.3">
-  <xsd:annotation>
-    <xsd:documentation>
-
-      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-      Copyright 2003-2010 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-      The contents of this file are subject to the terms of either the
-      GNU General Public License Version 2 only ("GPL") or the Common
-      Development and Distribution License("CDDL") (collectively, the
-      "License").  You may not use this file except in compliance with
-      the License. You can obtain a copy of the License at
-      https://glassfish.dev.java.net/public/CDDL+GPL.html or
-      glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
-      specific language governing permissions and limitations under the
-      License.
-
-      When distributing the software, include this License Header
-      Notice in each file and include the License file at
-      glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
-      particular file as subject to the "Classpath" exception as
-      provided by Oracle in the GPL Version 2 section of the License file
-      that accompanied this code.  If applicable, add the following
-      below the License Header, with the fields enclosed by brackets []
-      replaced by your own identifying information:
-      "Portions Copyrighted [year] [name of copyright owner]"
-
-      Contributor(s):
-
-      If you wish your version of this file to be governed by only the
-      CDDL or only the GPL Version 2, indicate your decision by adding
-      "[Contributor] elects to include this software in this
-      distribution under the [CDDL or GPL Version 2] license."  If you
-      don't indicate a single choice of license, a recipient has the
-      option to distribute your version of this file under either the
-      CDDL, the GPL Version 2 or to extend the choice of license to its
-      licensees as provided above.  However, if you add GPL Version 2
-      code and therefore, elected the GPL Version 2 license, then the
-      option applies only if the new code is made subject to such
-      option by the copyright holder.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      (C) Copyright International Business Machines Corporation 2002
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      <![CDATA[[
-      The webservices element is the root element for the web services
-      deployment descriptor.  It specifies the set of web service
-      descriptions that are to be deployed into the Java EE Application
-      Server and the dependencies they have on container resources and
-      services.  The deployment descriptor must be named
-      "META-INF/webservices.xml" in the web services' jar file.
-
-      Used in: webservices.xml
-
-      All webservices deployment descriptors must indicate the
-      webservices schema by using the Java EE namespace:
-
-      http://java.sun.com/xml/ns/javaee
-
-      and by indicating the version of the schema by using the version
-      element as shown below:
-
-      <webservices xmlns="http://java.sun.com/xml/ns/javaee"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-      	http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd"
-      version="1.3">
-      ...
-      </webservices>
-
-      The instance documents may indicate the published version of the
-      schema using the xsi:schemaLocation attribute for the Java EE
-      namespace with the following location:
-      
-      http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd
-      
-      ]]>
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-      
-      - In elements that specify a pathname to a file within the
-      same JAR file, relative filenames (i.e., those not
-      starting with "/") are considered relative to the root of
-      the JAR file's namespace.  Absolute filenames (i.e., those
-      starting with "/") also specify names in the root of the
-      JAR file's namespace.  In general, relative names are
-      preferred.  The exception is .war files where absolute
-      names are preferred for consistency with the Servlet API.
-      
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_6.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:element name="webservices"
-               type="javaee:webservicesType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The webservices element is the root element for the web services
-        deployment descriptor.  It specifies the set of web service
-        descriptions that are to be deployed into the Java EE Application Server
-        and the dependencies they have on container resources and services.
-        
-        Used in: webservices.xml
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:key name="webservice-description-name-key">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The webservice-description-name identifies the collection of
-          port-components associated with a WSDL file and JAX-RPC mapping. The
-          name must be unique within the deployment descriptor.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:webservice-description"/>
-      <xsd:field xpath="javaee:webservice-description-name"/>
-    </xsd:key>
-  </xsd:element>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="port-componentType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The port-component element associates a WSDL port with a web service
-        interface and implementation.  It defines the name of the port as a
-        component, optional description, optional display name, optional iconic
-        representations, WSDL port QName, Service Endpoint Interface, Service
-        Implementation Bean.
-        
-        This element also associates a WSDL service with a JAX-WS Provider
-        implementation.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-                   type="javaee:descriptionType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="display-name"
-                   type="javaee:display-nameType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="icon"
-                   type="javaee:iconType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="port-component-name"
-                   type="javaee:string">
-        <xsd:annotation>
-          <xsd:documentation>
-            <![CDATA[[
-            The port-component-name element specifies a port component's
-            name.  This name is assigned by the module producer to name
-            the service implementation bean in the module's deployment
-            descriptor. The name must be unique among the port component
-            names defined in the same module.
-            
-            Used in: port-component
-            
-            Example:
-            	      <port-component-name>EmployeeService
-            	      </port-component-name>
-            
-            ]]>
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-service"
-                   type="javaee:xsdQNameType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Defines the name space and local name part of the WSDL
-            service QName. This is required to be specified for
-            port components that are JAX-WS Provider implementations.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-port"
-                   type="javaee:xsdQNameType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Defines the name space and local name part of the WSDL
-            port QName. This is not required to be specified for port
-            components that are JAX-WS Provider implementations
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="enable-mtom"
-                   type="javaee:true-falseType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Used to enable or disable SOAP MTOM/XOP mechanism for an
-            endpoint implementation.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="mtom-threshold"
-                   type="javaee:xsdNonNegativeIntegerType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            When MTOM is enabled, binary data above this size in bytes
-            will be XOP encoded or sent as attachment. Default value is 0.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="addressing"
-                   type="javaee:addressingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            This specifies the WS-Addressing requirements for a JAX-WS
-            web service. It corresponds to javax.xml.ws.soap.Addressing
-            annotation or its feature javax.xml.ws.soap.AddressingFeature.
-            
-            See the addressingType for more information.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="respect-binding"
-                   type="javaee:respect-bindingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Corresponds to the javax.xml.ws.RespectBinding annotation
-            or its corresponding javax.xml.ws.RespectBindingFeature web
-            service feature. This is used to control whether a JAX-WS
-            implementation must respect/honor the contents of the
-            wsdl:binding in the WSDL that is associated with the service.
-            
-            Not to be specified for JAX-RPC runtime
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="protocol-binding"
-                   type="javaee:protocol-bindingType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Used to specify the protocol binding used by the port-component.
-            If this element is not specified, then the default binding is
-            used (SOAP 1.1 over HTTP)
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="service-endpoint-interface"
-                   type="javaee:fully-qualified-classType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-            <![CDATA[[
-            The service-endpoint-interface element contains the
-            fully-qualified name of the port component's Service Endpoint
-            Interface.
-            
-            Used in: port-component
-            
-            Example:
-            	      <remote>com.wombat.empl.EmployeeService</remote>
-            
-            This may not be specified in case there is no Service
-            Enpoint Interface as is the case with directly using an
-            implementation class with the @WebService annotation.
-            
-            When the port component is a Provider implementation
-            this is not specified.
-            
-            ]]>
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="service-impl-bean"
-                   type="javaee:service-impl-beanType"/>
-      <xsd:choice>
-        <xsd:element name="handler"
-                     type="javaee:handlerType"
-                     minOccurs="0"
-                     maxOccurs="unbounded">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              	 To be used with JAX-RPC based runtime only.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-        <xsd:element name="handler-chains"
-                     type="javaee:handler-chainsType"
-                     minOccurs="0"
-                     maxOccurs="1">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              	 To be used with JAX-WS based runtime only.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="service-impl-beanType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The service-impl-bean element defines the web service implementation.
-        A service implementation can be an EJB bean class or JAX-RPC web
-        component.  Existing EJB implementations are exposed as a web service
-        using an ejb-link.
-        
-        Used in: port-component
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:choice>
-      <xsd:element name="ejb-link"
-                   type="javaee:ejb-linkType"/>
-      <xsd:element name="servlet-link"
-                   type="javaee:servlet-linkType"/>
-    </xsd:choice>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="servlet-linkType">
-    <xsd:annotation>
-      <xsd:documentation>
-        <![CDATA[[
-        The servlet-link element is used in the service-impl-bean element
-        to specify that a Service Implementation Bean is defined as a
-        JAX-RPC Service Endpoint.
-        
-        The value of the servlet-link element must be the servlet-name of
-        a JAX-RPC Service Endpoint in the same WAR file.
-        
-        Used in: service-impl-bean
-        
-        Example:
-        	  <servlet-link>StockQuoteService</servlet-link>
-        
-        ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="webservice-descriptionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The webservice-description element defines a WSDL document file
-        and the set of Port components associated with the WSDL ports
-        defined in the WSDL document.  There may be multiple
-        webservice-descriptions defined within a module.
-        
-        All WSDL file ports must have a corresponding port-component element
-        defined.
-        
-        Used in: webservices
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-                   type="javaee:descriptionType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="display-name"
-                   type="javaee:display-nameType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="icon"
-                   type="javaee:iconType"
-                   minOccurs="0"
-                   maxOccurs="1"/>
-      <xsd:element name="webservice-description-name"
-                   type="javaee:string">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The webservice-description-name identifies the collection of
-            port-components associated with a WSDL file and JAX-RPC
-            mapping. The name must be unique within the deployment descriptor.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="wsdl-file"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The wsdl-file element contains the name of a WSDL file in the
-            module.  The file name is a relative path within the module.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="jaxrpc-mapping-file"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The jaxrpc-mapping-file element contains the name of a file that
-            describes the JAX-RPC mapping between the Java interaces used by
-            the application and the WSDL description in the wsdl-file.  The
-            file name is a relative path within the module.
-            
-            This is not required when JAX-WS based runtime is used.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="port-component"
-                   type="javaee:port-componentType"
-                   minOccurs="1"
-                   maxOccurs="unbounded">
-        <xsd:key name="port-component_handler-name-key">
-          <xsd:annotation>
-            <xsd:documentation>
-
-              Defines the name of the handler. The name must be unique
-              within the module.
-              
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:selector xpath="javaee:handler"/>
-          <xsd:field xpath="javaee:handler-name"/>
-        </xsd:key>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="webservicesType">
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="webservice-description"
-                   type="javaee:webservice-descriptionType"
-                   minOccurs="1"
-                   maxOccurs="unbounded">
-        <xsd:key name="port-component-name-key">
-          <xsd:annotation>
-            <xsd:documentation>
-              <![CDATA[[
-              	The port-component-name element specifies a port
-              	component's name.  This name is assigned by the module
-              	producer to name the service implementation bean in the
-              	module's deployment descriptor. The name must be unique
-              	among the port component names defined in the same module.
-              
-              	Used in: port-component
-              
-              	Example:
-              		<port-component-name>EmployeeService
-              		</port-component-name>
-              
-              	
-              
-              ]]>
-            </xsd:documentation>
-          </xsd:annotation>
-          <xsd:selector xpath="javaee:port-component"/>
-          <xsd:field xpath="javaee:port-component-name"/>
-        </xsd:key>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-                   type="javaee:dewey-versionType"
-                   fixed="1.3"
-                   use="required">
-      <xsd:annotation>
-        <xsd:documentation>
-
-          The required value for the version is 1.3.
-          
-        </xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd
new file mode 100644
index 0000000..c3876d2
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-app_4_0_1.dtd
@@ -0,0 +1,160 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<!-- The JBoss 4.x specific elements for ears.
+
+DOCTYPE jboss-app
+    PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN"
+    "http://www.jboss.org/dtd/jbossas/jboss-app_4_0_1.dtd"
+-->
+
+<!-- The jboss-app element is the root element.
+-->
+<!ELEMENT jboss-app (module-order?,security-domain?, unauthenticated-principal?,
+ loader-repository?, jmx-name?, module*, security-role*)>
+
+<!--
+ The value of the module-order could be implicit or strict
+ <module-order>strict</module-order>
+ 	or 
+ <module-order>implicit</module-order>
+ The strict value indicates that the deployments of the modules will 
+ be done in the order that would be specified in the application.xml 
+ and jboss-app.xml file . 
+ The implicit value indicates the deployment would follow the order 
+ which would be specified in the DeploymentSorter.
+ The default order will be implicit to support backward compatibility
+--> 
+<!ELEMENT module-order (#PCDATA)>
+
+<!--
+  The security-domain element specifies the JNDI name of the security
+  manager that implements the EJBSecurityManager and RealmMapping for
+  the domain. When specified at the jboss level it specifies the security
+  domain for all j2ee components in the deployment unit.
+  One can override the global security-domain at the container
+  level using the security-domain element at the container-configuration
+  level.
+
+  Used in: jboss-app
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!--
+  The unauthenticated-principal element specifies the name of the principal
+  that will be returned by the EJBContext.getCallerPrincipal() method if there
+  is no authenticated user. This Principal has no roles or privaledges to call
+  any other beans.
+-->
+<!ELEMENT unauthenticated-principal (#PCDATA)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The jmx-name element allows one to specify the JMX ObjectName to use
+for the MBean associated with the ejb-jar module. This must be a unique
+name and valid JMX ObjectName string.
+
+   Used in: jboss-app
+-->
+<!ELEMENT jmx-name (#PCDATA)>
+
+<!-- The module element is used to specify a jboss specific module archive.
+-->
+<!ELEMENT module (service | har)>
+<!-- Allow the module to have a unique id -->
+<!ATTLIST module id ID #IMPLIED>
+
+<!-- The service element specifies a service archive (SAR) to deploy.
+
+Example:
+   <module>
+      <service>external.sar</service>
+   </module>
+-->
+<!ELEMENT service (#PCDATA)>
+
+<!-- The har element specifies a Hibernate archive (HAR) to deploy.
+
+Example:
+   <module>
+      <har>myapp.har</har>
+   </module>
+-->
+<!ELEMENT har (#PCDATA)>
+
+<!--
+  The security-role element contains the definition of a security role.
+  The definition consists of an the security role name and principal name element(s).
+
+Used in: jboss-app
+
+Example:
+		<security-role>
+      <role-name>Manager</role-name>
+      <principal-name>j2ee</principal-name>
+      <principal-name>javajoe</principal-name>
+		</security-role>
+-->
+<!ELEMENT security-role (role-name, principal-name+)>
+
+<!--
+  The role-name element is the name of the role.
+
+  Used in: security-role
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+  The principal-name element is the name of the principal that is mapped
+  to the assembly role-name.
+
+  Used in: security-role
+-->
+<!ELEMENT principal-name (#PCDATA)>
+
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd
new file mode 100644
index 0000000..4fc9a7a
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-as-messaging-deployment_1_0_1.xsd
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2011, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="urn:jboss:messaging-deployment:1.0.1"
+           targetNamespace="urn:jboss:messaging-deployment:1.0.1"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           version="1.0.1">
+
+    <xs:element name="messaging-deployment">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of a messaging deployment
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="hornetq-server" type="hornetq-serverType"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:complexType name="hornetq-serverType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of entries for a HornetQ server.
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all>
+            <xs:element maxOccurs="1" minOccurs="0" name="jms-destinations">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="jms-queue" maxOccurs="unbounded" minOccurs="0" type="jmsQueueType"/>
+                        <xs:element name="jms-topic" maxOccurs="unbounded" minOccurs="0" type="jmsTopicType"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="optional" default="default">
+            <xs:annotation>
+                <xs:documentation>
+                    The name to use for this HornetQ Server. Must correspond to a HornetQ server installed in
+                    the main configuration.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="entryType">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="jmsQueueType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+            <xs:element name="selector" maxOccurs="1" minOccurs="0">
+                <xs:complexType>
+                    <xs:attribute name="string" type="xs:string" use="required"/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="durable" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="jmsTopicType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="transactionType">
+        <xs:attribute name="mode" use="required" type="modeType"/>
+    </xs:complexType>
+
+    <xs:simpleType name="modeType">
+        <xs:restriction base="xs:token">
+            <xs:enumeration value="xa">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="local">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="none">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd
new file mode 100644
index 0000000..6a9227e
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-client_4_0_1.dtd
@@ -0,0 +1,142 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<!-- The JBoss specific elements used to deploy an application client.
+This version applies to the JBoss 4.x releases and the
+j2ee-1.4 application-client_1_4.xsd.
+
+
+   <!DOCTYPE jboss-client PUBLIC
+       "-//JBoss//DTD Application Client 4.0//EN"
+       "http://www.jboss.org/j2ee/dtd/jboss-client_4_0_1.dtd">
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!-- The jboss-client element is the root element.
+-->
+<!ELEMENT jboss-client (jndi-name, ejb-ref*, service-ref*, resource-ref*,
+ resource-env-ref*)>
+
+<!-- The required jndi-name element specifies the JNDI name of a deployed
+object. It is used in two different contexts:
+
+1. In jboss-client to specify the location in JNDI on the server side which
+contains the ObjectFactory which handles the java:comp/env enterprise naming
+context (ENC) on the client. The application client code maps its ENC to the
+approriate client jar deployment jboss-client/jndi-name value by specifying this
+location via the j2ee.clientName IntialContext environment property, or as a
+system property. The prototype code for creating the client side InitialContext
+is:
+
+      Properties env = new Properties();
+      env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
+         "org.jnp.interfaces.NamingContextFactory");
+      env.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming.client");
+      env.setProperty(Context.PROVIDER_URL, "jnp://somehost:1099");
+      env.setProperty("j2ee.clientName", "test-client");
+      InitialContext ctx = new InitialContext(env);
+      Context enc = (Context) ctx.lookup("java:comp/env");
+
+2. In resource-ref, resource-env-ref, ejb-ref to specify the the actual server
+side binding location of the target the client ENC binding will link to via a
+JNDI LinkRef.
+
+Used in: jboss-client, resource-ref, resource-env-ref, ejb-ref
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!-- The ejb-ref element maps from the servlet ENC relative name
+of the ejb reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <jndi-name>deployed/ejbs/Bean0</jndi-name>
+    </ejb-ref>
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!-- The ejb-ref-name element gives the ENC relative name used
+in the client code.
+
+Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--The resource-ref element maps from the client ENC relative name
+of the resource-ref to the deployment environment JNDI name of
+the resource manager connection factory.
+Example:
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <jndi-name>java:/DefaultDS</jndi-name>
+    </resource-ref>
+
+    <resource-ref>
+        <res-ref-name>url/XYZHome</res-ref-name>
+        <res-url>http://x.y.z</res-url>
+    </resource-ref>
+-->
+<!ELEMENT resource-ref (res-ref-name , (jndi-name | res-url))>
+
+<!-- The res-ref-name specifies the name of the application-client.xml
+res-ref-name element to which this mapping applies.
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--The resource-env-ref element maps from the servlet ENC relative name
+of the resource-env-ref to the deployment environment JNDI name of
+the administered object resource.
+Example:
+    <resource-env-ref>
+        <resource-env-ref-name>jms/NewsTopic</resource-env-ref-name>
+        <jndi-name>topic/NewsTopic</jndi-name>
+    </resource-env-ref>
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!-- The resource-env-ref-name specifies the name of the application-client.xml
+resource-env-ref-name element to which this mapping applies.
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!-- The res-url element value is a URL string for a resource-ref of
+res-type = java.net.URL. Using a res-url creates a binding of the URL
+instance under the java:comp/env. If you want to link to another binding
+of a URL, you can use the jndi-name to do so.
+
+// Binds the URL(http://x.y.z) under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>http://x.y.z</res-url>
+</resource-ref>
+// Binds a link to urls/XYZHomePage under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>urls/XYZHomePage</res-url>
+</resource-ref>
+
+   Used in: resource-ref
+-->
+<!ELEMENT res-url (#PCDATA)>
+
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd
new file mode 100644
index 0000000..7fddddc
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_6_0_1.xsd
@@ -0,0 +1,587 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2005, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified" 
+            attributeFormDefault="unqualified"
+            version="6.0.1">
+
+   <xsd:annotation>
+      <xsd:documentation> JBoss, Home of Professional Open Source, Copyright 2005, Red Hat, Inc., and individual 
+          contributors as indicated by the @authors tag. Licensed under the Apache License, Version 2.0 (the "License");
+          you may not use this file except in compliance with the License. You may obtain a copy of the License at 
+          http://www.apache.org/licenses/LICENSE-2.0
+          Unless required by applicable law or agreed to in writing, software
+          distributed under the License is distributed on an "AS IS" BASIS,
+          WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+          See the License for the specific language governing permissions and limitations under the License.
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This XML Schema defines types, elements and model groups that common to all application-specific JBoss schemas.
+        The target namespace is
+
+	http://www.jboss.com/xml/ns/javaee
+
+        Online URL http://www.jboss.org/schema/jbossas/jboss-common_6_0_1.xsd
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="http://java.sun.com/xml/ns/javaee/javaee_6.xsd"/>
+
+   <xsd:group name="descriptionGroup">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="display-name" type="javaee:display-nameType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="icon" type="javaee:iconType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="jndiEnvironmentRefsGroup">
+      <xsd:sequence>
+         <xsd:element name="env-entry" type="jboss:env-entryType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-ref" type="jboss:ejb-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-local-ref" type="jboss:ejb-local-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:service-refGroup" />
+         <xsd:element name="resource-ref" type="jboss:resource-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref" type="jboss:resource-env-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref" type="jboss:message-destination-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref" type="jboss:persistence-context-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref" type="jboss:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="post-construct" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="pre-destroy" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="data-source" type="jboss:data-sourceType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:complexType name="env-entryType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="env-entry-name" type="javaee:jndi-nameType" />
+         <xsd:element name="env-entry-type" type="javaee:env-entry-type-valuesType" minOccurs="0" />
+         <xsd:element name="env-entry-value" type="javaee:xsdStringType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="injection-targetType">
+      <xsd:sequence>
+         <xsd:element name="injection-target-class" type="javaee:fully-qualified-classType" />
+         <xsd:element name="injection-target-name" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="lifecycle-callbackType">
+      <xsd:sequence>
+         <xsd:element name="lifecycle-callback-class" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:element name="lifecycle-callback-method" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destination-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref-name" type="javaee:jndi-nameType"/>
+         <xsd:element name="message-destination-type" type="javaee:message-destination-typeType" minOccurs="0" />
+         <xsd:element name="message-destination-usage" type="javaee:message-destination-usageType" minOccurs="0" />
+         <xsd:element name="message-destination-link" type="javaee:message-destination-linkType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <!-- Bring persistence-context-refType info jboss namespace -->
+   <xsd:complexType name="persistence-context-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:element name="persistence-context-type" type="javaee:persistence-context-typeType" minOccurs="0" />
+         <xsd:element name="persistence-property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="persistence-unit-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-env-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="resource-env-ref-type" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+  <xsd:complexType name="data-sourceType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" />
+      <xsd:element name="name" type="javaee:jndi-nameType" />
+      <xsd:element name="class-name" type="javaee:fully-qualified-classType" minOccurs="0" />
+      <xsd:element name="server-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="port-number" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="database-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="url" type="javaee:jdbc-urlType" minOccurs="0" />
+      <xsd:element name="user" type="javaee:string" minOccurs="0" />
+      <xsd:element name="password" type="javaee:string" minOccurs="0" />
+      <xsd:element name="property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="login-timeout" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="transactional" type="javaee:xsdBooleanType" minOccurs="0" />
+      <xsd:element name="isolation-level" type="javaee:isolation-levelType" minOccurs="0" />
+      <xsd:element name="initial-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="min-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-idle-time" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-statements" type="javaee:xsdIntegerType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:group name="resourceGroup">
+      <xsd:sequence>
+         <!-- In jboss xml we allow the use of jndi-name instead of mapped-name -->
+         <xsd:choice minOccurs="0">
+            <xsd:element name="jndi-name" type="javaee:jndi-nameType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="service-refGroup">
+      <xsd:sequence>
+         <xsd:element name="service-ref" type="jboss:service-refType" minOccurs="0" maxOccurs="unbounded">
+            <xsd:key name="service-ref_handler-name-key">
+               <xsd:selector xpath="javaee:handler" />
+               <xsd:field xpath="javaee:handler-name" />
+            </xsd:key>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:group>
+
+  <xsd:complexType name="jndi-binding-policyType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The jndiBindingPolicyType defines the fully-qualified name of
+	  a class that implements the JNDI binding policy.
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+   <xsd:complexType name="jmx-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The jmx-name element allows one to specify the JMX ObjectName to use for
+            the MBean associated with the ejb-jar module. This must be a unique name and valid JMX
+            ObjectName string. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-domainType">
+      <xsd:annotation>
+         <xsd:documentation> The security-domain element specifies the JNDI name of the security
+            manager that implements the EJBSecurityManager and RealmMapping for the domain. When
+            specified at the jboss level it specifies the security domain for all j2ee components in the
+            deployment unit. One can override the global security-domain at the container level using
+            the security-domain element at the container-configuration level. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-roleType">
+      <xsd:annotation>
+         <xsd:documentation> The security-role element contains the definition of a security role.
+            The definition consists of an the security role name and principal name element(s). </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="description"
+            type="javaee:descriptionType"
+            minOccurs="0"
+            maxOccurs="unbounded"/>
+         <xsd:element name="role-name"
+            type="javaee:role-nameType"/>
+         <xsd:element name="principal-name" type="jboss:principal-nameType" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="principal-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The principal-name element is the name of the principal that is mapped
+            to the assembly role-name. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="dependsType">
+      <xsd:annotation>
+         <xsd:documentation> The depends element gives a JMX ObjectName of a service on which the
+            container or ejb depends. (default) </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="local-jndi-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The JNDI name under with the local interface should be bound. If it is not
+            provided jboss will assume "jndi-name" = "beanClass/local" </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+            message-driven, consumer, and service </xsd:documentation>
+      </xsd:annotation>
+      
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="home" type="javaee:homeType" minOccurs="0"/>
+         <xsd:element name="remote" type="javaee:remoteType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      
+      <!-- 
+      <xsd:complexContent>
+         <xsd:extension base="javaee:ejb-refType">
+            <xsd:sequence>
+               <xsd:element name="jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+               <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+            </xsd:sequence>
+         </xsd:extension>
+      </xsd:complexContent>
+      -->
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-local-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-local-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="local-home" type="javaee:local-homeType" minOccurs="0"/>
+         <xsd:element name="local" type="javaee:localType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:element name="local-jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-refType">
+      <xsd:annotation>
+         <xsd:documentation> The resource-ref element gives a mapping between the "code name" of a
+            resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+            provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+            that "xml-name" = "code name" See resource-managers. </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="res-ref-name" type="javaee:jndi-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-ref-name element specifies the name of a resource manager
+                  connection factory reference. The name is a JNDI name relative to the java:comp/env
+                  context. The name must be unique within a Deployment File. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-type" type="javaee:fully-qualified-classType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-type element specifies the type of the data source. The type
+                  is specified by the fully qualified Java language class or interface expected to be
+                  implemented by the data source. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-auth" type="javaee:res-authType" minOccurs="0"/>
+
+         <xsd:element name="res-sharing-scope" type="javaee:res-sharing-scopeType" minOccurs="0"/>
+
+         <!-- We redefine part of the resourceGroup here, so we can't ref it -->
+         <xsd:choice>
+            <xsd:element name="resource-name" type="javaee:xsdStringType"/>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+            <xsd:element name="res-url" type="javaee:xsdStringType"/>
+         </xsd:choice>
+
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-ref-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The service-ref-name element gives the ENC relative name used in the
+            ejb-jar.xml service-ref-name element. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="loader-repositoryType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+      The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+        </loader-repository>
+        ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="loader-repository-config" type="jboss:loader-repository-configType"
+                      minOccurs="0" maxOccurs="unbounded"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="loaderRepositoryClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <!-- **************************************************** -->
+
+   <xsd:complexType name="loader-repository-configType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation> The loader-repository-config element specifies any arbitrary configuration
+            fragment for use in configuring the loader-repository instance. The actual content of this
+            element is specific to the loaderRepositoryClass and the code parsing the element.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="configParserClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-refType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[     
+  Runtime settings for a web service reference. In the simplest case,
+  there is no runtime information required for a service ref.  Runtime info
+  is only needed in the following cases :
+
+  * to define the port that should be used to resolve a container-managed port
+  * to define default Stub property settings for Stub objects
+  * to define the URL of a final WSDL document to be used
+
+  Example:
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <config-name>Secure Client Config</config-name>
+   <config-file>META-INF/jbossws-client-config.xml</config-file>
+   <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>SecureService</service-ref-name>
+   <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+   <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+    <port-component-ref>
+     <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+     <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.username</name>
+      <value>kermit</value>
+     </stub-property>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.password</name>
+      <value>thefrog</value>
+     </stub-property>
+   </port-component-ref>
+  </service-ref>
+    ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="service-ref-name" type="xsd:string"/>
+         <xsd:element name="service-impl-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="service-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="handler-chain" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-component-ref" type="jboss:port-component-refType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="wsdl-override" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <!--
+     Information for a port within a service-ref.
+
+     Either service-endpoint-interface or wsdl-port or both
+     (service-endpoint-interface and wsdl-port) should be specified.
+
+     If both are specified, wsdl-port represents the
+     port the container should choose for container-managed port selection.
+
+     The same wsdl-port value must not appear in
+     more than one port-component-ref entry within the same service-ref.
+
+     If a particular service-endpoint-interface is using container-managed port
+     selection, it must not appear in more than one port-component-ref entry
+     within the same service-ref.
+   -->
+   <xsd:complexType name="port-component-refType">
+      <xsd:sequence>
+         <xsd:element name="service-endpoint-interface" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="stub-property" type="jboss:stub-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="call-property" type="jboss:call-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="stub-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="call-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destinationType">
+      <xsd:annotation>
+         <xsd:documentation> The message-destination element is used to configure the jndi-name for a
+            message-destination in ejb-jar.xml Used in: assembly-descriptor </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:group ref="jboss:descriptionGroup"/>
+         <xsd:element name="message-destination-name" type="javaee:xsdStringType"/>
+         <xsd:choice>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="lookup-name" type="javaee:xsdStringType"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="webservice-descriptionType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Runtime information about a web service.
+            wsdl-publish-location is optionally used to specify
+            where the final wsdl and any dependent files should be stored.  This location
+            resides on the file system from which deployment is initiated.
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="webservice-description-name" type="xsd:string"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="wsdl-publish-location" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd
new file mode 100644
index 0000000..5e963e4
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-common_8_1.xsd
@@ -0,0 +1,574 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="8.1">
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This XML Schema defines types, elements and model groups that common to all application-specific JBoss schemas.
+        The target namespace is
+
+	http://www.jboss.com/xml/ns/javaee
+
+        Online URL http://www.jboss.org/j2ee/schema/jboss-common_8_1.xsd
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://xmlns.jcp.org/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/javaee_8.xsd"/>
+
+   <xsd:group name="descriptionGroup">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="display-name" type="javaee:display-nameType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="icon" type="javaee:iconType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="jndiEnvironmentRefsGroup">
+      <xsd:sequence>
+         <xsd:element name="env-entry" type="jboss:env-entryType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-ref" type="jboss:ejb-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ejb-local-ref" type="jboss:ejb-local-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:service-refGroup" />
+         <xsd:element name="resource-ref" type="jboss:resource-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref" type="jboss:resource-env-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref" type="jboss:message-destination-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref" type="jboss:persistence-context-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref" type="jboss:persistence-unit-refType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="post-construct" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="pre-destroy" type="jboss:lifecycle-callbackType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="data-source" type="jboss:data-sourceType" minOccurs="0" maxOccurs="unbounded" />
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:complexType name="env-entryType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="env-entry-name" type="javaee:jndi-nameType" />
+         <xsd:element name="env-entry-type" type="javaee:env-entry-type-valuesType" minOccurs="0" />
+         <xsd:element name="env-entry-value" type="javaee:xsdStringType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="injection-targetType">
+      <xsd:sequence>
+         <xsd:element name="injection-target-class" type="javaee:fully-qualified-classType" />
+         <xsd:element name="injection-target-name" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="lifecycle-callbackType">
+      <xsd:sequence>
+         <xsd:element name="lifecycle-callback-class" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:element name="lifecycle-callback-method" type="javaee:java-identifierType" />
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destination-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="message-destination-ref-name" type="javaee:jndi-nameType"/>
+         <xsd:element name="message-destination-type" type="javaee:message-destination-typeType" minOccurs="0" />
+         <xsd:element name="message-destination-usage" type="javaee:message-destination-usageType" minOccurs="0" />
+         <xsd:element name="message-destination-link" type="javaee:message-destination-linkType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <!-- Bring persistence-context-refType info jboss namespace -->
+   <xsd:complexType name="persistence-context-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-context-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:element name="persistence-context-type" type="javaee:persistence-context-typeType" minOccurs="0" />
+         <xsd:element name="persistence-property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="persistence-unit-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="persistence-unit-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="persistence-unit-name" type="javaee:string" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-env-refType">
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="resource-env-ref-name" type="javaee:jndi-nameType" />
+         <xsd:element name="resource-env-ref-type" type="javaee:fully-qualified-classType" minOccurs="0" />
+         <xsd:group ref="jboss:resourceGroup" />
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+  <xsd:complexType name="data-sourceType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" />
+      <xsd:element name="name" type="javaee:jndi-nameType" />
+      <xsd:element name="class-name" type="javaee:fully-qualified-classType" minOccurs="0" />
+      <xsd:element name="server-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="port-number" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="database-name" type="javaee:string" minOccurs="0" />
+      <xsd:element name="url" type="javaee:jdbc-urlType" minOccurs="0" />
+      <xsd:element name="user" type="javaee:string" minOccurs="0" />
+      <xsd:element name="password" type="javaee:string" minOccurs="0" />
+      <xsd:element name="property" type="javaee:propertyType" minOccurs="0" maxOccurs="unbounded" />
+      <xsd:element name="login-timeout" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="transactional" type="javaee:xsdBooleanType" minOccurs="0" />
+      <xsd:element name="isolation-level" type="javaee:isolation-levelType" minOccurs="0" />
+      <xsd:element name="initial-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="min-pool-size" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-idle-time" type="javaee:xsdIntegerType" minOccurs="0" />
+      <xsd:element name="max-statements" type="javaee:xsdIntegerType" minOccurs="0" />
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:group name="resourceGroup">
+      <xsd:sequence>
+         <!-- In jboss xml we allow the use of jndi-name instead of mapped-name -->
+         <xsd:choice minOccurs="0">
+            <xsd:element name="jndi-name" type="javaee:jndi-nameType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:group>
+
+   <xsd:group name="service-refGroup">
+      <xsd:sequence>
+         <xsd:element name="service-ref" type="jboss:service-refType" minOccurs="0" maxOccurs="unbounded">
+            <xsd:key name="service-ref_handler-name-key">
+               <xsd:selector xpath="javaee:handler" />
+               <xsd:field xpath="javaee:handler-name" />
+            </xsd:key>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:group>
+
+  <xsd:complexType name="jndi-binding-policyType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The jndiBindingPolicyType defines the fully-qualified name of
+	  a class that implements the JNDI binding policy.
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:fully-qualified-classType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+   <xsd:complexType name="jmx-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The jmx-name element allows one to specify the JMX ObjectName to use for
+            the MBean associated with the ejb-jar module. This must be a unique name and valid JMX
+            ObjectName string. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-domainType">
+      <xsd:annotation>
+         <xsd:documentation> The security-domain element specifies the JNDI name of the security
+            manager that implements the EJBSecurityManager and RealmMapping for the domain. When
+            specified at the jboss level it specifies the security domain for all j2ee components in the
+            deployment unit. One can override the global security-domain at the container level using
+            the security-domain element at the container-configuration level. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="security-roleType">
+      <xsd:annotation>
+         <xsd:documentation> The security-role element contains the definition of a security role.
+            The definition consists of an the security role name and principal name element(s). </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="description"
+            type="javaee:descriptionType"
+            minOccurs="0"
+            maxOccurs="unbounded"/>
+         <xsd:element name="role-name"
+            type="javaee:role-nameType"/>
+         <xsd:element name="principal-name" type="jboss:principal-nameType" maxOccurs="unbounded"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="principal-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The principal-name element is the name of the principal that is mapped
+            to the assembly role-name. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="dependsType">
+      <xsd:annotation>
+         <xsd:documentation> The depends element gives a JMX ObjectName of a service on which the
+            container or ejb depends. (default) </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="local-jndi-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The JNDI name under with the local interface should be bound. If it is not
+            provided jboss will assume "jndi-name" = "beanClass/local" </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session,
+            message-driven, consumer, and service </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="home" type="javaee:homeType" minOccurs="0"/>
+         <xsd:element name="remote" type="javaee:remoteType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+
+      <!--
+      <xsd:complexContent>
+         <xsd:extension base="javaee:ejb-refType">
+            <xsd:sequence>
+               <xsd:element name="jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+               <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+            </xsd:sequence>
+         </xsd:extension>
+      </xsd:complexContent>
+      -->
+   </xsd:complexType>
+
+   <xsd:complexType name="ejb-local-refType">
+      <xsd:annotation>
+         <xsd:documentation> The ejb-local-ref element is used to give the jndi-name of an external ejb
+            reference. In the case of an external ejb reference, you don't provide a ejb-link element in
+            ejb-jar.xml, but you provide a jndi-name in jboss.xml </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="ejb-ref-name" type="javaee:ejb-ref-nameType" minOccurs="0"/>
+         <xsd:element name="ejb-ref-type" type="javaee:ejb-ref-typeType" minOccurs="0"/>
+         <xsd:element name="local-home" type="javaee:local-homeType" minOccurs="0"/>
+         <xsd:element name="local" type="javaee:localType" minOccurs="0"/>
+         <xsd:element name="ejb-link" type="javaee:ejb-linkType" minOccurs="0"/>
+         <xsd:element name="local-jndi-name" type="javaee:jndi-nameType" minOccurs="0"/>
+         <xsd:group ref="jboss:resourceGroup"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="resource-refType">
+      <xsd:annotation>
+         <xsd:documentation> The resource-ref element gives a mapping between the "code name" of a
+            resource (res-ref-name, provided by the Bean Developer) and its "xml name" (resource-name,
+            provided by the Application Assembler). If no resource-ref is provided, jboss will assume
+            that "xml-name" = "code name" See resource-managers. </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="res-ref-name" type="javaee:jndi-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-ref-name element specifies the name of a resource manager
+                  connection factory reference. The name is a JNDI name relative to the java:comp/env
+                  context. The name must be unique within a Deployment File. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-type" type="javaee:fully-qualified-classType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation> The res-type element specifies the type of the data source. The type
+                  is specified by the fully qualified Java language class or interface expected to be
+                  implemented by the data source. </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+
+         <xsd:element name="res-auth" type="javaee:res-authType" minOccurs="0"/>
+
+         <xsd:element name="res-sharing-scope" type="javaee:res-sharing-scopeType" minOccurs="0"/>
+
+         <!-- We redefine part of the resourceGroup here, so we can't ref it -->
+         <xsd:choice>
+            <xsd:element name="resource-name" type="javaee:xsdStringType"/>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+            <xsd:element name="res-url" type="javaee:xsdStringType"/>
+         </xsd:choice>
+
+         <xsd:element name="injection-target" type="jboss:injection-targetType" minOccurs="0" maxOccurs="unbounded" />
+
+         <xsd:element name="ignore-dependency" type="javaee:emptyType" minOccurs="0"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-ref-nameType">
+      <xsd:annotation>
+         <xsd:documentation> The service-ref-name element gives the ENC relative name used in the
+            ejb-jar.xml service-ref-name element. </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="loader-repositoryType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+      The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+        </loader-repository>
+        ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="loader-repository-config" type="jboss:loader-repository-configType"
+                      minOccurs="0" maxOccurs="unbounded"/>
+
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="loaderRepositoryClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <!-- **************************************************** -->
+
+   <xsd:complexType name="loader-repository-configType" mixed="true">
+      <xsd:annotation>
+         <xsd:documentation> The loader-repository-config element specifies any arbitrary configuration
+            fragment for use in configuring the loader-repository instance. The actual content of this
+            element is specific to the loaderRepositoryClass and the code parsing the element.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:attribute name="id" type="xsd:ID"/>
+      <xsd:attribute name="configParserClass" type="xsd:string"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="service-refType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+  Runtime settings for a web service reference. In the simplest case,
+  there is no runtime information required for a service ref.  Runtime info
+  is only needed in the following cases :
+
+  * to define the port that should be used to resolve a container-managed port
+  * to define default Stub property settings for Stub objects
+  * to define the URL of a final WSDL document to be used
+
+  Example:
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>OrganizationService</service-ref-name>
+   <config-name>Secure Client Config</config-name>
+   <config-file>META-INF/jbossws-client-config.xml</config-file>
+   <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+  </service-ref>
+
+  <service-ref>
+   <service-ref-name>SecureService</service-ref-name>
+   <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+   <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+    <port-component-ref>
+     <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+     <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.username</name>
+      <value>kermit</value>
+     </stub-property>
+     <stub-property>
+      <name>javax.xml.ws.security.auth.password</name>
+      <value>thefrog</value>
+     </stub-property>
+   </port-component-ref>
+  </service-ref>
+    ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="service-ref-name" type="xsd:string"/>
+         <xsd:element name="service-impl-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="service-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="handler-chain" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-component-ref" type="jboss:port-component-refType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="wsdl-override" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <!--
+     Information for a port within a service-ref.
+
+     Either service-endpoint-interface or wsdl-port or both
+     (service-endpoint-interface and wsdl-port) should be specified.
+
+     If both are specified, wsdl-port represents the
+     port the container should choose for container-managed port selection.
+
+     The same wsdl-port value must not appear in
+     more than one port-component-ref entry within the same service-ref.
+
+     If a particular service-endpoint-interface is using container-managed port
+     selection, it must not appear in more than one port-component-ref entry
+     within the same service-ref.
+   -->
+   <xsd:complexType name="port-component-refType">
+      <xsd:sequence>
+         <xsd:element name="service-endpoint-interface" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="stub-property" type="jboss:stub-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="call-property" type="jboss:call-propertyType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="stub-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="call-propertyType">
+      <xsd:sequence>
+         <xsd:element name="prop-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="prop-value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="message-destinationType">
+      <xsd:annotation>
+         <xsd:documentation> The message-destination element is used to configure the jndi-name for a
+            message-destination in ejb-jar.xml Used in: assembly-descriptor </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:group ref="jboss:descriptionGroup"/>
+         <xsd:element name="message-destination-name" type="javaee:xsdStringType"/>
+         <xsd:choice>
+            <xsd:element name="jndi-name" type="javaee:xsdStringType"/>
+            <xsd:element name="mapped-name" type="javaee:xsdStringType"/>
+         </xsd:choice>
+         <xsd:element name="lookup-name" type="javaee:xsdStringType"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="webservice-descriptionType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            Runtime information about a web service.
+            wsdl-publish-location is optionally used to specify
+            where the final wsdl and any dependent files should be stored.  This location
+            resides on the file system from which deployment is initiated.
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="webservice-description-name" type="xsd:string"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0"/>
+         <xsd:element name="wsdl-publish-location" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID" />
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd
new file mode 100644
index 0000000..ebd7d18
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-service_4_0_1.dtd
@@ -0,0 +1,301 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<!-- A skeleton JBoss MBean service descriptor DTD. This cannot be used in
+general to validate a jboss-service.xml descriptor due to the fact that the
+'attribute' element allows ANY content.
+
+DOCTYPE server
+    PUBLIC "-//JBoss//DTD MBean Service 4.0//EN"
+    "http://www.jboss.org/dtd/jbossas/jboss-service_4_0_1.dtd"
+-->
+<!-- The server element is the root element.
+-->
+<!ELEMENT server (loader-repository? , local-directory* , classpath* , mbean*)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA  #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA  #IMPLIED>
+
+<!-- A local-directory element specifies that portions of the sar are to be unjard into the data
+directory of the server configuration.
+-->
+<!ELEMENT local-directory EMPTY>
+
+<!-- The optional path attribute gives the prefix of the sar entries that should be copied
+into the data directory. If it is not specified the entire sar contents will be placed into
+the data directory.
+-->
+<!ATTLIST local-directory path CDATA  #IMPLIED>
+
+<!-- A classpath element specifies a location which will be included in the services
+deployment classpath.
+-->
+<!ELEMENT classpath EMPTY>
+
+<!-- The codebase attribute specifies the base URL from which the jars or classes
+are loaded from. If the codebase is '.' then it is equal to the mbean deployment URL.
+Otherwise, it is resolved as a path spec relative to the serverHomeURL (e.g., file:/jboss-3.2.0)
+using the URL ctor URL(serverHomeURL, codebase)
+
+Examples:
+
+   <classpath codebase='.' archives='util.jar' />
+   <classpath codebase='http://classloader.dot.com' archives='*' />
+   <classpath codebase="lib" archives="*"/>
+-->
+<!ATTLIST classpath codebase CDATA  #REQUIRED>
+
+<!-- The archives attribute specifies either the '*' wildcard to indicate all contents of the
+codebase should be included, or a comma seperated list of the jars to include.
+-->
+<!ATTLIST classpath archives CDATA  #IMPLIED>
+
+<!-- The mbean element defines a JBoss MBean service. This includes the
+mbean class, attributes and dependencies.
+-->
+<!ELEMENT mbean (constructor? , xmbean? , attribute* , depends* , depends-list*)>
+
+<!-- The code attributes gives the fully qualified name of the MBean
+implementation class.
+-->
+<!ATTLIST mbean code      CDATA  #REQUIRED>
+
+<!-- The name attribute gives the JMX ObjectName string to use when registering
+the MBean. This must be a unique and valid JMX name.
+-->
+<!ATTLIST mbean name      CDATA  #REQUIRED>
+
+<!-- The optional interface attribute gives the full qualified name of the class
+uses to construct the management interface of the mbean. In absence of it an interface
+with the name ending by MBean will be looked in the implementation class. When used
+this interface is defined explicitely.
+-->
+<!ATTLIST mbean interface CDATA  #IMPLIED>
+
+<!-- The xmbean-dd attribute defines the path to the JBoss XMBean descriptor. This
+is an xml document conforming to:
+
+<!DOCTYPE mbean PUBLIC
+      "-//JBoss//DTD JBOSS XMBEAN 1.0//EN"
+      "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_0.dtd">
+
+If the descriptor is embedded via a nested xmbean element, the xmbean-dd attribute
+must be given as an empty string.
+
+Example:
+	<mbean code="org.jboss.test.jmx.xmbean.User"
+		name="jboss.test:service=xmbean-user"
+		xmbean-dd="META-INF/org/jboss/test/jmx/xmbean/User.xml" />
+-->
+<!ATTLIST mbean xmbean-dd CDATA  #IMPLIED>
+
+<!-- The optional xmbean-code attribute specifies the ModelMBean implementation class
+to use. This defaults to org.jboss.mx.modelmbean.XMBean.
+-->
+<!ATTLIST mbean xmbean-code CDATA  #IMPLIED>
+
+<!-- The xmbean element specifies a nested JBoss XMBean descriptor fragment. Its
+supported content model is the same as the mbean element of the jboss_xmbean_1_0.dtd
+
+Example:
+	<mbean code="org.jboss.test.jmx.xmbean.User"
+		name="jboss.test:service=xmbean-user"
+		xmbean-dd="">
+		<xmbean>
+			...
+		</xmbean>
+	</mbean>
+-->
+<!ELEMENT xmbean ANY>
+
+<!-- The constructor element defines a non-default constructor to use when
+instantiating the mbean.
+-->
+<!ELEMENT constructor (arg*)>
+
+<!-- The arg element specify the constructor arguments in the order of the
+ctor signature. Each arg has a type and value attribute.
+-->
+<!ELEMENT arg EMPTY>
+
+<!-- The type attribute gives the type of the argument as defined in the
+ctor signature. If not defined java.lang.String is assumed.
+-->
+<!ATTLIST arg type  CDATA  #IMPLIED>
+
+<!-- The value attribute provides the string representation of the ctor
+argument. It is converted from a string to type using Java PropertyEditor or a
+ctor taking a single string as its argument.
+-->
+<!ATTLIST arg value CDATA  #REQUIRED>
+
+<!-- The attribute element specifies the initial value for a management attribute of
+the enclosing mbean. Typically the value of the attribute element is the string
+representation of the attribute, but it can be an arbitrary xml fragment that is
+parsed by the mbean.
+-->
+<!ELEMENT attribute ANY>
+
+<!-- The required name attribute gives the name of the attribute. This is the
+name exposed by the mbean to the MBeanServer for the attribute.
+-->
+<!ATTLIST attribute name CDATA  #REQUIRED>
+
+<!-- The optional replace attribute indicates whether references of the form ${x}
+in the attribute element content should be replaced with the corresponding
+System.getProperty(x) value.
+-->
+<!ATTLIST attribute replace (true | false) 'true'>
+<!-- The optional trim attribute specifies whether the attribute element content should
+be trimmed of whitespace.
+-->
+<!ATTLIST attribute trim (true | false) 'true'>
+
+<!-- The attributeClass attribute specifies that type of object that
+should be created. This is needed for non-concreate attribute types
+like interfaces and abstract classes.
+-->
+<!ATTLIST attribute attributeClass CDATA  #IMPLIED>
+
+<!-- The serialDataType defines the how the content of the attribute
+element is interpretted by the ServiceConfigurator. The possible values
+are:
+   + text: the content is treated as the string representation of the
+   attribute value. It will be mapped to the attribute using the PropertyEditor
+   registered for the attribute type.
+   + javaBean: the content is a collection of property elements.
+   + jbxb: the content is an xml element from a namespace with an associated
+      xml schema that can be unmarshalled using the JBossXB framework.
+-->
+<!ATTLIST attribute serialDataType (text | javaBean | jbxb) 'text'>
+
+<!-- The property element is used to describe the JavaBean properties of
+an attribute when the attribute element serialDataType is javaBean.
+-->
+<!ELEMENT property (#PCDATA)>
+<!-- The required name attribute gives the name of the property. This is the
+name of a JavaBean property for the attribute type.
+-->
+<!ATTLIST property name CDATA #REQUIRED>
+
+<!-- The depends element specifies a JMX ObjectName string for an mbean
+on which the enclosing mbean depends.
+
+Example:
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="yName">domain:name=y</depends>
+   </mbean>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="anonName">
+         <mbean code="nestedBean" name="domain:name=x.y">
+         ...
+         </mbean>
+      </depends>
+   </mbean>
+-->
+<!ELEMENT depends (#PCDATA | mbean)*>
+
+<!-- The optional-attribute-name attribute specifies the attribute name
+which should be populated with the JMX ObjectName of the depends element.
+This allows an mbean to have access to the name of the mbean on which
+it depends.
+-->
+<!ATTLIST depends optional-attribute-name CDATA  #IMPLIED>
+
+<!-- The proxy-type attribute specifies the interface name
+that should be exposed on an MBeanProxy pointing at the dependent
+MBean, specified by the JMX ObjectName.
+
+The special value proxy-type="attribute" will use the
+class declared in the MBeanAttributeInfo as the interface
+for the MBeanProxy.
+
+Example:
+   <mbean code="org.jboss.example.Helper" name="domain:name=helper"/>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="Helper"
+               proxy-type="org.jboss.example.HelperMBean"
+      >domain:name=helper</depends>
+   </mbean>
+
+   <mbean code="myBean" name="domain:name=x">
+      <depends optional-attribute-name="Helper"
+               proxy-type="attribute"
+      >domain:name=helper</depends>
+   </mbean>
+-->
+<!ATTLIST depends proxy-type CDATA  #IMPLIED>
+
+<!-- The depends-list element specifies a series of JMX ObjectName
+strings of mbeans on which the enclosing mbean depends.
+
+Example:
+   <mbean code="myBean" name="domain:name=x">
+      <depends-list optional-attribute-name="myObjectNameList">
+         <depends-list-element>domain:name=y</depends-list-element>
+         <depends-list-element>domain:name=z</depends-list-element>
+      </depends-list>
+   </mbean>
+-->
+<!ELEMENT depends-list (depends-list-element)+>
+
+<!-- The optional-attribute-name attribute specifies the attribute name
+which should be populated with a java.util.List that contains the JMX
+ObjectName(s) of the depends-list elements. This allows an mbean to have
+access to the names of the mbeans on which it depends.
+-->
+<!ATTLIST depends-list optional-attribute-name CDATA  #IMPLIED>
+
+<!-- The depends-list-element element specifies a JMX ObjectName string
+for an mbean on which the enclosing mbean depends.
+-->
+<!ELEMENT depends-list-element (#PCDATA | mbean)*>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd
new file mode 100644
index 0000000..a277891
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_14_1.xsd
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="14.1">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            <![CDATA[
+
+	This is the XML Schema for the WildFly 14.1 web application deployment descriptor.
+	The deployment descriptor must be named "WEB-INF/jboss-web.xml" in
+	the WAR file.  All JBoss Web deployment descriptors must indicate
+	the JBoss schema by using the Java EE namespace:
+
+        http://www.jboss.com/xml/ns/javaee
+
+	and by indicating the version of the schema using the version element as shown below:
+
+        <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_14_1.xsd"
+           version="14.0">
+
+	       ...
+
+        </jboss-web>
+
+	Instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for the
+	Java EE namespace with the following location:
+
+	http://www.jboss.org/j2ee/schema/jboss-web_14_1.xsd
+
+	]]>
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+            The following conventions apply to all Java EE deployment descriptor
+            elements unless indicated otherwise. - In elements that specify a pathname to a file within
+            the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+            relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+            with "/") also specify names in the root of the JAR file's namespace. In general, relative
+            names are preferred. The exception is .war files where absolute names are preferred for
+            consistency with the Servlet API.
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:import namespace="http://xmlns.jcp.org/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/web-app_4_0.xsd"/>
+    <xsd:include schemaLocation="jboss-common_8_1.xsd"/>
+
+    <xsd:element name="jboss-web" type="jboss:jboss-webType">
+        <xsd:annotation>
+            <xsd:documentation>
+                This is the root element of jboss-web deployment descriptor.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:simpleType name="jboss-web-versionType">
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="14.0"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="jboss-webType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jboss-web element is the root element of jboss-web.xml file. It contains
+                all the information used by jboss but not described in the web.xml file. All of it is optional.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="deny-uncovered-http-methods" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="executor-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="context-root" type="jboss:context-rootType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="virtual-host" type="jboss:virtual-hostType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="servlet-container" type="jboss:servlet-containerType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="server-instance" type="jboss:server-instanceType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="default-encoding" type="jboss:defaultEncodingType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="session-config" type="javaee:session-configType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="http-handler" type="jboss:httpHandlerType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="overlay" type="jboss:overlayType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="security-domain" type="jboss:web-security-domainType" minOccurs="0"/>
+            <xsd:element name="security-role" type="jboss:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="jacc-star-role-allow" type="jboss:jacc-star-role-allowType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="jacc-context-id" type="jboss:jacc-context-idType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="disable-cross-context" type="jboss:disable-cross-contextType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="use-jboss-authorization" type="jboss:use-jboss-authorizationType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="disable-audit" type="jboss:disable-auditType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="servlet" type="jboss:servletType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="max-active-sessions" type="javaee:xsdIntegerType" minOccurs="0" maxOccurs="1" default="-1">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        Determines the maximum number of sessions to retain in memory. If the application attempts to exceed
+                        this limit, the resulting behavior is determined by the session manager.
+
+                        If the session manager supports passivation, then sessions accessed least recently will be
+                        passivated to make room for new sessions.
+                        If the session manager does not support passivation then any attempt to create more than
+                        max-active-sessions will fail.
+
+                        If undefined, or if set to -1, then no limit is placed on the number of sessions retained in memory,
+                        and sessions will never passivate.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="distinct-name" type="jboss:distinct-nameType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="symbolic-linking-enabled" type="jboss:symbolic-linked-allowedType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="proactive-authentication" type="jboss:proactive-authenticationType" minOccurs="0" maxOccurs="1"/>
+            <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
+            <xsd:element name="enable-websockets" type="jboss:enable-websocketsType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+        <xsd:attribute name="version" type="jboss:jboss-web-versionType" use="required"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="container-listenerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container listener. The module element allows specifying from which
+                module in the application server the specified class will be loaded. The listener type
+                element defines which events the listener will receive from the web container.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="listener-type" type="jboss:container-listener-typeType" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="container-listener-typeType">
+        <xsd:annotation>
+            <xsd:documentation>
+                <![CDATA[
+
+            Sets the type of the container listener:
+                    1 - "LIFECYCLE": webapp lifecycle listener
+                    2 - "CONTAINER": webapp container listener
+                    3 - "SERVLET_INSTANCE": servlet instance listener
+                    4 - "SERVLET_LIFECYCLE": servlet lifecycle listener
+                    5 - "SERVLET_CONTAINER": servlet container (Catalina wrapper) listener
+
+            Example:
+                  <listener-type>LIFECYCLE</listener-type>
+
+            ]]>
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="LIFECYCLE"/>
+                <xsd:enumeration value="CONTAINER"/>
+                <xsd:enumeration value="SERVLET_INSTANCE"/>
+                <xsd:enumeration value="SERVLET_LIFECYCLE"/>
+                <xsd:enumeration value="SERVLET_CONTAINER"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="valveType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container valve. The module element allows specifying from which
+                module in the application server the specified class will be loaded. A container
+                valve is used to intercept the request that will be processed by the servlet. It
+                is invoked as part of a chain, before the invocation of the webapp's filter chain.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="httpHandlerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Defines a web container HTTPHandler. The module element allows specifying from which
+                module in the application server the specified class will be loaded. A handler
+                is used to intercept the request that will be processed by the servlet. It
+                is invoked as part of a chain, before the invocation of the webapp's filter chain.
+
+                The class specified can either be a HttpHandler that has a constructor that takes the
+                next HttpHandler, or can be a HandlerWrapper that produces the next handler.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="overlayType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The overlay element specifies additional static files overlays for this
+                web application. The content of the element should be a folder in the
+                filesystem containing the static files that will overlay the webapp's
+                static files, similar to what happens with regular JAR overlays.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="web-security-domainType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The name of a security-domain that will be used to authenticate and authorize users.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:string">
+                <xsd:attribute name="flushOnSessionInvalidation" type="xsd:boolean" use="optional" default="false">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            Whether the domain's cache should be flushed when the session invalidates.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:attribute>
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="disable-cross-contextType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The disable-cross-context element specifies if cross context
+                access should be enabled for this webapp, allowing it to use the
+                request dispatcher to access other webapps deployed in the
+                application server.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="use-jboss-authorizationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The use-jboss-authorization element specifies if the JBoss
+                authorization layer should be used.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="disable-auditType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The disable-audit element specifies if the security audit logging
+                should be disabled.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="proactive-authenticationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                If this is set to false then authentication will not be performed unless it is required,
+                even if credentials are present.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+    <xsd:complexType name="distinct-nameType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The distinct-name element specifies the EJB 3 distinct name for this
+                web application.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="symbolic-linked-allowedType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The symbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="xsd:boolean"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="jacc-star-role-allowType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jacc-star-role-allow element specifies whether the
+                jacc permission generating agent in the web layer needs to generate a
+                WebResourcePermission(url,null) permission such that the jacc provider can
+                make a decision as to bypass authorization or not.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="jacc-context-idType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The jacc-context-id element allows for the specification of the JACC contextID that should
+                be used to identify the web application when checking for permissions. If not set the deployment
+                unit name is used as JACC contextID.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="context-rootType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The context-root element specifies the context root of a web
+                application. This is normally specified at the ear level using the standard
+                JEE application.xml descriptor, but it may be given here for standalone wars.
+                This should not override the application.xml level specification.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="servlet-containerType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The servlet-container element specifies the which servlet container this application
+                should be using.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+
+    <xsd:complexType name="server-instanceType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The server-instance element specifies the which server instance configuration this application belongs to.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="defaultEncodingType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Default encoding to use for this application
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="virtual-hostType">
+        <xsd:annotation>
+            <xsd:documentation>
+                <![CDATA[
+
+            The virtual-host element allows one to specify which virtual host the war
+            should be deployed to. Example, to specify that a war should be deployed to the
+            www.jboss-store.org virtual host add the following virtual-host element:
+            <virtual-host>www.jboss-store.org</virtual-host>
+
+            ]]>
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="servletType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The servlet element specifies servlet specific bindings. Currently this
+                is only the run-as principal identity.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="servlet-name" type="javaee:string"/>
+            <xsd:element name="executor-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="run-as-principal" type="javaee:role-nameType" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The run-as-principal element specifies whether a specific run-as identity is
+                        to be used. If there is a run-as role defined for a servlet, there can also
+                        be a run-as-principal defined here. If you don't define a run-as principal
+                        the callee will see ctx.getUserPrincipal() == 'anonymous'
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:simpleType name="max-active-sessionsType">
+        <xsd:restriction base="xsd:integer"/>
+    </xsd:simpleType>
+
+    <xsd:complexType name="annotationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The annotation element specifies annotation specific bindings. This allows
+                overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
+                on a Servlet class rather than a Servlet name. They have the same structure
+                and element names as the corresponding annotation.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="class-name" type="javaee:string"/>
+            <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="run-as" type="jboss:run-asType" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="multipart-config" type="jboss:multipart-configType" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="run-asType">
+        <xsd:sequence>
+            <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="role-name" type="javaee:string"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="servlet-securityType">
+        <xsd:sequence>
+            <xsd:element name="empty-role-semantic" type="javaee:string"/>
+            <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+            <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="http-method-constraint" type="jboss:http-method-constraintType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="http-method-constraintType">
+        <xsd:sequence>
+            <xsd:element name="method" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="empty-role-semantic" type="jboss:empty-role-semanticType"/>
+            <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+            <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="empty-role-semanticType">
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="PERMIT"/>
+                <xsd:enumeration value="DENY"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <xsd:complexType name="multipart-configType">
+        <xsd:sequence>
+            <xsd:element name="location" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="max-file-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="max-request-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="file-size-threshold" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="enable-websocketsType">
+        <xsd:annotation>
+            <xsd:documentation>
+                Legacy enable-websockets option. Websockets are enabled by default, this option allows them to be
+                turned off.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:generic-booleanType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd
new file mode 100644
index 0000000..cb34c91
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_4_0_1.dtd
@@ -0,0 +1,469 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<!-- The JBoss specific elements used to integrate the servlet 2.4 web.xml
+elements into a JBoss deployment. This version applies to the JBoss 4.0.x
+releases.
+
+  <!DOCTYPE jboss-web PUBLIC
+    "-//JBoss//DTD Web Application 2.4//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-web_4_0_1.dtd">
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!-- The jboss-web element is the root element.
+-->
+<!ELEMENT jboss-web (class-loading?, security-domain?, context-root?,
+   virtual-host*, use-session-cookies?, replication-config?, resource-env-ref*,
+   resource-ref*, security-role*, ejb-ref*, ejb-local-ref*, 
+   message-destination-ref*, message-destination*, 
+   webservice-description*, service-ref*, depends*, servlet*, authenticators*)>
+
+<!-- The class-loading element allows one to override the default class
+loading behavior of the web container. You can specify the
+Examples:
+   <class-loading java2ClassLoadingCompliance='false'/>
+
+   <class-loading java2ClassLoadingCompliance='false'>
+      <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+         ...
+      </loader-repository>
+   </class-loading>
+-->
+<!ELEMENT class-loading (loader-repository?)>
+<!-- The java2ClassLoadingCompliance attribute indicates if the normal Java2
+parent first class loading model should be used over the servlet 2.3 web
+container first model.
+-->
+<!ATTLIST class-loading java2ClassLoadingCompliance CDATA #IMPLIED>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <class-loading>
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+   </class-loading>
+
+   <class-loading java2ClassLoadingCompliance='false'>
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+   </class-loading>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The context-root element specifies the context root of a web
+application. This is normally specified at the ear level using the standard
+J2EE application.xml descriptor, but it may be given here for standalone wars.
+This should not override the application.xml level specification.
+-->
+<!ELEMENT context-root (#PCDATA)>
+
+<!-- The security-domain element allows one to specify a module wide
+security manager domain. It specifies the JNDI name of the security
+manager that implements the org.jboss.security.AuthenticationManager and
+org.jboss.security.RealmMapping interfaces for the domain.
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!-- The flushOnSessionInvalidation attribute is a boolean indicating whether
+the associated security domain cache should be flushed when the web session is
+invalidated. If true, the security manager service 
+flushAuthenticationCache(String, java.security.Principal) is called when the
+session is seen to be invalid due to expiration or explicit invalidation.
+-->
+<!ATTLIST security-domain flushOnSessionInvalidation (true|false) 'false'>
+
+<!-- The virtual-host element allows one to specify which virtual host the war
+should be deployed to. Example, to specify that a war should be deployed to the
+www.jboss-store.org virtual host add the following virtual-host element:
+   <virtual-host>www.jboss-store.org</virtual-host>
+-->
+<!ELEMENT virtual-host (#PCDATA)>
+
+<!--The resource-env-ref element maps from the servlet ENC relative name
+of the resource-env-ref to the deployment environment JNDI name of
+the administered object resource.
+Example:
+    <resource-env-ref>
+        <resource-env-ref-name>jms/NewsTopic</resource-env-ref-name>
+        <jndi-name>topic/NewsTopic</jndi-name>
+    </resource-env-ref>
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!-- The resource-env-ref-name specifies the name of the web.xml
+resource-env-ref-name element which this mapping applies.
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!--The resource-ref element maps from the servlet ENC relative name
+of the resource-ref to the deployment environment JNDI name of
+the resource manager connection factory.
+Example:
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <jndi-name>java:/DefaultDS</jndi-name>
+    </resource-ref>
+
+    <resource-ref>
+        <res-ref-name>jdbc/TheDataSource</res-ref-name>
+        <res-url>http://x.y.z</res-url>
+    </resource-ref>
+-->
+<!ELEMENT resource-ref (res-ref-name , (jndi-name | res-url))>
+
+<!-- The res-ref-name specifies the name of the web.xml res-ref-name element
+which this mapping applies.
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--
+  The security-role element contains the definition of a security role.
+  The definition consists of an the security role name and principal name element(s).
+
+Used in: jboss-web
+
+Example:
+		<security-role>
+      <role-name>Manager</role-name>
+      <principal-name>j2ee</principal-name>
+      <principal-name>javajoe</principal-name>
+		</security-role>
+-->
+<!ELEMENT security-role (role-name, principal-name+)>
+
+<!--
+  The role-name element is the name of the role.
+
+  Used in: security-role
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+  The principal-name element is the name of the principal that is mapped
+  to the assembly role-name.
+
+  Used in: security-role
+-->
+<!ELEMENT principal-name (#PCDATA)>
+
+<!-- The ejb-ref element maps from the servlet ENC relative name
+of the ejb reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <jndi-name>deployed/ejbs/Bean0</jndi-name>
+    </ejb-ref>
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!-- The ejb-local-ref element maps from the servlet ENC relative name
+of the ejb local reference to the deployment environment JNDI name of
+the bean.
+Example:
+    <ejb-local-ref>
+        <ejb-ref-name>ejb/Bean0</ejb-ref-name>
+        <local-jndi-name>deployed/ejbs/Bean0</local-jndi-name>
+    </ejb-local-ref>
+-->
+<!ELEMENT ejb-local-ref (ejb-ref-name , (local-jndi-name|jndi-name))>
+
+<!-- The ejb-ref-name element gives the ENC relative name used
+in the web.xml ejb-ref-name element.
+
+Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!-- The jndi-name element specifies the JNDI name of the deployed
+object to which the servlet ENC binding will link to via a JNDI
+LinkRef.
+
+Used in: resource-ref, resource-env-ref, ejb-ref, 
+         message-destination-ref, message-destination
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!--
+  The JNDI name under with the local home interface should be bound
+
+  Used in: ejb-local-ref
+-->
+<!ELEMENT local-jndi-name (#PCDATA)>
+
+<!-- The res-url element value is a URL string for a resource-ref of
+res-type = java.net.URL. Using a res-url creates a binding of the URL
+instance under the java:comp/env. If you want to link to another binding
+of a URL, you can use the jndi-name to do so.
+
+// Binds the URL(http://x.y.z) under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>http://x.y.z</res-url>
+</resource-ref>
+// Binds a link to urls/XYZHomePage under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>urls/XYZHomePage</res-url>
+</resource-ref>
+
+   Used in: resource-ref
+-->
+<!ELEMENT res-url (#PCDATA)>
+
+<!--
+  The message-destination-ref element is used to configure the
+  jndi-name for a message-destination-ref in ejb-jar.xml
+
+  Used in: jboss-web
+-->
+<!ELEMENT message-destination-ref (message-destination-ref-name, jndi-name)>
+
+<!--
+  The message-destination-ref-name element identifies the
+  message-destination-ref. It must match the name in ejb-jar.xml
+
+  Used in: message-destination-ref
+-->
+<!ELEMENT message-destination-ref-name (#PCDATA)>
+
+<!--
+  The message-destination element is used to configure the
+  jndi-name for a message-destination in ejb-jar.xml
+
+  Used in: jboss-web
+-->
+<!ELEMENT message-destination (message-destination-name, jndi-name)>
+
+<!--
+  The message-destination-name element identifies the
+  message-destination. It must match the name in ejb-jar.xml
+
+  Used in: message-destination
+-->
+<!ELEMENT message-destination-name (#PCDATA)>
+
+<!-- The depends element gives a JMX ObjectName of a service on which the
+container or ejb depends.
+-->
+<!ELEMENT depends (#PCDATA)>
+
+<!-- The use-session-cookies element controls wether this context uses session cookies
+     or not.
+
+Example:
+     <use-session-cookies>true</use-session-cookies>
+-->
+<!ELEMENT use-session-cookies (#PCDATA)>
+
+
+<!--
+   HTTP Session clustering configuration (optional tags)
+-->
+<!ELEMENT replication-config (replication-trigger?, replication-granularity, replication-field-batch-mode?)>
+
+<!--
+   Clustering only: Determines when the container should consider that a session
+                    must be replicated accross the cluster.
+                    Possible values are:
+                    1 - "SET_AND_GET"
+                    2 - "SET_AND_NON_PRIMITIVE_GET" (default value)
+                    3 - "SET"
+
+   The first option is conservative but not optimal (performance-wise): it will replicate the
+   session even if its content has not been modified but simply accessed. There is no deterministic
+   way to know if the content of an attribute is not itself modified. Consequently, by default, no
+   hypothesis can be done. It is up to the developer to tell us if we can trust this policy.
+
+   The second option is conservative but will only replicate if a non-primitive Object has been
+   accessed (Integer, Long, String, etc. which are immutables). It is the default value.
+
+   The third option considers that the developer will explicitely call setAttribute on the session
+   if it has to be replicated.
+
+Examples:
+         <replication-trigger>SET_AND_GET</replication-trigger>
+      or
+         <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
+      or
+         <replication-trigger>SET</replication-trigger>
+-->
+<!ELEMENT replication-trigger (#PCDATA)>
+
+<!--
+   Clustering only: Determines the session replication granularity level.
+                    Possible values are:
+                    1 - "SESSION" (default)
+                    2 - "ATTRIBUTE"
+                    3 - "FIELD"
+
+   The first option indicates that replication is done per session instance, i.e. when
+   the session is considered modified, the whole session object will be serialized
+   and replicated. This is the preferred policy when the sessions are generally small.
+
+   The second option indicates that replication is performed only for the the dirty
+   attributes in the session, plus some session data, like lastAccessTime. For sessions
+   carrying large amounts of data, parts of which are infrequently accessed,
+   this option can increase replication performance.
+    
+Examples:
+         <replication-granularity>SESSION</replication-granularity>
+      or
+         <replication-granularity>ATTRIBUTE</replication-granularity>
+-->
+<!ELEMENT replication-granularity (#PCDATA)>
+
+<!--
+   Determine whether to batch the replication when the granularity level is set to FIELD.
+   Default is true.
+
+   If this is set to TRUE, that means we will replicate the pojo changes only during the
+   http request is finished. To use this, the JBossCacheAop transaction manager class will
+   need to be configured as BatchModeTransactionManager such that a user can still have
+   UserTransaction inside the http request. However, note that the cache will not particiapte
+   in the UserTransaction in this case.
+
+   If you want cache to participate in the UserTransaction, you can configure the transaction
+   manager class to JBossTransactionManager and set this option to FALSE. The result is for
+   those session attribute changes that are not under transaction will replicate instantaneously,
+   while those particiate under transaction will replicate only when the transaction is
+   completed.
+
+Examples:
+         <replication-field-batch-mode>TRUE</replication-field-batch-mode>
+      or
+         <replication-field-batch-mode>FALSE</replication-field-batch-mode>
+-->
+<!ELEMENT replication-field-batch-mode (true|false)>
+
+<!--
+Runtime information about a web service.
+
+wsdl-publish-location is optionally used to specify
+where the final wsdl and any dependent files should be stored.  This location
+resides on the file system from which deployment is initiated.
+
+-->
+<!ELEMENT webservice-description ( webservice-description-name, config-name?, config-file?, wsdl-publish-location? )>
+
+<!--
+Unique name of a webservice within a module
+-->
+<!ELEMENT webservice-description-name ( #PCDATA )>
+
+<!--
+file: URL of a directory to which a web-service-description's wsdl should be
+published during deployment.  Any required files will be published to this
+directory, preserving their location relative to the module-specific
+wsdl directory(META-INF/wsdl or WEB-INF/wsdl).
+
+Example :
+
+  For an ejb.jar whose webservices.xml wsdl-file element contains
+    META-INF/wsdl/a/Foo.wsdl
+
+  <wsdl-publish-location>file:/home/user1/publish
+  </wsdl-publish-location>
+
+  The final wsdl will be stored in /home/user1/publish/a/Foo.wsdl
+
+-->
+<!ELEMENT wsdl-publish-location ( #PCDATA )>
+
+<!-- The servlet element specifies servlet specific bindings. Currently this
+is only the run-as principal identity.
+
+   Used in: jboss-web
+-->
+<!ELEMENT servlet (servlet-name, run-as-principal?)>
+
+<!-- The servlet-name maps from the web.xml servlet/servlet-name to the
+jboss-web/servlet/servlet-name.
+   Used in: servlet
+-->
+<!ELEMENT servlet-name ( #PCDATA )>
+
+<!--
+  The run-as-principal element specifies whether a specific run-as identity is
+  to be used. If there is a run-as role defined for a servlet, there can also
+  be a run-as-principal defined here. If you don't define a run-as principal
+  the callee will see ctx.getUserPrincipal() == 'anonymous'
+
+  Used in: servlet
+-->
+<!ELEMENT run-as-principal ( #PCDATA )>
+
+<!--
+	Customize the tomcat authenticators at the context or web-app level.
+	These are keyed in by http-auth method specified in login-config in web.xml
+	
+	<authenticators>
+	    <authenticator>
+	      <key>BASIC</key>
+	      <value>org.apache.catalina.authenticator.BasicAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>CLIENT-CERT</key>
+	      <value>org.apache.catalina.authenticator.SSLAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>DIGEST</key>
+	      <value>org.apache.catalina.authenticator.DigestAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>FORM</key>
+	      <value>org.apache.catalina.authenticator.FormAuthenticator</value>
+	    </authenticator>
+	    <authenticator>
+	      <key>NONE</key>
+	      <value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
+	    </authenticator>
+	 </authenticators> 
+-->
+
+<!ELEMENT authenticators (authenticator+)>
+<!ELEMENT authenticator ( key, value )>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd
new file mode 100644
index 0000000..e19ea2b
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss-web_7_3_1.xsd
@@ -0,0 +1,850 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2012, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="http://www.jboss.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="7.3.1">
+
+   <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+
+	This is the XML Schema for the JBoss AS 7.0 web application deployment descriptor.
+	The deployment descriptor must be named "META-INF/jboss-web.xml" in
+	the WAR file.  All JBoss Web deployment descriptors must indicate
+	the JBoss schema by using the Java EE namespace:
+
+        http://www.jboss.com/xml/ns/javaee
+
+	and by indicating the version of the schema using the version element as shown below:
+
+        <jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/schema/jbossas/jboss-web_7_3_1.xsd"
+           version="7.3.1">
+
+	       ...
+
+        </jboss-web>
+
+	Instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for the
+	Java EE namespace with the following location:
+
+	http://www.jboss.org/schema/jbossas/jboss-web_7_3_1.xsd
+
+	]]>
+      </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:annotation>
+      <xsd:documentation> The following conventions apply to all Java EE deployment descriptor
+         elements unless indicated otherwise. - In elements that specify a pathname to a file within
+         the same JAR file, relative filenames (i.e., those not starting with "/") are considered
+         relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting
+         with "/") also specify names in the root of the JAR file's namespace. In general, relative
+         names are preferred. The exception is .war files where absolute names are preferred for
+         consistency with the Servlet API. </xsd:documentation>
+   </xsd:annotation>
+
+   <xsd:import namespace="http://java.sun.com/xml/ns/javaee" schemaLocation="http://www.jboss.org/schema/jbossas/web-app_3_0.xsd"/>
+   <xsd:include schemaLocation="jboss-common_6_0_1.xsd"/>
+
+   <xsd:element name="jboss-web" type="jboss:jboss-webType">
+      <xsd:annotation>
+         <xsd:documentation>
+            This is the root element of jboss-web deployment descriptor.
+         </xsd:documentation>
+      </xsd:annotation>
+   </xsd:element>
+
+  <xsd:simpleType name="jboss-web-versionType">
+      <xsd:restriction base="xsd:token">
+         <xsd:enumeration value="7.4"/>
+      </xsd:restriction>
+  </xsd:simpleType>
+
+   <xsd:complexType name="jboss-webType">
+      <xsd:annotation>
+         <xsd:documentation> The jboss-web element is the root element of jboss-web.xml file. It contains
+            all the information used by jboss but not described in the web.xml file. All of it is optional.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="context-root" type="jboss:context-rootType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="virtual-host" type="jboss:virtual-hostType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="listener" type="jboss:container-listenerType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="session-config" type="javaee:session-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="valve" type="jboss:valveType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="overlay" type="jboss:overlayType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="security-domain" type="jboss:security-domainType" minOccurs="0"/>
+         <xsd:element name="security-role" type="jboss:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="jacc-star-role-allow" type="jboss:jacc-star-role-allowType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="disable-cross-context" type="jboss:disable-cross-contextType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="use-jboss-authorization" type="jboss:use-jboss-authorizationType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="disable-audit" type="jboss:disable-auditType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="servlet" type="jboss:servletType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="max-active-sessions" type="javaee:xsdIntegerType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="replication-config" type="jboss:replication-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="passivation-config" type="jboss:passivation-configType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="distinct-name" type="jboss:distinct-nameType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="symbolic-linking-enabled" type="jboss:symbolic-linked-allowedType" minOccurs="0" maxOccurs="1"/>
+         <xsd:group ref="jboss:jndiEnvironmentRefsGroup"/>
+         <xsd:element name="message-destination" type="jboss:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="webservice-description" type="jboss:webservice-descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="enable-websockets" type="jboss:enable-websocketsType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="version" type="jboss:jboss-web-versionType" use="required"/>
+   </xsd:complexType>
+
+   <xsd:complexType name="container-listenerType">
+      <xsd:annotation>
+         <xsd:documentation>
+            Defines a web container listener. The module element allows specifying from which
+            module in the application server the specified class will be loaded. The listener type
+            element defines which events the listener will recieve from the web container.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="listener-type" type="jboss:container-listener-typeType" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="container-listener-typeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Sets the type of the container listener:
+                    1 - "LIFECYCLE": webapp lifecycle listener
+                    2 - "CONTAINER": webapp container listener
+                    3 - "SERVLET_INSTANCE": servlet instance listener
+                    4 - "SERVLET_LIFECYCLE": servlet lifecyle listener
+                    5 - "SERVLET_CONTAINER": servlet container (Catalina wrapper) listener
+
+            Example:
+                  <listener-type>LIFECYCLE</listener-type>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="LIFECYCLE"/>
+            <xsd:enumeration value="CONTAINER"/>
+            <xsd:enumeration value="SERVLET_INSTANCE"/>
+            <xsd:enumeration value="SERVLET_LIFECYCLE"/>
+            <xsd:enumeration value="SERVLET_CONTAINER"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="valveType">
+      <xsd:annotation>
+         <xsd:documentation>
+            Defines a web container valve. The module element allows specifying from which
+            module in the application server the specified class will be loaded. A container
+            valve is used to intercept the request that will be processed by the servlet. It
+            is invoked as part of a chain, before the invocation of the webapp's filter chain.
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+         <xsd:element name="module" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="param" type="javaee:param-valueType" minOccurs="0" maxOccurs="unbounded"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="overlayType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The overlay element specifies additional static files overlays for this
+            web application. The content of the element should be a folder in the
+            filesystem containing the static files that will overlay the webapp's
+            static files, similar to what happens with regular JAR overlays.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="disable-cross-contextType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The disable-cross-context element specifies if cross context
+            access should be enabled for this webapp, allowing it to use the
+            request dispatcher to access other webapps deployed in the
+            application server.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="use-jboss-authorizationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The use-jboss-authorization element specifies if the JBoss
+            authorization layer should be used.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="disable-auditType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The disable-audit element specifies if the security audit logging
+            should be disabled.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="distinct-nameType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The distinct-name element specifies the EJB 3 distinct name for this
+            web application.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="symbolic-linked-allowedType">
+       <xsd:annotation>
+          <xsd:documentation>
+             The symbolic-linked-allowed element specifies if symlinking is allowed in exploded deployments.
+          </xsd:documentation>
+       </xsd:annotation>
+       <xsd:simpleContent>
+          <xsd:restriction base="xsd:boolean"/>
+       </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="jacc-star-role-allowType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The jacc-star-role-allow element specifies whether the
+            jacc permission generating agent in the web layer needs to generate a
+            WebResourcePermission(url,null) permission such that the jacc provider can
+            make a decision as to bypass authorization or not.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="context-rootType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The context-root element specifies the context root of a web
+            application. This is normally specified at the ear level using the standard
+            JEE application.xml descriptor, but it may be given here for standalone wars.
+            This should not override the application.xml level specification.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="virtual-hostType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The virtual-host element allows one to specify which virtual host the war
+            should be deployed to. Example, to specify that a war should be deployed to the
+            www.jboss-store.org virtual host add the following virtual-host element:
+            <virtual-host>www.jboss-store.org</virtual-host>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-configType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            HTTP Session clustering configuration (optional tags)
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="cache-name" type="jboss:cache-nameType" minOccurs="0"/>
+         <xsd:element name="replication-trigger" type="jboss:replication-triggerType" minOccurs="0"/>
+         <xsd:element name="replication-granularity" type="jboss:replication-granularityType" minOccurs="0"/>
+         <xsd:element name="replication-mode" type="jboss:replication-modeType" minOccurs="0"/>
+         <xsd:element name="backups" type="jboss:backupsType" minOccurs="0"/>
+         <xsd:element name="use-jk" type="jboss:use-jkType" minOccurs="0"/>
+         <xsd:element name="max-unreplicated-interval" type="jboss:max-unreplicated-intervalType" minOccurs="0"/>
+         <xsd:element name="snapshot-mode" type="jboss:snapshot-modeType" minOccurs="0"/>
+         <xsd:element name="snapshot-interval" type="jboss:snapshot-intervalType" minOccurs="0"/>
+         <xsd:element name="session-notification-policy" type="jboss:session-notification-policyType" minOccurs="0"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="cache-nameType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Name of the JBoss Cache or PojoCache configuration that
+            should be used for storing distributable sessions and replicating them around the
+            cluster.
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-triggerType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines when the container should consider that a session
+            must be replicated across the cluster.
+            Possible values are:
+               1 - "ACCESS"
+               2 - "SET_AND_GET"
+               3 - "SET_AND_NON_PRIMITIVE_GET" (default value)
+               4 - "SET"
+
+            The rationale for this setting is that after a mutable object stored as a session attribute
+            is accessed from the session, in the absence of a setAttribute call the container has no
+            clear way to know if the object (and hence the session state) has been modified.
+
+            In all cases, calling setAttribute marks the session as needing replication.
+
+            ACCESS - merely accessing the session marks the session as dirty.
+
+            SET_AND_GET is conservative but not optimal (performance-wise): it will always replicate the
+            session even if its content has not been modified but simply accessed.
+
+            SET_AND_NON_PRIMITIVE_GET is conservative but will only replicate if a non-primitive Object
+            has been accessed (i.e. the object is not of a well-known immutable JDK type such as Integer,
+            Long, String, etc.) This is the default value.
+
+            SET assumes that the developer will explicitly call setAttribute on the session
+            if it needs to be replicated. This setting prevents unnecessary replication, but requires very
+            good coding practices to ensure setAttribute is always called whenever an attribute value
+            is modified.
+
+            Examples:
+                  <replication-trigger>SET_AND_GET</replication-trigger>
+               or
+                  <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
+               or
+                  <replication-trigger>SET</replication-trigger>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="ACCESS"/>
+            <xsd:enumeration value="SET_AND_GET"/>
+            <xsd:enumeration value="SET_AND_NON_PRIMITIVE_GET"/>
+            <xsd:enumeration value="SET"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-granularityType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the session replication granularity level.
+            Possible values are:
+                    1 - "SESSION" (default)
+                    2 - "ATTRIBUTE"
+
+            The first option indicates that replication is done per session instance, i.e. when
+            the session is considered modified, the whole session object will be serialized
+            and replicated. This is the preferred policy when the sessions are generally small.
+
+            The second option indicates that replication is performed only for the the dirty
+            attributes in the session, plus some session data, like lastAccessTime. For sessions
+            carrying large amounts of data, parts of which are infrequently accessed,
+            this option can increase replication performance.
+
+            A third option, "FIELD" was available in AS 4.x and AS 5.x, but it
+            is not supported by AS 6.
+
+            Examples:
+                  <replication-granularity>SESSION</replication-granularity>
+               or
+                  <replication-granularity>ATTRIBUTE</replication-granularity>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="SESSION"/>
+            <xsd:enumeration value="ATTRIBUTE"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="replication-modeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the session replication mode.
+            Possible values are:
+                1 - "SYNCHRONOUS"
+                2 - "ASYNCHRONOUS"
+
+            In SYNCHRONOUS mode, session replication occurs in the same thread that processes a given
+            request.  A request will not complete until the associated session is successfully replicated.
+
+            In ASYNCHRONOUS mode, session replication occurs in a separate thread from the one that processes
+            a given request.  The request thread only initiates replication, but does not wait for it to complete.
+
+            If not defined, the replication mode defined in the distributed cache configuration will be used.
+            In the default distributed session cache configuration, sessions replicate asynchronously.
+
+            Examples:
+                  <replication-mode>SYNCHRONOUS</replication-mode>
+               or
+                  <replication-mode>ASYNCHRONOUS</replication-mode>
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="SYNCHRONOUS"/>
+            <xsd:enumeration value="ASYNCHRONOUS"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="backupsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines the number of backup nodes on which to replicate
+            a given session.
+
+            Possible values are:
+                > 0 : Session will be replicated to *all* nodes (i.e. total replication)
+                  0 : Session will not be replicated (i.e. local mode)
+                < 0 : Session will be replicated only to the specified number of nodes (i.e. distribution mode)
+
+            Default value, if not explicitly set, is taken from the distributed cache
+            configuration.  By default, this is -1, i.e. total replication.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="use-jkType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Whether the container should assume mod_jk is used for
+            load balancing for this webapp. If set to 'true', the container will examine
+            the session id associated with every request and replace the JvmRoute portion of
+            the session id if it detects a failover. In addition, for each host you will
+            need to set a unique JvmRoute inside the server.xml file, e.g.,
+
+            <Engine name="jboss.web" jvmRoute="Node1" defaultHost="localhost">
+               ...
+            </Engine>
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "false".
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="max-unreplicated-intervalType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the maximum interval between requests, in
+            seconds, after which a request will trigger replication of the session's
+            timestamp and other metadata regardless of whether the request has otherwise
+            made the session dirty.  Such replication ensures that other nodes in the
+            cluster are aware of the most recent value for the session's timestamp
+            and won't incorrectly expire an unreplicated session upon failover. It also
+            results in correct values for HttpSession.getLastAccessedTime() calls
+            following failover.
+
+            The cost of this metadata replication depends on the configured
+            replication-granularity. With <code>SESSION</code>, the session's
+            attribute map is replicated along with the metadata, so it can be fairly
+            costly.  With other granularities, the metadata object is replicated
+            separately from the attributes and only contains a String, and a few longs,
+            ints and booleans.
+
+            A value of 0 means the metadata will be replicated whenever the session is
+            accessed.  A value of -1 means the metadata will be replicated only if some
+            other activity during the request (e.g. modifying an attribute) has
+            resulted in other replication work involving the session. A positive value
+            greater than the HttpSession.getMaxInactiveInterval() value will be treated
+            as a likely misconfiguration and converted to 0; i.e. replicate the
+            metadata on every request.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="snapshot-modeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines when the sessions are replicated to the other nodes.
+            The typical value, "instant", replicates changes to the other nodes at the end
+            of requests, using the request processing thread to perform the replication.
+            In this case, the "snapshot-interval" property is ignored.
+            With "interval" mode, a background process is created that runs every
+            "snapshot-interval" milliseconds, checking for modified sessions and replicating
+            them.
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "instant".
+
+            Note that this property has no effect if replication-granularity
+            is set to FIELD. If it is FIELD, "instant" mode will be used.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="INSTANT"/>
+            <xsd:enumeration value="FIELD"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="snapshot-intervalType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Defines how often (in milliseconds) the background
+            process that replicates modified sessions should be started for this
+            web app.  Only meaningful if snapshot-mode is set to "interval".
+
+            Default value if not explicitly set is the overall web container default
+            as set in the deployers/jbossweb.deployer service. By default that is set
+            to "1000".
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="session-notification-policyType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Fully qualified class name of the implementation of the
+            org.jboss.web.tomcat.service.session.notification.ClusteredSessionNotificationPolicy
+            interface that should be used to govern whether servlet specification
+            notifications should be emitted to any registered HttpSessionListener,
+            HttpSessionAttributeListener and/or HttpSessionBindingListener.
+            Event notifications that may make sense in a non-clustered environment
+            may or may not make sense in a clustered environment; configuring an
+            appropriate ClusteredSessionNotificationPolicy gives the application
+            author fine-grained control over what notifications are issued.
+
+            Default value if not explicitly set is the
+            org.jboss.web.tomcat.service.session.notification.IgnoreUndeployLegacyClusteredSessionNotificationPolicy.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:fully-qualified-classType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:complexType name="servletType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The servlet element specifies servlet specific bindings. Currently this
+            is only the run-as principal identity.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="servlet-name" type="javaee:string"/>
+         <xsd:element name="run-as-principal" type="javaee:role-nameType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  The run-as-principal element specifies whether a specific run-as identity is
+                  to be used. If there is a run-as role defined for a servlet, there can also
+                  be a run-as-principal defined here. If you don't define a run-as principal
+                  the callee will see ctx.getUserPrincipal() == 'anonymous'
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+         <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:simpleType name="max-active-sessionsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines the max number of active sessions allowed.
+            If the number of sessions managed by the the session manager exceeds this value and
+            passivation is enabled, the excess will be passivated based on the configured
+            passivation-min-idle-time.
+            If after passivation is completed (or if passivation is disabled), the number of
+            active sessions still exceeds this limit, attempts to create new sessions
+            will be rejected.
+            If set to -1, means no limit
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="passivation-configType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: HTTP Session passivation configuration.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+
+      <xsd:sequence>
+         <xsd:element name="use-session-passivation" type="jboss:use-session-passivationType" minOccurs="0"/>
+         <xsd:element name="passivation-min-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  <![CDATA[
+
+                  Determines the minimum time (in seconds) that a session must have been inactive
+                  before the container will consider passivating it in order to reduce the
+                  active session count below max-active-sessions.
+                  A value of -1 (the default) disables passivating sessions before
+                  passivation-max-idle-time.  Neither a value of -1 nor a high
+                  value are recommended if max-active-sessions is set
+
+                  Example:
+                     <passivation-min-idle-time>30</passivation-min-idle-time> (seconds)
+
+                  ]]>
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+         <xsd:element name="passivation-max-idle-time" type="jboss:passivation-idle-timeType" minOccurs="0">
+            <xsd:annotation>
+               <xsd:documentation>
+                  <![CDATA[
+
+                  Determines the maximum time (in seconds) that a session can be inactive before
+                  the container should attempt to passivate it to save memory. Passivation of such
+                  sessions will take place regardless of whether the active session count exceeds
+                  max-active-sessions.
+                  Should be less than the web.xml session-timeout setting.
+                  A value of -1 disables passivation based on maximum inactivity.
+
+                  Example:
+                     <passivation-max-idle-time>300</passivation-max-idle-time> (seconds)
+
+                  ]]>
+               </xsd:documentation>
+            </xsd:annotation>
+         </xsd:element>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="use-session-passivationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Clustering only: Determines whether the web application should use session passivation or not
+
+            Examples:
+                  <use-session-passivation>true</use-session-passivation>
+               or
+                  <use-session-passivation>false</use-session-passivation> (default value)
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+   <xsd:simpleType name="passivation-idle-timeType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            Determines the time (in seconds) that a session can be inactive before
+            the container should attempt to passivate it.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:restriction base="xsd:integer"/>
+   </xsd:simpleType>
+
+   <xsd:complexType name="annotationType">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+
+            The annotation element specifies annotation specific bindings. This allows
+            overriding the @ServletSecurity, @RunAs and @MultipartConfig, which apply
+            on a Servlet class rather than a Servlet name. They have the same structure
+            and element names as the corresponding annotation.
+
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:sequence>
+         <xsd:element name="class-name" type="javaee:string"/>
+         <xsd:element name="servlet-security" type="jboss:servlet-securityType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="run-as" type="jboss:run-asType" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="multipart-config" type="jboss:multipart-configType" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="run-asType">
+    <xsd:sequence>
+      <xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="role-name" type="javaee:string"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="servlet-securityType">
+    <xsd:sequence>
+      <xsd:element name="empty-role-semantic" type="javaee:string"/>
+      <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+      <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="http-method-constraint" type="jboss:http-method-constraintType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="http-method-constraintType">
+    <xsd:sequence>
+      <xsd:element name="method" type="javaee:string" minOccurs="1" maxOccurs="1"/>
+      <xsd:element name="empty-role-semantic" type="jboss:empty-role-semanticType"/>
+      <xsd:element name="transport-guarantee" type="javaee:transport-guaranteeType"/>
+      <xsd:element name="roles-allowed" type="javaee:role-nameType" minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+   </xsd:complexType>
+
+   <xsd:complexType name="empty-role-semanticType">
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:string">
+            <xsd:enumeration value="PERMIT"/>
+            <xsd:enumeration value="DENY"/>
+         </xsd:restriction>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+  <xsd:complexType name="multipart-configType">
+    <xsd:sequence>
+      <xsd:element name="location" type="javaee:string" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="max-file-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="max-request-size" type="xsd:long" minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="file-size-threshold" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+  
+  <xsd:complexType name="enable-websocketsType">
+      <xsd:annotation>
+         <xsd:documentation>
+            The enable-websockets element specifies if websockets
+            access should be enabled for this webapp. Java version should be at least
+             1.7 for this to work.
+         </xsd:documentation>
+      </xsd:annotation>
+      <xsd:simpleContent>
+         <xsd:restriction base="javaee:generic-booleanType"/>
+      </xsd:simpleContent>
+   </xsd:complexType>
+
+</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd
new file mode 100644
index 0000000..928a0e6
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jboss_4_0_1.dtd
@@ -0,0 +1,1735 @@
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2019, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<!--
+$Id: jboss_4_0.dtd 73541 2008-05-20 22:17:16Z alex.loubyansky@jboss.com $
+
+This is the XML DTD for the JBoss 4.0 EJB deployment descriptor.
+The DOCTYPE is:
+
+  <!DOCTYPE jboss PUBLIC
+      "-//JBoss//DTD JBOSS 4.0//EN"
+      "http://www.jboss.org/dtd/jbossas/jboss_4_0_1.dtd">
+
+Overview of the architecture of jboss.xml
+
+<jboss>
+
+  <enforce-ejb-restrictions />
+  <security-domain />
+  <unauthenticated-principal />
+  <webservices>
+    <context-root>
+    <webservice-description>
+      <webservice-description-name>
+      <wsdl-publish-location>
+    </webservice-description>
+  <webservices>
+
+  <enterprise-beans>
+
+    <entity>
+      <ejb-name />
+      <jndi-name />
+      <local-jndi-name />
+      <call-by-value>
+      <read-only>
+      <call-by-value>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <ejb-local-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+        <res-ref-name />
+        <resource-name />
+      </resource-ref>
+      <resource-env-ref>
+      <clustered />
+      <cluster-config>
+    </entity>
+
+    <session>
+      <ejb-name />
+      <jndi-name />
+      <local-jndi-name />
+      <call-by-value>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <ejb-local-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+        <res-ref-name />
+        <resource-name />
+      </resource-ref>
+      <resource-env-ref>
+      <clustered />
+      <cluster-config>
+      <port-component>
+        <port-component-name>
+        <port-component-uri>
+        <auth-method>
+        <transport-guarantee>
+      </port-component>
+    </session>
+
+    <message-driven>
+      <ejb-name>
+      <destination-jndi-name>
+      <mdb-user>
+      <mdb-passwd>
+      <mdb-client-id>
+      <mdb-subscription-id>
+      <resource-adapter-name>
+      <configuration-name>
+      <security-proxy>
+      <ejb-ref>
+      <service-ref>
+      <security-identity>
+        <run-as-principal>
+      </security-identity>
+      <resource-ref>
+      <resource-env-ref>
+    </message-driven>
+
+  </enterprise-beans>
+
+  <assembly-descriptor>
+    <security-role>
+      <role-name>
+      <principal-name>
+    </security-role>
+  </assembly-descriptor>
+
+  <resource-managers>
+
+    <resource-manager>
+      <res-name />
+      <res-jndi-name />
+    </resource-manager>
+
+    <resource-manager>
+      <res-name />
+      <res-url />
+    </resource-manager>
+
+  </resource-managers>
+
+  <container-configurations>
+
+    <container-configuration>
+      <container-name />
+      <call-logging />
+      <invoker-proxy-binding-name />
+      <sync-on-commit-only />
+      <insert-after-ejb-post-create />
+      <call-ejb-store-on-clean />
+      <store-not-flushed />
+      <container-interceptors />
+      <instance-pool />
+      <instance-cache />
+      <persistence-manager />
+      <web-class-loader />
+      <locking-policy />
+      <container-cache-conf />
+      <container-pool-conf />
+      <commit-option />
+      <optiond-refresh-rate />
+      <security-domain />
+      <cluster-config />
+      <depends />
+    </container-configuration>
+
+  </container-configurations>
+
+</jboss>
+-->
+
+<!ENTITY % service-ref PUBLIC
+   "-//JBoss//DTD Web Service Reference 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/service-ref_4_0_1.dtd">
+  
+%service-ref;
+
+<!--
+  The jboss element is the root element of the jboss.xml file. It
+  contains all the information used by jboss but not described in the
+  ejb-jar.xml file. All of it is optional.
+
+  1- the application assembler can define custom container configurations
+     for the beans. Standard configurations are provided in standardjboss.xml
+  2- the deployer can override the jndi names under which the beans are deployed
+  3- the deployer can specify runtime jndi names for resource managers.
+
+-->
+<!ELEMENT jboss (loader-repository?, jmx-name?, enforce-ejb-restrictions?,
+ security-domain?, missing-method-permissions-excluded-mode?,
+ unauthenticated-principal?, exception-on-rollback?,
+ webservices?, enterprise-beans?, assembly-descriptor?,
+ resource-managers?, invoker-proxy-bindings?, container-configurations?)>
+
+<!-- The loader-repository specifies the name of the UnifiedLoaderRepository
+   MBean to use for the ear to provide ear level scoping of classes deployed
+   in the ear. It is a unique JMX ObjectName string. It may also specify
+   an arbitrary configuration by including a loader-repository-config element.
+
+Examples:
+   <loader-repository>jboss.test:loader=cts-cmp2v1-sar.ear</loader-repository>
+
+   <loader-repository loaderRepositoryClass='dot.com.LoaderRepository'>
+      dot.com:loader=unique-archive-name
+      <loader-repository-config configParserClass='dot.com.LoaderParser'>
+         java2ParentDelegaton=true
+      </loader-repository-config>
+   </loader-repository>
+-->
+<!ELEMENT loader-repository (#PCDATA | loader-repository-config)*>
+
+<!-- The loaderRepositoryClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepository implementation.
+-->
+<!ATTLIST loader-repository loaderRepositoryClass CDATA #IMPLIED>
+
+<!-- The loader-repository-config element specifies any arbitrary configuration
+fragment for use in configuring the loader-repository instance. The actual
+content of this element is specific to the loaderRepositoryClass and the
+code parsing the element.
+-->
+<!ELEMENT loader-repository-config (#PCDATA)>
+
+<!-- The configParserClass attribute gives the classname of the
+org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfigParser
+implementation to use to parse the loader-repository-config content.
+-->
+<!ATTLIST loader-repository-config configParserClass CDATA #IMPLIED>
+
+<!-- The jmx-name element allows one to specify the JMX ObjectName to use
+for the MBean associated with the ejb-jar module. This must be a unique
+name and valid JMX ObjectName string.
+
+   Used in: jboss
+-->
+<!ELEMENT jmx-name (#PCDATA)>
+
+<!--
+  The enforce-ejb-restrictions element tells the container to enforce ejb1.1 restrictions
+  It must be one of the following :
+    <enforce-ejb-restrictions>true</enforce-ejb-restrictions>
+    <enforce-ejb-restrictions>false</enforce-ejb-restrictions>
+
+  Used in: jboss
+-->
+<!ELEMENT enforce-ejb-restrictions (#PCDATA)>
+
+<!--
+  The security-domain element specifies the JNDI name of the security
+  manager that implements the EJBSecurityManager and RealmMapping for
+  the domain. When specified at the jboss level it specifies the security
+  domain for all j2ee components in the deployment unit.
+  One can override the global security-domain at the container
+  level using the security-domain element at the container-configuration
+  level.
+
+  Used in: jboss, container-configuration
+-->
+<!ELEMENT security-domain (#PCDATA)>
+
+<!-- The missing-method-permissions-excluded-mode determines the treatment
+of missing method-permission mappings in the ejb-jar descriptor. The ejb 2.1
+spec states: "It is possible that some methods are not assigned to any security
+roles nor contained in the exclude-list element. In this case, it is the
+responsibility of the Deployer to assign method permissions for all of the
+unspecified methods, either by assigning them to security roles, or by marking
+them as unchecked." The missing-method-permissions-excluded-mode is a boolean
+that allows the deployer to globally indicate that all methods without a
+method-permission element should be treated as excluded(= true and the default),
+or that methods without a method-permission element should be treated as
+unchecked(= false)
+
+<missing-method-permissions-excluded-mode>true</missing-method-permissions-excluded-mode>
+<missing-method-permissions-excluded-mode>false</missing-method-permissions-excluded-mode>
+
+-->
+<!ELEMENT missing-method-permissions-excluded-mode (#PCDATA)>
+
+<!--
+  The unauthenticated-principal element specifies the name of the principal
+  that will be returned by the EJBContext.getCallerPrincipal() method if there
+  is no authenticated user. This Principal has no roles or privaledges to call
+  any other beans.
+-->
+<!ELEMENT unauthenticated-principal (#PCDATA)>
+
+<!-- The invoker-proxy-bindings defines the invokers available for use with
+the ejb container configurations.
+-->
+<!ELEMENT invoker-proxy-bindings (invoker-proxy-binding*)>
+
+<!-- The invoker-proxy-binding defines an invoker service and proxy factory
+-->
+<!ELEMENT invoker-proxy-binding (name, invoker-mbean, proxy-factory, proxy-factory-config)>
+
+<!-- The name gives a unique name for the invoker-proxy-binding
+-->
+<!ELEMENT name (#PCDATA)>
+
+<!-- The invoker-mbean gives the JMX ObjectName of the invoker MBean service
+-->
+<!ELEMENT invoker-mbean (#PCDATA)>
+
+<!-- The org.jboss.ejb.EJBProxyFactory implementation class
+-->
+<!ELEMENT proxy-factory (#PCDATA)>
+
+<!-- The proxy-factory-config defines the client-interceptors stack
+and other configuration options to use for the various EJB proxies.
+-->
+<!ELEMENT proxy-factory-config (client-interceptors?, endpoint-interceptors? , web-class-loader? ,
+activation-config?, JMSProviderAdapterJNDI? , ServerSessionPoolFactoryJNDI? , 
+CreateJBossMQDestination? , MinimumSize? , MaximumSize? ,
+KeepAliveMillis? , MaxMessages? , MDBConfig? , poa? , register-ejbs-in-jnp-context? , 
+jnp-context? , interface-repository-supported?)>
+
+<!--
+  The jndi name of the jms provider adapter in the java:/ namespace.
+  This is mandatory for an MDB and must implement
+  org.jboss.jms.jndi.JMSProviderAdapter
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT JMSProviderAdapterJNDI (#PCDATA)>
+
+<!--
+  The jndi name of the session pool in the java:/ namespace.
+  This is mandatory for an MDB and must implement
+  org.jboss.jms.asf.ServerSessionPoolFactory
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT ServerSessionPoolFactoryJNDI (#PCDATA)>
+
+<!--
+  Whether to create destinations in JBossMQ if the
+  destination cannot be found.
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT CreateJBossMQDestination (#PCDATA)>
+
+<!--
+  The maximum number of messages parameter for the mdb's
+  connection consumer.
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT MaxMessages (#PCDATA)>
+
+<!--
+  Configuration for the MDB
+
+  Used in: proxy-factory-config for JMSContainerInvoker
+-->
+<!ELEMENT MDBConfig (ReconnectIntervalSec , DeliveryActive? , DLQConfig?)>
+
+<!--
+  The time to wait (in seconds) before trying to recover
+  the connection to the JMS server.
+
+  Used in: MDBConfig
+-->
+<!ELEMENT ReconnectIntervalSec (#PCDATA)>
+
+<!--
+  Whether delivery of messages is active at startup,
+  valid values are "True" or "False".
+
+  Used in: MDBConfig
+-->
+<!ELEMENT DeliveryActive (#PCDATA)>
+
+<!--
+  Configuration for an MDB's dead letter queue, used
+  when messages are redelivered too many times.
+
+  Used in: MDBConfig
+-->
+<!ELEMENT DLQConfig (DestinationQueue , MaxTimesRedelivered , TimeToLive, DLQUser?,  DLQPassword?)>
+
+<!--
+  The jndi name of the queue to use as the dead letter queue.
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DestinationQueue (#PCDATA)>
+
+<!--
+  The maximum number of times a message is redelivered before it
+  is placed in the dead letter queue.
+
+  Used in: DLQConfig
+-->
+<!ELEMENT MaxTimesRedelivered (#PCDATA)>
+
+<!--
+  The time-to-live of the message in the dead letter queue.
+  See javax.jms.Message
+
+  Used in: DLQConfig
+-->
+<!ELEMENT TimeToLive (#PCDATA)>
+
+<!--
+  The user for the dlq connection
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DLQUser (#PCDATA)>
+
+<!--
+  The password for the dlq connection
+
+  Used in: DLQConfig
+-->
+<!ELEMENT DLQPassword (#PCDATA)>
+
+<!--
+  The portable object adapter usage, one of
+  <poa>per-servent</poa>
+  <poa>shared</poa>
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT poa (#PCDATA)>
+
+<!--
+  Whether to register ejbs in jnp (jndi)
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT register-ejbs-in-jnp-context (#PCDATA)>
+
+<!--
+  The jndi context in which to register ejbs
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT jnp-context (#PCDATA)>
+
+<!--
+  Whether a deployed ejb has its own CORBA interface repository or not
+
+  Used in: proxy-factory-config for IORFactory
+-->
+<!ELEMENT interface-repository-supported (#PCDATA)>
+
+<!--
+  The enterprise-beans element contains additional information about
+  the beans. These informations, such as jndi names, resource managers and
+  container configurations, are specific to jboss and not described in
+  ejb-jar.xml.
+
+  jboss will provide a standard behaviour if no enterprise-beans element
+  is found, see container-configurations, jndi-name and resource-managers
+  for defaults.
+
+  Used in: jboss
+-->
+<!ELEMENT webservices (context-root?, webservice-description*)>
+
+<!-- The context-root element specifies the context root of the web
+application that the EJB service endpoints are deployed to. 
+If it is not specified it will be derived from the deployment short name.
+-->
+<!ELEMENT context-root (#PCDATA)>
+
+<!--
+Runtime information about a web service.
+wsdl-publish-location is optionally used to specify
+where the final wsdl and any dependent files should be stored.  This location
+resides on the file system from which deployment is initiated.
+-->
+<!ELEMENT webservice-description ( webservice-description-name, config-name?, config-file?, wsdl-publish-location? )>
+
+<!--
+Unique name of a webservice within a module. It corresponds to the <webservice-description-name>
+element in webservices.xml
+-->
+<!ELEMENT webservice-description-name ( #PCDATA )>
+
+<!--
+file: URL of a directory to which a web-service-description's wsdl should be
+published during deployment.  Any required files will be published to this
+directory, preserving their location relative to the module-specific
+wsdl directory(META-INF/wsdl or WEB-INF/wsdl).
+Example :
+  For an ejb.jar whose webservices.xml wsdl-file element contains
+    META-INF/wsdl/a/Foo.wsdl
+  <wsdl-publish-location>file:/home/user1/publish
+  </wsdl-publish-location>
+  The final wsdl will be stored in /home/user1/publish/a/Foo.wsdl
+-->
+<!ELEMENT wsdl-publish-location ( #PCDATA )>
+
+<!--
+  The enterprise-beans element contains additional information about
+  the beans. These informations, such as jndi names, resource managers and
+  container configurations, are specific to jboss and not described in
+  ejb-jar.xml.
+  jboss will provide a standard behaviour if no enterprise-beans element
+  is found, see container-configurations, jndi-name and resource-managers
+  for defaults.
+  Used in: jboss
+-->
+<!ELEMENT enterprise-beans ((session | entity | message-driven)*)>
+
+<!--
+  The entity element holds information specific to jboss and not declared
+  in ejb-jar.xml about an entity bean, such as jndi name, container
+  configuration, and resource managers. (see tags for details)
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT entity (ejb-name , jndi-name? , local-jndi-name? , call-by-value?, read-only?,
+ exception-on-rollback?, timer-persistence?, configuration-name? , invoker-bindings?,
+ security-proxy? , ejb-ref* , ejb-local-ref* , service-ref*, security-identity? ,
+ resource-ref* , resource-env-ref*, message-destination-ref* , method-attributes? ,
+ clustered? , cluster-config?, cache-invalidation? , cache-invalidation-config?,
+ depends*, ior-security-config?)>
+<!-- Allow the entity to have a unique id -->
+<!ATTLIST entity id ID #IMPLIED>
+<!--
+  The session element holds information specific to jboss and not declared
+  in ejb-jar.xml about a session bean, such as jndi name, container
+  configuration, and resource managers. (see tags for details)
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT session (ejb-name , jndi-name? , local-jndi-name?, call-by-value?,
+ exception-on-rollback?, timer-persistence?, configuration-name?, invoker-bindings?,
+ security-proxy? , ejb-ref* ,  ejb-local-ref* , service-ref*, security-identity? ,
+ resource-ref* , resource-env-ref*, message-destination-ref* , clustered? ,
+ cluster-config?, method-attributes?, depends*,
+ ior-security-config?, port-component*,  ejb-timeout-identity?)>
+<!-- Allow the session to have a unique id -->
+<!ATTLIST session id ID #IMPLIED>
+
+<!--
+  The message-driven element holds information specific to jboss and not declared
+  in ejb-jar.xml about a message-driven bean, such as container
+  configuration and resources.
+  The bean should already be declared in ejb-jar.xml, with the same
+  ejb-name.
+
+  Used in: enterprise-beans
+-->
+<!ELEMENT message-driven (ejb-name , activation-config?, destination-jndi-name? ,
+ local-jndi-name?,
+ mdb-user?,  mdb-passwd? , mdb-client-id? , mdb-subscription-id? , resource-adapter-name? ,
+ exception-on-rollback?, timer-persistence?, configuration-name? , invoker-bindings?,
+ security-proxy? , ejb-ref* ,  ejb-local-ref*, service-ref*, security-identity?, resource-ref*,
+ resource-env-ref*, message-destination-ref*, depends*, ior-security-config?,
+ ejb-timeout-identity?)>
+<!-- Allow the message-driven to have a unique id -->
+<!ATTLIST message-driven id ID #IMPLIED>
+
+<!--
+  The ejb-name element gives the name of the bean, it must correspond to
+  an ejb-name element in ejb-jar.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-name (#PCDATA)>
+
+<!--
+  The jndi-name element gives the actual jndi name under which
+  the bean will be deployed when used in the entity, session and
+  message-driven elements. If it is not provided jboss will assume
+  "jndi-name" = "ejb-name"
+
+  When used in the ejb-ref,  ejb-local-ref, resource-ref, resource-env-ref, 
+  message-destination-ref, message-destination elements this specifies the jndi name to 
+  which the reference should link.
+
+  Used in: entity, session and message-driven
+    ejb-ref, resource-ref, resource-env-ref
+-->
+<!ELEMENT jndi-name (#PCDATA)>
+
+<!--
+  The JNDI name under with the local home interface should be bound
+
+  Used in: entity and session
+-->
+<!ELEMENT local-jndi-name (#PCDATA)>
+
+<!--
+  Determine if the bean should use by value call semantics
+
+  Used in: entity and session
+-->
+<!ELEMENT call-by-value (#PCDATA)>
+
+<!--
+  The read-only element flags an entity bean as read only.
+  The bean will never be ejbStored. Defaults to false.
+  It must be one of the following :
+    <read-only>true</read-only>
+    <read-only>false</read-only>
+
+  Used in: entity
+-->
+<!ELEMENT read-only (#PCDATA)>
+
+<!--
+  Whether to throw an exception if the CMT controlled
+  transaction is no longer active (e.g. marked rollback)
+  but the application has not itself thrown an exception.
+  If the bean specifies false, it uses the
+  jboss/exception-on-rollback config.
+  Defaults to false.
+  It must be one of the following :
+    <exception-on-rollback>true</exception-on-rollback>
+    <exception-on-rollback>false</exception-on-rollback>
+
+  Used in: jboss, session, entity and message-driven
+-->
+<!ELEMENT exception-on-rollback (#PCDATA)>
+
+<!--
+  The timer-persistence element determines whether ejb timers should
+  be persisted across application redeployment. Defaults to true.
+  
+  It must be one of the following:
+    <timer-persistence>true</timer-persistence>
+    <timer-persistence>false</timer-persistence>
+  
+  Used in: session, entity and message-driven
+-->
+<!ELEMENT timer-persistence (#PCDATA)>
+
+<!--
+  The configuration-name element gives the name of the container
+  configuration for this bean. It must match one of the container-name
+  tags in the container-configurations section, or one of the standard
+  configurations. If no element is provided, jboss will automatically use the
+  right standard configuration, see container-configurations.
+
+  Note: unlike earlier releases, this element may not be specified as an
+   empty element to achieve the same effect as not specifying the element.
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT configuration-name (#PCDATA)>
+
+<!-- The depends element gives a JMX ObjectName of a service on which the
+container or ejb depends.
+-->
+<!ELEMENT depends (#PCDATA)>
+
+<!-- The queue/topic jndi name from which we receive messages -->
+<!ELEMENT destination-jndi-name (#PCDATA)>
+
+<!-- The optional user for the jms connection that delivers messages -->
+<!ELEMENT mdb-user (#PCDATA)>
+
+<!-- The optional password for the jms connection that delivers messages -->
+<!ELEMENT mdb-passwd (#PCDATA)>
+
+<!-- The optional client-id for the jms connection that delivers messages -->
+<!ELEMENT mdb-client-id (#PCDATA)>
+
+<!-- The subscription name for topic delivery -->
+<!ELEMENT mdb-subscription-id (#PCDATA)>
+
+<!-- The name of the rar used in JCA 1.5 message inflow
+e.g.
+   <resource-adapter-name>jms-ra.rar</resource-adapter-name>
+or for embedded rars
+   <resource-adapter-name>myapp.ear#myconnector.rar</resource-adapter-name>
+-->
+<!ELEMENT resource-adapter-name (#PCDATA)>
+
+<!-- The security-proxy gives the class name of the security proxy implementation.
+  This may be an instance of org.jboss.security.SecurityProxy, or an
+  just an object that implements methods in the home or remote interface
+  of an EJB without implementating any common interface.
+
+      Used in: entity, session, and message-driven
+-->
+<!ELEMENT security-proxy (#PCDATA)>
+
+<!--
+  The ejb-ref element is used to give the jndi-name of an external
+  ejb reference. In the case of an external ejb reference, you don't
+  provide a ejb-link element in ejb-jar.xml, but you provide a jndi-name
+  in jboss.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-ref (ejb-ref-name , jndi-name)>
+
+<!--
+  The ejb-ref-name element is the name of the ejb reference as given in
+  ejb-jar.xml.
+
+  Used in: ejb-ref
+-->
+<!ELEMENT ejb-ref-name (#PCDATA)>
+
+<!--
+  The ejb-local-ref element is used to give the jndi-name of an external
+  ejb reference. This is an alternative to using ejb-link in ejb-jar.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT ejb-local-ref (ejb-ref-name , local-jndi-name)>
+
+<!--
+  The security-identity element specifies whether a specific run-as identity is to be
+  used. If there is a run-as role defined for an enterprise bean, there can also be a
+  run-as-principal define here. If you don't define a run-as principal the callee will
+  see ctx.getCallerPrincipal() == 'anonymous'
+
+  Used in: entity, message-driven, session
+-->
+<!ELEMENT security-identity (run-as-principal)>
+
+<!--
+  The ejb-timeout-identity element specifies the run-as used for the ejbTimeout
+  callback method. If the run-as-principal is specified this is the identity
+  that will be set as the callback run-as. If the run-as-principal is empty,
+  then no security context is specified at the container level. Any access of
+  secured resources will require that the ejbTimeout method establish the
+  security context.
+-->
+<!ELEMENT ejb-timeout-identity (run-as-principal)>
+
+<!--
+  The run-as-principal element is the name of the principal that is used
+  when the enterprise bean calls out with a run-as role.
+
+  Used in: security-identity
+-->
+<!ELEMENT run-as-principal (#PCDATA)>
+
+<!--
+  The resource-env-ref element gives a mapping between the "code name"
+  of a env resource (res-ref-name, provided by the Bean Developer) and
+  its deployed JNDI name.
+
+  Used in: session, entity, message-driven
+-->
+<!ELEMENT resource-env-ref (resource-env-ref-name , jndi-name)>
+
+<!--
+  The resource-env-ref-name element gives the "code name" of a resource. It is
+  provided by the Bean Developer.
+
+  Used in: resource-env-ref
+-->
+<!ELEMENT resource-env-ref-name (#PCDATA)>
+
+<!--
+  The method-attributes element can be used to specify which methods are read only
+  or idempotent.  This is used to reduce the need for locks and replication.
+-->
+<!ELEMENT method-attributes (method*)>
+
+<!--
+  The method element is used to specify attributes for one method or all those
+  matching a pattern startingstring*.
+-->
+<!ELEMENT method (method-name, read-only?, idempotent?, transaction-timeout?)>
+
+<!--
+  The method-name element specifies a complete method name or a pattern consisting of an
+  initial match followed by '*'
+-->
+<!ELEMENT method-name (#PCDATA)>
+
+<!--
+  The idempotent element is used in method-attributes to indicate that a method
+  is completely stateless. Really the same as read-only and should be dropped.
+-->
+<!ELEMENT idempotent (#PCDATA)>
+
+<!--
+  The transaction timeout in seconds (overriding the default timeout).
+  This will only work for Required (where the method starts the transaction) and RequiresNew.
+  The special value of 0 (zero) uses the default timeout configured on jboss:service=TransactionManager
+  NOTE: any subsequent use of RequiresNew that is not explicitly overridden will use this value.
+-->
+<!ELEMENT transaction-timeout (#PCDATA)>
+
+<!--
+  The clustered element indicates if this bean will run in a cluster of JBoss instances.
+  It is provided by the deployer. If not, jboss will assume clustered = False
+  Possible values: "True", "False" (default)
+
+  Used in: entity and session
+-->
+<!ELEMENT clustered (#PCDATA)>
+
+<!--
+  The cluster-config element allows to specify cluster specific settings.
+  WARNING: session-state-manager-jndi-name is only for SFSB.
+
+  Used in: session, entity, container-configuration
+-->
+<!ELEMENT cluster-config (partition-name? , home-load-balance-policy? ,
+ bean-load-balance-policy? , session-state-manager-jndi-name?)>
+
+<!--
+  The partition-name element indicates the name of the HAPartition to be used
+  by the container to exchange clustering information. This is a name and *not*
+  a JNDI name. Given name will be prefixed by "/HAPartition/" by the container to get
+  the actual JNDI name of the HAPartition. 
+  
+  Must be set; there is no hard coded default. Can be set either in a bean's own 
+  cluster-config element or in a container-configuration used by the bean.
+  The standard clustered bean container configurations in conf/standardjboss.xml
+  set this to the value of system property "jboss.partition.name", or 
+  "DefaultPartition" if that property is not set.
+
+  Used in: entity, session and container-configuration (in clustered-config element)
+-->
+<!ELEMENT partition-name (#PCDATA)>
+
+<!--
+  The home-load-balance-policy element indicates the java class name to be used
+  to load balance calls in the home proxy. 
+  
+  Must be set; there is no hard coded default. Can be set either in a bean's own 
+  cluster-config element or in a container-configuration used by the bean.
+  The standard clustered bean container configurations in conf/standardjboss.xml
+  set this to "org.jboss.ha.framework.interfaces.RoundRobin".
+
+  Used in: entity, session and container-configuration (in cluster-config element)
+-->
+<!ELEMENT home-load-balance-policy (#PCDATA)>
+
+<!--
+  The bean-load-balance-policy element indicates the java class name to be used
+  to load balance calls in an EJB2 bean proxy. 
+  
+  Must be set; there is no hard coded default. Can be set either in a bean's own 
+  cluster-config element or in a container-configuration used by the bean.
+  The standard clustered bean container configurations in conf/standardjboss.xml
+  set this to "org.jboss.ha.framework.interfaces.RoundRobin" for SLSBs and to
+  "org.jboss.ha.framework.interfaces.FirstAvailable" for EB and SFSBs.
+
+  Used in: entity, session and container-configuration (in cluster-config element)
+-->
+<!ELEMENT bean-load-balance-policy (#PCDATA)>
+
+<!--
+  The cache-invalidation element indicates if this bean cache should listen to cache
+  invalidation events and clear its cache accordingly as well as send cache invalidation
+  messages.
+  It is provided by the deployer. If not, jboss will assume cache-invalidation = False
+  NOTE: This value will *only* be applied if the correct cache plugin and interceptor(s)
+        are defined in the container configuration.
+  Possible values: "True", "False" (default)
+
+  Used in: entity (only commit-option A and D will invalidate their cache)
+-->
+<!ELEMENT cache-invalidation (#PCDATA)>
+
+<!--
+  The cache-invalidation-config element allows to specify cache invalidation specific settings.
+
+  Used in: entity
+-->
+<!ELEMENT cache-invalidation-config (invalidation-group-name? , invalidation-manager-name?)>
+
+<!--
+  The invalidation-group-name element indicates the name of a group in which all
+  invalidation messages are exchanged i.e. all beans sharing a given invalidation-group-name
+  should share the same PK semantic.
+  By default, invalidation-group-name equals to the EJB name. Thus, when using cache invalidation
+  accross a cluster, it is not necessary to specify a name as all beans will have the same name
+  accross the cluster. Nevertheless, if you deploy, on the same node, the same EJB, once with
+  commit-option C (RW access) and once in commit-option A (RO) and want the RW EJB to invalidate
+  entries of RO EJB, each one will obviously have its own EJB name. Consequently, you can assign
+  a common invalidation-group-name to both EJBs so that they share their cache invalidation messages.
+
+  Used in: entity (in cache-invalidation-config element)
+-->
+<!ELEMENT invalidation-group-name (#PCDATA)>
+
+<!--
+  The invalidation-manager-name references the InvalidationManager MBean to be used.
+  By Default, the default InvalidationManager is used.
+
+  Used in: entity (in cache-invalidation-config element)
+-->
+<!ELEMENT invalidation-manager-name (#PCDATA)>
+
+<!--
+  The session-state-manager-jndi-name element indicates the name of the 
+  HASessionState to be used by the container as a backend for EJB2 stateful 
+  session bean management in the cluster. This *is* a JNDI name (unlike the 
+  partition-name element). 
+  
+  Must be set; there is no hard coded default. Can be set either in a bean's own 
+  cluster-config element or in a container-configuration used by the bean.
+  The standard clustered bean container configurations in conf/standardjboss.xml
+  set this to "/HASessionState/" plus the value of system property 
+  "jboss.partition.name", or "DefaultPartition" if that property is not set.
+
+  Used in: session or container-configuration (in cluster-config element)
+-->
+<!ELEMENT session-state-manager-jndi-name (#PCDATA)>
+
+<!--
+  The resource-ref element gives a mapping between the "code name"
+  of a resource (res-ref-name, provided by the Bean Developer) and
+  its "xml name" (resource-name, provided by the Application Assembler).
+  If no resource-ref is provided, jboss will assume that
+  "xml-name" = "code name"
+
+  See resource-managers.
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT resource-ref (res-ref-name , (resource-name | jndi-name | res-url))>
+
+<!--
+  The res-ref-name element gives the "code name" of a resource. It is
+  provided by the Bean Developer. See resource-managers for the actual
+  configuration of the resource.
+
+  Used in: resource-ref
+-->
+<!ELEMENT res-ref-name (#PCDATA)>
+
+<!--
+  The resource-name element gives the "xml name" of the resource. It is
+  provided by the Application Assembler. See resource-managers for the
+  actual configuration of the resource.
+
+  Used in: resource-ref
+-->
+<!ELEMENT resource-name (#PCDATA)>
+
+<!--
+  The resource-managers element is used to declare resource managers.
+
+  A resource has 3 names:
+  - the "code name" is the name used in the code of the bean, supplied by
+    the Bean Developer in the resource-ref section of the ejb-jar.xml file
+
+  - the "xml name" is an intermediary name used by the Application Assembler
+    to identify resources in the XML file.
+
+  - the "runtime jndi name" is the actual jndi-name or url of the deployed
+    resource, it is supplied by the Deployer.
+
+  The mapping between the "code name" and the "xml name" is given
+  in the resource-ref section for the bean. If not, jboss will assume that
+  "xml name" = "code name".
+
+  The mapping between the "xml name" and the "runtime jndi name" is given in
+  a resource-manager section. If not, and if the datasource is of type
+  javax.sql.DataSource, jboss will look for a javax.sql.DataSource in the jndi
+  tree.
+
+  Used in: jboss
+-->
+<!ELEMENT resource-managers (resource-manager*)>
+
+<!--
+  The resource-manager element is used to provide a mapping between the
+  "xml name" of a resource (res-name) and its "runtime jndi name"
+  (res-jndi-name or res-url according to the type of the resource).
+  If it is not provided, and if the type of the resource is
+  javax.sql.DataSource, jboss will look for a javax.sql.DataSource in the
+  jndi tree.
+
+  See resource-managers.
+
+  Used in: resource-managers
+-->
+<!ELEMENT resource-manager (res-name , (res-jndi-name | res-url))>
+
+<!--
+  The res-name element gives the "xml name" of a resource, it is provided
+  by the Application Assembler. See resource-managers.
+
+  Used in: resource-manager
+-->
+<!ELEMENT res-name (#PCDATA)>
+
+<!--
+  The res-jndi-name element is the "deployed jndi name" of a resource, it
+  is provided by the Deployer. See resource-managers.
+
+  Used in: resource-manager
+-->
+<!ELEMENT res-jndi-name (#PCDATA)>
+
+<!-- The res-url element value is a URL string for a resource-ref of
+res-type = java.net.URL. Using a res-url creates a binding of the URL
+instance under the java:comp/env. If you want to link to another binding
+of a URL, you can use the jndi-name to do so.
+
+// Binds the URL(http://x.y.z) under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>http://x.y.z</res-url>
+</resource-ref>
+// Binds a link to urls/XYZHomePage under java:comp/env/jdbc/XYZHome
+<resource-ref>
+    <res-ref-name>jdbc/XYZHome</res-ref-name>
+    <res-url>urls/XYZHomePage</res-url>
+</resource-ref>
+
+   Used in: resource-ref, resource-manager
+-->
+<!ELEMENT res-url (#PCDATA)>
+
+<!--
+  The message-destination-ref element is used to configure the
+  jndi-name for a message-destination-ref in ejb-jar.xml
+
+  Used in: entity, session, and message-driven
+-->
+<!ELEMENT message-destination-ref (message-destination-ref-name, jndi-name)>
+
+<!--
+  The message-destination-ref-name element identifies the
+  message-destination-ref. It must match the name in ejb-jar.xml
+
+  Used in: message-destination-ref
+-->
+<!ELEMENT message-destination-ref-name (#PCDATA)>
+
+<!--
+  The assembly-descriptor element contains application-assembly information.
+
+  The definition of security roles allows you to map assembly roles to one or more
+  principals. For example, you may define a run-as principal in the security-identity
+  element and include that principal in one or more security-role(s) in the
+  assembly descriptor. When called with a run-as role, the callee will see all
+  those roles in ctx.isCallerInRole(...)
+
+  Used in: jboss
+-->
+<!ELEMENT assembly-descriptor (security-role*, message-destination*)>
+
+<!--
+  The security-role element contains the definition of a security role.
+  The definition consists of an the security role name and principal name element(s).
+
+Used in: assembly-descriptor
+
+Example:
+		<security-role>
+      <role-name>Manager</role-name>
+      <principal-name>j2ee</principal-name>
+      <principal-name>javajoe</principal-name>
+		</security-role>
+-->
+<!ELEMENT security-role (role-name, principal-name+)>
+
+<!--
+  The role-name element is the name of the role.
+
+  Used in: security-role
+-->
+<!ELEMENT role-name (#PCDATA)>
+
+<!--
+  The principal-name element is the name of the principal that is mapped
+  to the assembly role-name.
+
+  Used in: security-role
+-->
+<!ELEMENT principal-name (#PCDATA)>
+
+<!--
+  The message-destination element is used to configure the
+  jndi-name for a message-destination in ejb-jar.xml
+
+  Used in: assembly-descriptor
+-->
+<!ELEMENT message-destination (message-destination-name, jndi-name)>
+
+<!--
+  The message-destination-name element identifies the
+  message-destination. It must match the name in ejb-jar.xml
+
+  Used in: message-destination
+-->
+<!ELEMENT message-destination-name (#PCDATA)>
+
+<!--
+  The container-configurations element declares the different possible
+  container configurations that the beans can use. standardjboss.xml
+  provides 15 standard configurations with the following container-names:
+    - Standard CMP 2.x EntityBean
+    - Standard CMP EntityBean
+    - Clustered CMP 2.x EntityBean
+    - Clustered CMP EntityBean
+    - IIOP CMP 2.x EntityBean
+    - IIOP CMP EntityBean
+    - Standard Stateless SessionBean
+    - Clustered Stateless SessionBean
+    - IIOP Stateless SessionBean
+    - Standard Stateful SessionBean
+    - Clustered Stateful SessionBean
+    - IIOP Stateful SessionBean
+    - Standard BMP EntityBean
+    - Clustered BMP EntityBean
+    - IIOP BMP EntityBean
+    - Standard message Driven Bean
+
+  The standard configurations will automatically be used if no custom
+  configuration is specified.
+
+  The application assembler can define advanced custom configurations here.
+
+  Used in: jboss
+-->
+<!ELEMENT container-configurations (container-configuration*)>
+
+<!--
+  The container-configuration element describes a configuration for the
+  container.
+  The different plugins to use are declared here, as well as their
+  configurations. The configuration-class attribute is no longer used.
+
+  Used in: container-configurations
+-->
+<!ELEMENT container-configuration (container-name , call-logging?,
+ invoker-proxy-binding-name?, sync-on-commit-only?,
+ insert-after-ejb-post-create?, call-ejb-store-on-clean?, store-not-flushed?, container-interceptors? ,
+ instance-pool? , instance-cache? ,  persistence-manager? , web-class-loader? ,
+ locking-policy? ,  container-cache-conf? , container-pool-conf? ,
+ commit-option? , optiond-refresh-rate? , security-domain?, cluster-config?,
+ depends*)>
+
+<!-- The extends attribute gives the container-name value of the configuration the container-configuration
+is extending. This allows one to specify an extension configuration without having to reiterate all of
+the other duplicate configuration info.
+
+        <container-configuration extends="Standard Stateful SessionBean">
+            <container-name>Secure Stateless SessionBean</container-name>
+            <security-domain>java:/jaas/other</security-domain>
+        </container-configuration>
+-->
+<!ATTLIST container-configuration extends CDATA  #IMPLIED>
+
+<!--
+  The container-name element gives the name of the configuration being
+  defined. Beans may refer to this name in their configuration-name tag.
+
+  Used in: container-configuration
+-->
+<!ELEMENT container-name (#PCDATA)>
+
+<!--
+  The call-logging element tells if the container must log every method
+  invocation for this bean or not. Its value must be true or false.
+
+  Used in: container-configuration
+-->
+<!ELEMENT call-logging (#PCDATA)>
+
+<!--
+  The invoker-bindings element gives the invokers configuration for an
+  ejb container.
+
+  Used in: entity, session, message-driven
+-->
+<!ELEMENT invoker-bindings (invoker+)>
+<!--
+ -->
+<!ELEMENT invoker (invoker-proxy-binding-name, jndi-name?, ejb-ref*)>
+
+<!-- The invoker-proxy-binding-name elements maps to the name element of
+an invoker-proxy-binding definition.
+
+  Used in: container-configuration, invoker
+-->
+<!ELEMENT invoker-proxy-binding-name (#PCDATA)>
+
+<!-- The sync-on-commit-only element determines the behavior of ejbStore
+calls on finds, selects and removes. If set to true, ejbStore will only be
+called on transaction commit.
+-->
+<!ELEMENT sync-on-commit-only (#PCDATA)>
+
+<!-- The insert-after-ejb-post-create element defines when the INSERT
+ statement will be executed for created entity instance.
+ Possible values are:
+ false - the default value, INSERT will be executed after ejbCreate but before
+         ejbPostCreate;
+ true - INSERT will be executed after ejbPostCreate.
+-->
+<!ELEMENT insert-after-ejb-post-create (#PCDATA)>
+
+<!-- The call-ejb-store-for-clean says whether ejbStore should be called on clean instances
+ at synchronization time. By the spec it should be true. But users wanted it to be false.
+ False is the default, meaning ejbStore is called only on dirty instances.
+-->
+<!ELEMENT call-ejb-store-on-clean (#PCDATA)>
+
+<!-- The store-not-flushed says whether dirty instances that could not be evicted
+ from the cache should or should not (to prevent potential data inconsistency)
+ be stored. The default value is TRUE.
+-->
+<!ELEMENT store-not-flushed (#PCDATA)>
+
+<!--
+  The container-interceptors element gives the chain of Interceptors
+  (instances of org.jboss.ejb.Interceptor) that are associated with the container.
+  The declared order of the interceptor elements corresponds to the order of the
+  interceptor chain.
+
+  Used in: container-configuration
+-->
+<!ELEMENT container-interceptors (interceptor+)>
+
+<!--
+The client-interceptors defines the home and bean client side interceptor chain
+
+  Used in: proxy-factory-config
+-->
+<!ELEMENT client-interceptors (home , bean, list-entity?)>
+
+<!-- Define whether the ejb proxy should expose an org.jboss.proxy.IClientContainer
+   interface to provide access to the invocation context and interceptors.
+-->
+<!ATTLIST client-interceptors exposeContainer (true | false )  "false">
+
+<!--
+The endpoint-interceptors element gives the chain of interceptors
+(instances of org.jboss.proxy.Interceptor) that are associated with the
+message endpoint.
+
+  Used in: proxy-factory-config for message inflow
+-->
+<!ELEMENT endpoint-interceptors (interceptor+)>
+
+<!--
+The home element gives the chain of interceptors
+(instances of org.jboss.proxy.Interceptor) that are associated with the home
+proxy and operate in the client VM. The declared order of the interceptor
+elements corresponds to the order of the interceptor chain.
+
+  Used in: client-interceptors
+-->
+<!ELEMENT home (interceptor+)>
+
+<!--
+The bean element gives the chain of interceptors
+(instances of org.jboss.proxy.Interceptor) that are associated with the remote
+proxy and operate in the client VM. The declared order of the interceptor
+elements corresponds to the order of the interceptor chain.
+
+  Used in: client-interceptors
+-->
+<!ELEMENT bean (interceptor+)>
+
+<!--
+The list-entity element gives the chain of interceptors
+(instances of org.jboss.proxy.Interceptor) that are associated with the remote
+proxy and operate in the client VM. The declared order of the interceptor
+elements corresponds to the order of the interceptor chain.
+
+  Used in: client-interceptors
+-->
+<!ELEMENT list-entity (interceptor+)>
+
+<!--
+  The interceptor element specifies an instance of org.jboss.ejb.Interceptor
+  that is to be added to the container interceptor stack.
+
+  Used in: home, bean, list-entity, endpoint-interceptors
+-->
+<!ELEMENT interceptor ANY>
+
+<!-- possible content for the TxInterceptorCMT -->
+<!ELEMENT retry-handlers (handler+)>
+<!ELEMENT handler (#PCDATA)>
+
+<!--
+  The transaction attribute is used to indicate what type of container its
+  interceptor applies to. It is an enumerated value that can take on one of: Bean,
+  Container or Both. A value of Bean indicates that the interceptor should only be
+  added to a container for bean-managed transaction.
+  A value of Container indicates that the interceptor should only be added to a
+  container for container-managed transactions.
+  A value of Both indicates that the interceptor should be added to all
+  containers. This is the default value if the transaction attribute is not
+  explictlygiven.
+-->
+<!ATTLIST interceptor transaction     (Bean | Container | Both )  "Both">
+
+<!--
+  The metricsEnabled attributes is used to indicate if the interceptor
+  should only be included when the org.jboss.ejb.ContainerFactory metricsEnabled
+  flag is set to true. The allowed values are true and false with false being the
+  default if metricsEnabled is not explicitly given.
+-->
+<!ATTLIST interceptor metricsEnabled  (true | false )  "false">
+
+<!--
+  The call-by-value attribute is used to indicate that the interceptor
+  should only be included when the value of the attribute corresponds
+  to the value of org.jboss.metadata.BeanMetaData callByValue.
+  For example, if a bean defines the element <call-by-value>true</call-by-value>
+  then a marshalling invoker interceptor will be used instead of the
+  non marshalling optimized invoker interceptor.
+-->
+<!ATTLIST interceptor call-by-value  (true | false )  #IMPLIED>
+
+<!--
+  The instance-pool element gives the class name of the instance pool
+  jboss must use for in this configuration. This class must implement
+  the org.jboss.ejb.InstancePool interface. The defaults are:
+  - org.jboss.ejb.plugins.EntityInstancePool for entity beans
+  - org.jboss.ejb.plugins.StatelessSessionInstancePool for stateless
+  session beans.
+  - no pool is used for stateful session beans
+
+  Used in: container-configuration
+-->
+<!ELEMENT instance-pool (#PCDATA)>
+
+<!--
+  The instance-cache element gives the class name of the instance cache
+  jboss must use for in this configuration. This class must implement
+  the org.jboss.ejb.InstanceCache interface. The defaults are:
+  - org.jboss.ejb.plugins.NoPassivationEntityInstanceCache for entity beans
+  - org.jboss.ejb.plugins.NoPassivationStatefulSessionInstanceCache for
+  stateful session beans.
+  - no cache is used for stateless session beans
+
+  Used in: container-configuration
+-->
+<!ELEMENT instance-cache (#PCDATA)>
+
+<!--
+  The persistence-manager element gives the class name of the persistence
+  manager / persistence store jboss must use for in this configuration.
+  This class must implement:
+  - org.jboss.ejb.EntityPersistenceStore for CMP Entity Beans (default is
+  org.jboss.ejb.plugins.jaws.JAWSPersistenceManager)
+  - org.jboss.ejb.EntityPersistenceManager for BMP entity beans (default
+  is org.jboss.ejb.plugins.BMPPersistenceManager)
+  - org.jboss.ejb.StatefulSessionPersistenceManager for stateless session
+  beans.
+  - no persistence-manager is used for stateless session beans
+
+  Used in: container-configuration
+-->
+<!ELEMENT persistence-manager (#PCDATA)>
+
+<!--
+  The locking-policy element gives the class name of the EJB lock
+  implementation JBoss must use for in this configuration. This class must
+  implement  the org.jboss.ejb.BeanLock interface. The default is
+  org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.
+
+  Used in: container-configuration
+-->
+<!ELEMENT locking-policy (#PCDATA)>
+
+<!--
+  The web-class-loader element gives the class name of the web classloader
+  jboss must use for in this configuration. This class must be a subclass
+  of org.jboss.web.WebClassLoader. The default is org.jboss.web.WebClassLoader.
+
+  Used in: container-configuration
+  Used in: proxy-factory-config
+-->
+<!ELEMENT web-class-loader (#PCDATA)>
+
+<!--
+  The container-cache-conf element holds dynamic configuration data
+  for the instance cache.
+  jboss does not read directly the subtree for this element: instead,
+  it is passed to the instance cache instance (if it implements
+  org.jboss.metadata.XmlLoadable) for it to load its parameters.
+
+  Used in: container-configuration
+-->
+<!ELEMENT container-cache-conf (cache-policy? , cache-policy-conf?, cache-policy-conf-other?)>
+
+<!--
+  The implementation class for the cache policy, which controls
+  when instances will be passivated, etc.
+
+  Used in: container-cache-conf
+-->
+<!ELEMENT cache-policy (#PCDATA)>
+
+<!--
+  The configuration settings for the selected cache policy.  This
+  is currently only valid for the LRU cache.
+  When the cache is the LRU one for the stateful container, the elements
+  remover-period and max-bean-life specifies the period of the remover
+  task that removes stateful beans (that normally have been passivated)
+  that have age greater than the specified max-bean-life element.
+
+  Used in: container-cache-conf (when cache-policy is the LRU cache)
+-->
+<!ELEMENT cache-policy-conf (min-capacity? , max-capacity? , remover-period? ,
+ max-bean-life? , overager-period? , max-bean-age? , resizer-period? ,
+ max-cache-miss-period? , min-cache-miss-period? , cache-load-factor?, flush-enabled?)>
+
+<!--
+  The minimum capacity of this cache
+-->
+<!ELEMENT min-capacity (#PCDATA)>
+
+<!--
+  The maximum capacity of this cache
+-->
+<!ELEMENT max-capacity (#PCDATA)>
+
+<!--
+  The period of the overager's runs
+-->
+<!ELEMENT overager-period (#PCDATA)>
+
+<!--
+  The period of the remover's runs
+-->
+<!ELEMENT remover-period (#PCDATA)>
+
+<!--
+  The max-bean-life specifies the period of the remover
+  task that removes stateful beans (that normally have been passivated)
+  that have age greater than the specified max-bean-life element.
+-->
+<!ELEMENT max-bean-life (#PCDATA)>
+
+<!--
+  The period of the resizer's runs
+-->
+<!ELEMENT resizer-period (#PCDATA)>
+
+<!--
+  The age after which a bean is automatically passivated
+-->
+<!ELEMENT max-bean-age (#PCDATA)>
+
+<!--
+  Shrink cache capacity if there is a cache miss every or more
+  this member's value
+-->
+<!ELEMENT max-cache-miss-period (#PCDATA)>
+
+<!--
+  Enlarge cache capacity if there is a cache miss every or less
+  this member's value
+-->
+<!ELEMENT min-cache-miss-period (#PCDATA)>
+
+<!--
+  The resizer will always try to keep the cache capacity so that
+  the cache is this member's value loaded of cached objects
+-->
+<!ELEMENT cache-load-factor (#PCDATA)>
+
+<!--
+  For the NoPassivationCachePolicy. Can be true or false
+-->
+<!ELEMENT flush-enabled (#PCDATA)>
+
+<!--
+  Arbitrary XML configuration
+-->
+<!ELEMENT cache-policy-conf-other ANY>
+
+<!--
+  Possible content for the cache-policy-conf-other
+-->
+<!ELEMENT partitions (#PCDATA)>
+<!ELEMENT batch-commit-strategy (#PCDATA)>
+<!ELEMENT invalidable EMPTY>
+
+<!--
+  The container-pool-conf element holds configuration data for the
+  instance pool.
+  jboss does not read directly the subtree for this element: instead,
+  it is passed to the instance pool instance (if it implements
+  org.jboss.metadata.XmlLoadable) for it to load its parameters.
+
+  The default instance pools, EntityInstancePool and
+  StatelessSessionInstancePool, both accept the following configuration.
+
+  Used in: container-configuration
+-->
+<!ELEMENT container-pool-conf ((MinimumSize?, MaximumSize?,
+   strictMaximumSize?, strictTimeout?) | Synchronized)>
+
+<!-- The theoretical minimum size of the pool. Currently unused by JBoss
+EJB pools.
+
+Used in: invoker-proxy-conf for JMSContainerInvoker
+-->
+<!ELEMENT MinimumSize (#PCDATA)>
+
+<!--
+  The capacity of the Pool. For pools where reclaim is possible, the pool will
+  also be repopulated when the instance is free to be reused.
+  This is not an hard limit, if instances are needed when the pool is at
+  its MaximumSize, new instances will be created following the demand unless
+  a strictMaximumSize of true is specified.
+
+  Used in: container-pool-conf and invoker-proxy-conf for JMSContainerInvoker
+-->
+<!ELEMENT MaximumSize (#PCDATA)>
+
+<!-- A boolean flag indicating if attempts to access the pool will block when
+MaximumSize instances are active. The default is false.
+
+  Used in: container-pool-conf
+-->
+<!ELEMENT strictMaximumSize (#PCDATA)>
+
+<!-- The time in milliseconds to wait for the strictMaximumSize semaphore. The
+default is Long.MAX_VALUE or essentially enternity.
+
+  Used in: container-pool-conf
+-->
+<!ELEMENT strictTimeout (#PCDATA)>
+
+<!--
+  Can be true or false.
+  Used in SingletonStatelessSessionInstancePool to synchronize access to the SLSB instance.
+
+  Used in: container-pool-conf
+-->
+<!ELEMENT Synchronized (#PCDATA)>
+
+<!--
+  The number of millis to keep an unused object in the pool. Currently unused by
+  JBoss EJB Pools.
+
+  Used in: invoker-proxy-conf for JMSContainerInvoker
+-->
+<!ELEMENT KeepAliveMillis (#PCDATA)>
+
+<!--
+  This option is only used for entity container configurations.
+
+  The commit-option element tells the container which option to use for transactions.
+  Its value must be A, B C, or D.
+
+  - option A: the entiry instance has exclusive access to the database. The instance
+  stays ready after a transaction.
+  - option B: the entity instance does not have exclusive access to the database.
+  The state is loaded before the next transaction.
+  - option C: same as B, except the container does not keep the instance after commit:
+  a passivate is immediately performed after the commit.
+
+  - option D: a lazy update. default is every 30 secs.
+               can be updated with <optiond-refresh-rate>
+
+  See ejb1.1 specification for details (p118).
+
+  Used in: container-configuration
+-->
+<!ELEMENT commit-option (#PCDATA)>
+
+<!--
+  This element is used to specify the refresh rate of commit option d
+-->
+<!ELEMENT optiond-refresh-rate (#PCDATA)>
+
+<!--
+ior-security-config element describes the security configuration information for the IOR.
+-->  
+<!ELEMENT ior-security-config ( transport-config? , as-context?, sas-context?  )> 
+
+<!--
+transport-config is the root element for security between the end points
+-->
+<!ELEMENT transport-config ( integrity, confidentiality,
+ establish-trust-in-target, establish-trust-in-client, detect-misordering?,
+ detect-replay?)> 
+
+<!--
+integrity element indicates if the server (target) supports integrity protected messages. 
+The valid values are NONE, SUPPORTED or REQUIRED
+-->  
+<!ELEMENT integrity ( #PCDATA)>
+
+<!--
+confidentiality element indicates if the server (target) supports privacy protected 
+messages. The values are NONE, SUPPORTED or REQUIRED
+-->  
+<!ELEMENT confidentiality ( #PCDATA)>
+
+<!--
+establish-trust-in-target element indicates if the target is capable of authenticating to a client. 
+The values are NONE or SUPPORTED.
+-->  
+<!ELEMENT establish-trust-in-target ( #PCDATA)>
+
+<!--
+establish-trust-in-client element indicates if the target is capable of authenticating a client. The
+values are NONE, SUPPORTED or REQUIRED.
+-->  
+<!ELEMENT establish-trust-in-client ( #PCDATA)>
+
+<!--
+The optional detect-misordering indicates if the server (target) supports
+detection of message sequence errors. The values are NONE, SUPPORTED or REQUIRED.
+-->  
+<!ELEMENT detect-misordering ( #PCDATA)>
+
+<!--
+The optional detect-replay indicates if the server (target) supports detection
+of message replay attempts. The values are NONE, SUPPORTED or REQUIRED.
+-->  
+<!ELEMENT detect-replay ( #PCDATA)>
+
+<!--
+as-context (CSIv2 authentication service) is the element describing the authentication 
+mechanism that will be used to authenticate the client. If specified it will be the 
+username-password mechanism.
+-->  
+<!ELEMENT as-context ( auth-method, realm, required )> 
+
+<!--
+required element specifies if the authentication method specified is required
+to be used for client authentication. If so the EstablishTrustInClient bit
+will be set in the target_requires field of the AS_Context. The element value
+is either true or false. 
+-->  
+<!ELEMENT required ( #PCDATA )> 
+
+<!--
+auth-method element describes the authentication method. The only supported value
+for as-context is USERNAME_PASSWORD
+
+For port-component, the auth-method element is used to configure the
+authentication mechanism for the web service. As a prerequisite to gaining
+access to any web service which are protected by an authorization
+constraint, a user must have authenticated using the configured
+mechanism. Legal values for this element are "BASIC", or "CLIENT-CERT".
+
+Used in: as-context, port-component
+
+-->  
+<!ELEMENT auth-method ( #PCDATA )> 
+
+<!--
+realm element describes the realm in which the user is authenticated. Must be 
+a valid realm that is registered in server configuration.
+-->  
+<!ELEMENT realm ( #PCDATA )> 
+
+<!--
+sas-context (related to CSIv2 security attribute service) element describes 
+the sas-context fields.
+-->  
+<!ELEMENT sas-context ( caller-propagation )> 
+
+<!--
+caller-propagation element indicates if the target will accept propagated caller identities
+The values are NONE or SUPPORTED.
+-->  
+<!ELEMENT caller-propagation ( #PCDATA) >
+
+<!-- The port-component element specifies a mapping from a webservice
+port-component whose service-impl-bean/ejb-link value maps to an ejb.
+
+Used in: session
+-->
+<!ELEMENT port-component (port-component-name, port-component-uri?, auth-method?,
+ transport-guarantee?) >
+
+<!-- Maps to the port-component-name in the webservices.xml descriptor.
+
+Used in: port-component
+-->
+<!ELEMENT port-component-name (#PCDATA) >
+
+<!-- Relative path that is appended to the <context-root> element to form fully qualified
+endpoint address for a web service endpoint. 
+
+For backwards compatibility, it may also be the absolute path starting with web context root 
+to form fully qualified endpoint address for a web service endpoint. In this case, the port component uri
+must contain at least two token seperated by '/'. The first token is the web context root,
+which must be identical among all port component uris in a given deployment.
+
+Used in: port-component
+-->
+<!ELEMENT port-component-uri (#PCDATA) >
+
+<!--
+The transport-guarantee element specifies that the communication
+between client and server should be NONE, INTEGRAL, or
+CONFIDENTIAL. NONE means that the application does not require any
+transport guarantees. A value of INTEGRAL means that the application
+requires that the data sent between the client and server be sent in
+such a way that it can't be changed in transit. CONFIDENTIAL means
+that the application requires that the data be transmitted in a
+fashion that prevents other entities from observing the contents of
+the transmission. In most cases, the presence of the INTEGRAL or
+CONFIDENTIAL flag will indicate that the use of SSL is required.
+
+Used in: port-component
+-->
+<!ELEMENT transport-guarantee (#PCDATA)>
+
+<!--
+Activation config
+
+used in message-driven and proxy-factory-config
+-->
+<!ELEMENT activation-config ( activation-config-property* )>
+
+<!--
+Activation config properties 
+
+used in activation-config
+-->
+<!ELEMENT activation-config-property ( activation-config-property-name, 
+                                       activation-config-property-value )>
+<!--
+Activation config property name
+
+used in activation-config-property
+-->
+<!ELEMENT activation-config-property-name ( #PCDATA )>
+
+<!--
+Activation config property value
+
+used in activation-config-property
+-->
+<!ELEMENT activation-config-property-value ( #PCDATA )>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_2.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_2.xsd
deleted file mode 100644
index 2b91070..0000000
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/jsp_2_2.xsd
+++ /dev/null
@@ -1,392 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-            targetNamespace="http://java.sun.com/xml/ns/javaee"
-            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-            elementFormDefault="qualified"
-            attributeFormDefault="unqualified"
-            version="2.2">
-  <xsd:annotation>
-    <xsd:documentation>
-
-      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-      Copyright 2003-2010 Oracle and/or its affiliates. All rights reserved.
-
-Oracle and Java are registered trademarks of Oracle and/or its affiliates.
-Other names may be trademarks of their respective owners.
-
-      The contents of this file are subject to the terms of either the
-      GNU General Public License Version 2 only ("GPL") or the Common
-      Development and Distribution License("CDDL") (collectively, the
-      "License").  You may not use this file except in compliance with
-      the License. You can obtain a copy of the License at
-      https://glassfish.dev.java.net/public/CDDL+GPL.html or
-      glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
-      specific language governing permissions and limitations under the
-      License.
-
-      When distributing the software, include this License Header
-      Notice in each file and include the License file at
-      glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
-      particular file as subject to the "Classpath" exception as
-      provided by Oracle in the GPL Version 2 section of the License file
-      that accompanied this code.  If applicable, add the following
-      below the License Header, with the fields enclosed by brackets []
-      replaced by your own identifying information:
-      "Portions Copyrighted [year] [name of copyright owner]"
-
-      Contributor(s):
-
-      If you wish your version of this file to be governed by only the
-      CDDL or only the GPL Version 2, indicate your decision by adding
-      "[Contributor] elects to include this software in this
-      distribution under the [CDDL or GPL Version 2] license."  If you
-      don't indicate a single choice of license, a recipient has the
-      option to distribute your version of this file under either the
-      CDDL, the GPL Version 2 or to extend the choice of license to its
-      licensees as provided above.  However, if you add GPL Version 2
-      code and therefore, elected the GPL Version 2 license, then the
-      option applies only if the new code is made subject to such
-      option by the copyright holder.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      This is the XML Schema for the JSP 2.2 deployment descriptor
-      types.  The JSP 2.2 schema contains all the special
-      structures and datatypes that are necessary to use JSP files
-      from a web application.
-
-      The contents of this schema is used by the web-common_3_0.xsd
-      file to define JSP specific content.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-
-      - In elements that specify a pathname to a file within the
-      same JAR file, relative filenames (i.e., those not
-      starting with "/") are considered relative to the root of
-      the JAR file's namespace.  Absolute filenames (i.e., those
-      starting with "/") also specify names in the root of the
-      JAR file's namespace.  In general, relative names are
-      preferred.  The exception is .war files where absolute
-      names are preferred for consistency with the Servlet API.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_6.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="jsp-configType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The jsp-configType is used to provide global configuration
-        information for the JSP files in a web application. It has
-        two subelements, taglib and jsp-property-group.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="taglib"
-                   type="javaee:taglibType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="jsp-property-group"
-                   type="javaee:jsp-property-groupType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="jsp-fileType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The jsp-file element contains the full path to a JSP file
-        within the web application beginning with a `/'.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:pathType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="jsp-property-groupType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The jsp-property-groupType is used to group a number of
-        files so they can be given global property information.
-        All files so described are deemed to be JSP files.  The
-        following additional properties can be described:
-        
-        - Control whether EL is ignored.
-        - Control whether scripting elements are invalid.
-        - Indicate pageEncoding information.
-        - Indicate that a resource is a JSP document (XML).
-        - Prelude and Coda automatic includes.
-        - Control whether the character sequence #{ is allowed
-        when used as a String literal.
-        - Control whether template text containing only
-        whitespaces must be removed from the response output.
-        - Indicate the default contentType information.
-        - Indicate the default buffering model for JspWriter
-        - Control whether error should be raised for the use of
-        undeclared namespaces in a JSP page.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="url-pattern"
-                   type="javaee:url-patternType"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="el-ignored"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Can be used to easily set the isELIgnored
-            property of a group of JSP pages.  By default, the
-            EL evaluation is enabled for Web Applications using
-            a Servlet 2.4 or greater web.xml, and disabled
-            otherwise.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="page-encoding"
-                   type="javaee:string"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The valid values of page-encoding are those of the
-            pageEncoding page directive.  It is a
-            translation-time error to name different encodings
-            in the pageEncoding attribute of the page directive
-            of a JSP page and in a JSP configuration element
-            matching the page.  It is also a translation-time
-            error to name different encodings in the prolog
-            or text declaration of a document in XML syntax and
-            in a JSP configuration element matching the document.
-            It is legal to name the same encoding through
-            mulitple mechanisms.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="scripting-invalid"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Can be used to easily disable scripting in a
-            group of JSP pages.  By default, scripting is
-            enabled.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="is-xml"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            If true, denotes that the group of resources
-            that match the URL pattern are JSP documents,
-            and thus must be interpreted as XML documents.
-            If false, the resources are assumed to not
-            be JSP documents, unless there is another
-            property group that indicates otherwise.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="include-prelude"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="unbounded">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The include-prelude element is a context-relative
-            path that must correspond to an element in the
-            Web Application.  When the element is present,
-            the given path will be automatically included (as
-            in an include directive) at the beginning of each
-            JSP page in this jsp-property-group.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="include-coda"
-                   type="javaee:pathType"
-                   minOccurs="0"
-                   maxOccurs="unbounded">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The include-coda element is a context-relative
-            path that must correspond to an element in the
-            Web Application.  When the element is present,
-            the given path will be automatically included (as
-            in an include directive) at the end of each
-            JSP page in this jsp-property-group.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="deferred-syntax-allowed-as-literal"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The character sequence #{ is reserved for EL expressions.
-            Consequently, a translation error occurs if the #{
-            character sequence is used as a String literal, unless
-            this element is enabled (true). Disabled (false) by
-            default.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="trim-directive-whitespaces"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Indicates that template text containing only whitespaces
-            must be removed from the response output. It has no
-            effect on JSP documents (XML syntax). Disabled (false)
-            by default.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="default-content-type"
-                   type="javaee:string"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The valid values of default-content-type are those of the
-            contentType page directive.  It specifies the default
-            response contentType if the page directive does not include
-            a contentType attribute.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="buffer"
-                   type="javaee:string"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The valid values of buffer are those of the
-            buffer page directive.  It specifies if buffering should be
-            used for the output to response, and if so, the size of the
-            buffer to use.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="error-on-undeclared-namespace"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The default behavior when a tag with unknown namespace is used
-            in a JSP page (regular syntax) is to silently ignore it.  If
-            set to true, then an error must be raised during the translation
-            time when an undeclared tag is used in a JSP page.  Disabled
-            (false) by default.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="taglibType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The taglibType defines the syntax for declaring in
-        the deployment descriptor that a tag library is
-        available to the application.  This can be done
-        to override implicit map entries from TLD files and
-        from the container.
-        
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="taglib-uri"
-                   type="javaee:string">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            A taglib-uri element describes a URI identifying a
-            tag library used in the web application.  The body
-            of the taglib-uri element may be either an
-            absolute URI specification, or a relative URI.
-            There should be no entries in web.xml with the
-            same taglib-uri value.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="taglib-location"
-                   type="javaee:pathType">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            the taglib-location element contains the location
-            (as a resource relative to the root of the web
-            application) where to find the Tag Library
-            Description file for the tag library.
-            
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id"
-                   type="xsd:ID"/>
-  </xsd:complexType>
-
-</xsd:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_4_0.xsd
similarity index 85%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_1.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_4_0.xsd
index 898f1b3..2da0cf3 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_3_1.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-app_4_0.xsd
@@ -5,14 +5,14 @@
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
-            version="3.1">
+            version="4.0">
   <xsd:annotation>
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
+
+      Copyright (c) 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
       The contents of this file are subject to the terms of either the GNU
       General Public License Version 2 only ("GPL") or the Common Development
       and Distribution License("CDDL") (collectively, the "License").  You
@@ -21,20 +21,20 @@
       https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
       or packager/legal/LICENSE.txt.  See the License for the specific
       language governing permissions and limitations under the License.
-      
+
       When distributing the software, include this License Header Notice in each
       file and include the License file at packager/legal/LICENSE.txt.
-      
+
       GPL Classpath Exception:
       Oracle designates this particular file as subject to the "Classpath"
       exception as provided by Oracle in the GPL Version 2 section of the License
       file that accompanied this code.
-      
+
       Modifications:
       If applicable, add the following below the License Header, with the fields
       enclosed by brackets [] replaced by your own identifying information:
       "Portions Copyright [year] [name of copyright owner]"
-      
+
       Contributor(s):
       If you wish your version of this file to be governed by only the CDDL or
       only the GPL Version 2, indicate your decision by adding "[Contributor]
@@ -46,37 +46,37 @@
       and therefore, elected the GPL Version 2 license, then the option applies
       only if the new code is made subject to such option by the copyright
       holder.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:annotation>
     <xsd:documentation>
-      <![CDATA[[
-      This is the XML Schema for the Servlet 3.1 deployment descriptor.
+      <![CDATA[
+      This is the XML Schema for the Servlet 4.0 deployment descriptor.
       The deployment descriptor must be named "WEB-INF/web.xml" in the
       web application's war file.  All Servlet deployment descriptors
       must indicate the web application schema by using the Java EE
       namespace:
-      
-      http://xmlns.jcp.org/xml/ns/javaee 
-      
-      and by indicating the version of the schema by 
-      using the version element as shown below: 
-      
+
+      http://xmlns.jcp.org/xml/ns/javaee
+
+      and by indicating the version of the schema by
+      using the version element as shown below:
+
       <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="..."
-      version="3.1"> 
+      version="4.0">
       ...
       </web-app>
-      
+
       The instance documents may indicate the published version of
       the schema using the xsi:schemaLocation attribute for Java EE
       namespace with the following location:
-      
-      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd
-      
+
+      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd
+
       ]]>
     </xsd:documentation>
   </xsd:annotation>
@@ -86,7 +86,7 @@
 
       The following conventions apply to all Java EE
       deployment descriptor elements unless indicated otherwise.
-      
+
       - In elements that specify a pathname to a file within the
       same JAR file, relative filenames (i.e., those not
       starting with "/") are considered relative to the root of
@@ -95,11 +95,11 @@
       JAR file's namespace.  In general, relative names are
       preferred.  The exception is .war files where absolute
       names are preferred for consistency with the Servlet API.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
-  <xsd:include schemaLocation="web-common_3_1.xsd"/>
+  <xsd:include schemaLocation="web-common_4_0.xsd"/>
 
 
 <!-- **************************************************** -->
@@ -122,8 +122,8 @@
         must concatenate the element contents.  The multiple occurence
         of the element distributable is redundant and the container
         treats that case exactly in the same way when there is only
-        one distributable. 
-        
+        one distributable.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:unique name="web-common-servlet-name-uniqueness">
@@ -132,7 +132,7 @@
 
           The servlet element contains the name of a servlet.
           The name must be unique within the web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet"/>
@@ -144,7 +144,7 @@
 
           The filter element contains the name of a filter.
           The name must be unique within the web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:filter"/>
@@ -159,9 +159,9 @@
           application's environment and is relative to the
           java:comp/env context.  The name must be unique within
           the web application.
-          
+
           It is recommended that name is prefixed with "ejb/".
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-local-ref"/>
@@ -176,9 +176,9 @@
           application's environment and is relative to the
           java:comp/env context.  The name must be unique within
           the web application.
-          
+
           It is recommended that name is prefixed with "ejb/".
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-ref"/>
@@ -193,7 +193,7 @@
           environment entry name used in the web application code.
           The name is a JNDI name relative to the java:comp/env
           context and must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-env-ref"/>
@@ -208,7 +208,7 @@
           environment entry name used in the web application code.
           The name is a JNDI name relative to the java:comp/env
           context and must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:message-destination-ref"/>
@@ -222,7 +222,7 @@
           resource manager connection factory reference.  The name
           is a JNDI name relative to the java:comp/env context.
           The name must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-ref"/>
@@ -236,7 +236,7 @@
           application's environment entry.  The name is a JNDI
           name relative to the java:comp/env context.  The name
           must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:env-entry"/>
@@ -248,7 +248,7 @@
 
           A role-name-key is specified to allow the references
           from the security-role-refs.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:security-role"/>
@@ -261,7 +261,7 @@
 
           The keyref indicates the references from
           security-role-ref to a specified role-name.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
@@ -279,17 +279,56 @@
                    type="javaee:string"
                    minOccurs="0"/>
       <xsd:group ref="javaee:web-commonType"/>
+      <xsd:element name="default-context-path"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            When specified, this element provides a default context path
+            of the web application. An empty value for this element must cause
+            the web application to be deployed at the root for the container.
+            Otherwise, the default context path must start with
+            a “/“ character but not end with a “/“ character.
+            Servlet containers may provide vendor specific configuration
+            options that allows specifying a value that overrides the value
+            specified here.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="request-character-encoding"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            When specified, this element provides a default request
+            character encoding of the web application.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="response-character-encoding"
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            When specified, this element provides a default response
+            character encoding of the web application.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
       <xsd:element name="deny-uncovered-http-methods"
                    type="javaee:emptyType">
         <xsd:annotation>
           <xsd:documentation>
 
             When specified, this element causes uncovered http methods
-            to be denied. For every url-pattern that is the target of a 
+            to be denied. For every url-pattern that is the target of a
             security-constrant, this element causes all HTTP methods that
             are NOT covered (by a security constraint) at the url-pattern
             to be denied.
-            
+
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
@@ -307,7 +346,7 @@
       <xsd:documentation>
 
         Please see section 8.2.2 of the specification for details.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:choice minOccurs="0"
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_4_0.xsd
similarity index 93%
rename from contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_1.xsd
rename to contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_4_0.xsd
index 435ba58..d524515 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_3_1.xsd
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/web-fragment_4_0.xsd
@@ -5,14 +5,14 @@
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             elementFormDefault="qualified"
             attributeFormDefault="unqualified"
-            version="3.1">
+            version="4.0">
   <xsd:annotation>
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-      
-      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
-      
+
+      Copyright (c) 2009-2017 Oracle and/or its affiliates. All rights reserved.
+
       The contents of this file are subject to the terms of either the GNU
       General Public License Version 2 only ("GPL") or the Common Development
       and Distribution License("CDDL") (collectively, the "License").  You
@@ -21,20 +21,20 @@
       https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
       or packager/legal/LICENSE.txt.  See the License for the specific
       language governing permissions and limitations under the License.
-      
+
       When distributing the software, include this License Header Notice in each
       file and include the License file at packager/legal/LICENSE.txt.
-      
+
       GPL Classpath Exception:
       Oracle designates this particular file as subject to the "Classpath"
       exception as provided by Oracle in the GPL Version 2 section of the License
       file that accompanied this code.
-      
+
       Modifications:
       If applicable, add the following below the License Header, with the fields
       enclosed by brackets [] replaced by your own identifying information:
       "Portions Copyright [year] [name of copyright owner]"
-      
+
       Contributor(s):
       If you wish your version of this file to be governed by only the CDDL or
       only the GPL Version 2, indicate your decision by adding "[Contributor]
@@ -46,37 +46,37 @@
       and therefore, elected the GPL Version 2 license, then the option applies
       only if the new code is made subject to such option by the copyright
       holder.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:annotation>
     <xsd:documentation>
-      <![CDATA[[
-      This is the XML Schema for the Servlet 3.1 deployment descriptor.
+      <![CDATA[
+      This is the XML Schema for the Servlet 4.0 deployment descriptor.
       The deployment descriptor must be named "META-INF/web-fragment.xml"
       in the web fragment's jar file.  All Servlet deployment descriptors
       must indicate the web application schema by using the Java EE
       namespace:
-      
-      http://xmlns.jcp.org/xml/ns/javaee 
-      
-      and by indicating the version of the schema by 
-      using the version element as shown below: 
-      
+
+      http://xmlns.jcp.org/xml/ns/javaee
+
+      and by indicating the version of the schema by
+      using the version element as shown below:
+
       <web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="..."
-      version="3.1"> 
+      version="4.0">
       ...
       </web-fragment>
-      
+
       The instance documents may indicate the published version of
       the schema using the xsi:schemaLocation attribute for Java EE
       namespace with the following location:
-      
-      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd
-      
+
+      http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd
+
       ]]>
     </xsd:documentation>
   </xsd:annotation>
@@ -86,7 +86,7 @@
 
       The following conventions apply to all Java EE
       deployment descriptor elements unless indicated otherwise.
-      
+
       - In elements that specify a pathname to a file within the
       same JAR file, relative filenames (i.e., those not
       starting with "/") are considered relative to the root of
@@ -95,11 +95,11 @@
       JAR file's namespace.  In general, relative names are
       preferred.  The exception is .war files where absolute
       names are preferred for consistency with the Servlet API.
-      
+
     </xsd:documentation>
   </xsd:annotation>
 
-  <xsd:include schemaLocation="web-common_3_1.xsd"/>
+  <xsd:include schemaLocation="web-common_4_0.xsd"/>
 
 
 <!-- **************************************************** -->
@@ -122,8 +122,8 @@
         must concatenate the element contents.  The multiple occurence
         of the element distributable is redundant and the container
         treats that case exactly in the same way when there is only
-        one distributable. 
-        
+        one distributable.
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:unique name="web-common-servlet-name-uniqueness">
@@ -132,7 +132,7 @@
 
           The servlet element contains the name of a servlet.
           The name must be unique within the web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet"/>
@@ -144,7 +144,7 @@
 
           The filter element contains the name of a filter.
           The name must be unique within the web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:filter"/>
@@ -159,9 +159,9 @@
           application's environment and is relative to the
           java:comp/env context.  The name must be unique within
           the web application.
-          
+
           It is recommended that name is prefixed with "ejb/".
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-local-ref"/>
@@ -176,9 +176,9 @@
           application's environment and is relative to the
           java:comp/env context.  The name must be unique within
           the web application.
-          
+
           It is recommended that name is prefixed with "ejb/".
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-ref"/>
@@ -193,7 +193,7 @@
           environment entry name used in the web application code.
           The name is a JNDI name relative to the java:comp/env
           context and must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-env-ref"/>
@@ -208,7 +208,7 @@
           environment entry name used in the web application code.
           The name is a JNDI name relative to the java:comp/env
           context and must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:message-destination-ref"/>
@@ -222,7 +222,7 @@
           resource manager connection factory reference.  The name
           is a JNDI name relative to the java:comp/env context.
           The name must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-ref"/>
@@ -236,7 +236,7 @@
           application's environment entry.  The name is a JNDI
           name relative to the java:comp/env context.  The name
           must be unique within a web application.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:env-entry"/>
@@ -248,7 +248,7 @@
 
           A role-name-key is specified to allow the references
           from the security-role-refs.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:security-role"/>
@@ -261,7 +261,7 @@
 
           The keyref indicates the references from
           security-role-ref to a specified role-name.
-          
+
         </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
@@ -292,7 +292,7 @@
       <xsd:documentation>
 
         Please see section 8.2.2 of the specification for details.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
@@ -322,7 +322,7 @@
         comes
         before or after other documents within the application.
         See section 8.2.2 of the specification for details.
-        
+
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly-messaging-activemq-deployment_1_0_1.xsd b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly-messaging-activemq-deployment_1_0_1.xsd
new file mode 100644
index 0000000..321d63a
--- /dev/null
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly-messaging-activemq-deployment_1_0_1.xsd
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2011, Red Hat, Inc., and individual contributors as indicated
+~ by the @authors tag.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="urn:jboss:messaging-activemq-deployment:1.0.1"
+           targetNamespace="urn:jboss:messaging-activemq-deployment:1.0.1"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           version="1.0.1">
+    
+    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
+
+    <xs:element name="messaging-deployment">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of a messaging deployment
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="server" type="serverType"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:complexType name="serverType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                The configuration of entries for a ActiveMQ server.
+            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:all>
+            <xs:element maxOccurs="1" minOccurs="0" name="jms-destinations">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="jms-queue" maxOccurs="unbounded" minOccurs="0" type="jmsQueueType"/>
+                        <xs:element name="jms-topic" maxOccurs="unbounded" minOccurs="0" type="jmsTopicType"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:all>
+        <xs:attribute name="name" type="xs:string" use="optional" default="default">
+            <xs:annotation>
+                <xs:documentation>
+                    The name to use for this ActiveMQ Server. Must correspond to a ActiveMQ server installed in
+                    the main configuration.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="entryType">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="jmsQueueType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+            <xs:element name="selector" maxOccurs="1" minOccurs="0">
+                <xs:complexType>
+                    <xs:attribute name="string" type="xs:string" use="required"/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="durable" type="xs:boolean" maxOccurs="1" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="jmsTopicType">
+        <xs:sequence>
+            <xs:element name="entry" type="entryType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="transactionType">
+        <xs:attribute name="mode" use="required" type="modeType"/>
+    </xs:complexType>
+
+    <xs:simpleType name="modeType">
+        <xs:restriction base="xs:token">
+            <xs:enumeration value="xa">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="local">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="none">
+                <xs:annotation>
+                    <xs:documentation></xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+
+</xs:schema>
diff --git a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png
index b0f2a53..3ada597 100644
--- a/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png
+++ b/contrib/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/resources/wildfly.png
Binary files differ
diff --git a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/build.xml b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/build.xml
index 9cfe874..e3c908f 100644
--- a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/build.xml
+++ b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/build.xml
@@ -2,6 +2,11 @@
 <!-- You may freely edit this file. See commented blocks below for -->
 <!-- some examples of how to customize the build. -->
 <!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
 <project name="JBoss4WebTest" default="default" basedir=".">
     <description>Builds, tests, and runs the project JBoss4WebTest.</description>
     <import file="nbproject/build-impl.xml"/>
@@ -21,13 +26,15 @@
       -post-compile-test:        called after javac compilation of JUnit tests
       -pre-compile-test-single:  called before javac compilation of single JUnit test
       -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-dist:                 called before jar building 
-      -post-dist:                called after jar building 
+      -pre-dist:                 called before archive building
+      -post-dist:                called after archive building
       -post-clean:               called after cleaning build products 
+      -pre-run-deploy:           called before deploying
+      -post-run-deploy:          called after deploying
 
     Example of pluging an obfuscator after the compilation could look like 
 
-        <target name="post-compile">
+        <target name="-post-compile">
             <obfuscate>
                 <fileset dir="${build.classes.dir}"/>
             </obfuscate>
@@ -43,7 +50,7 @@
       init-macrodef-javac:    defines macro for javac compilation
       init-macrodef-junit:   defines macro for junit execution
       init-macrodef-debug:    defines macro for class debugging
-      do-dist:                jar archive building
+      do-dist:                archive building
       run:                    execution of project 
       javadoc-build:          javadoc generation 
 
diff --git a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/build-impl.xml b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/build-impl.xml
index a502244..4d40fd6 100644
--- a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/build-impl.xml
+++ b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/build-impl.xml
@@ -1,52 +1,54 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
+        *** GENERATED FROM project.xml - DO NOT EDIT  ***
+        ***         EDIT ../build.xml INSTEAD         ***
 
-For the purpose of easier reading the script
-is divided into following sections:
-  - initialization
-  - compilation
-  - dist
-  - execution
-  - debugging
-  - javadoc
-  - junit compilation
-  - junit execution
-  - junit debugging
-  - cleanup
+        For the purpose of easier reading the script
+        is divided into following sections:
+        - initialization
+        - compilation
+        - dist
+        - execution
+        - debugging
+        - javadoc
+        - test compilation
+        - test execution
+        - test debugging
+        - cleanup
 
--->
-<project name="JBoss4WebTest-impl" default="build" basedir=".." xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:webproject1="http://www.netbeans.org/ns/web-project/1">
-    <target name="default" depends="dist,javadoc" description="Build whole project."/>
+        -->
+<project xmlns:webproject1="http://www.netbeans.org/ns/web-project/1" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" basedir=".." default="default" name="JBoss4WebTest-impl">
+    <import file="ant-deploy.xml"/>
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <target depends="dist,javadoc" description="Build whole project." name="default"/>
     <!--
-    ======================
-    INITIALIZATION SECTION
-    ======================
-    -->
+                INITIALIZATION SECTION
+            -->
     <target name="-pre-init">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-init-private" depends="-pre-init">
+    <target depends="-pre-init" name="-init-private">
         <property file="nbproject/private/private.properties"/>
     </target>
-    <target name="-init-user" depends="-pre-init,-init-private">
+    <target depends="-pre-init,-init-private" name="-init-user">
         <property file="${user.properties.file}"/>
         <!-- The two properties below are usually overridden -->
         <!-- by the active platform. Just a fallback. -->
         <property name="default.javac.source" value="1.4"/>
         <property name="default.javac.target" value="1.4"/>
     </target>
-    <target name="-init-project" depends="-pre-init,-init-private,-init-user">
+    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
         <property file="nbproject/project.properties"/>
     </target>
-    <target name="-do-ear-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir">
-        <property value="${build.ear.web.dir}/META-INF" name="build.meta.inf.dir"/>
-        <property name="build.classes.dir.real" value="${build.ear.classes.dir}"/>
-        <property name="build.web.dir.real" value="${build.ear.web.dir}"/>
-    </target>
-    <target name="-do-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property, -do-ear-init">
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
         <condition property="have.tests">
             <or>
                 <available file="${test.src.dir}"/>
@@ -81,33 +83,157 @@
         <condition property="do.compile.jsps">
             <istrue value="${compile.jsps}"/>
         </condition>
+        <condition property="do.debug.server">
+            <or>
+                <not>
+                    <isset property="debug.server"/>
+                </not>
+                <istrue value="${debug.server}"/>
+                <and>
+                    <not>
+                        <istrue value="${debug.server}"/>
+                    </not>
+                    <not>
+                        <istrue value="${debug.client}"/>
+                    </not>
+                </and>
+            </or>
+        </condition>
+        <condition property="do.debug.client">
+            <istrue value="${debug.client}"/>
+        </condition>
         <condition property="do.display.browser">
             <istrue value="${display.browser}"/>
         </condition>
-        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
-        <condition property="do.war.package.with.custom.manifest">
+        <condition property="do.display.browser.debug.old">
             <and>
-                <istrue value="${war.package}"/>
-                <isset property="has.custom.manifest"/>
-            </and>
-        </condition>
-        <condition property="do.war.package.without.custom.manifest">
-            <and>
-                <istrue value="${war.package}"/>
+                <isset property="do.display.browser"/>
                 <not>
-                    <isset property="has.custom.manifest"/>
+                    <isset property="do.debug.client"/>
+                </not>
+                <not>
+                    <isset property="browser.context"/>
                 </not>
             </and>
         </condition>
-        <property value="${build.web.dir}/META-INF" name="build.meta.inf.dir"/>
-        <property name="build.classes.dir.real" value="${build.classes.dir}"/>
-        <property name="build.web.dir.real" value="${build.web.dir}"/>
+        <condition property="do.display.browser.debug">
+            <and>
+                <isset property="do.display.browser"/>
+                <not>
+                    <isset property="do.debug.client"/>
+                </not>
+                <isset property="browser.context"/>
+            </and>
+        </condition>
+        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
+        <available file="${persistence.xml.dir}/persistence.xml" property="has.persistence.xml"/>
+        <condition property="do.war.package.with.custom.manifest">
+            <isset property="has.custom.manifest"/>
+        </condition>
+        <condition property="do.war.package.without.custom.manifest">
+            <not>
+                <isset property="has.custom.manifest"/>
+            </not>
+        </condition>
+        <condition property="do.tmp.war.package.with.custom.manifest">
+            <and>
+                <isset property="has.custom.manifest"/>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package.without.custom.manifest">
+            <and>
+                <not>
+                    <isset property="has.custom.manifest"/>
+                </not>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package">
+            <or>
+                <isfalse value="${directory.deployment.supported}"/>
+                <isset property="dist.ear.dir"/>
+            </or>
+        </condition>
+        <property name="build.meta.inf.dir" value="${build.web.dir}/META-INF"/>
+        <condition else="" property="application.args.param" value="${application.args}">
+            <and>
+                <isset property="application.args"/>
+                <not>
+                    <equals arg1="${application.args}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="runmain.jvmargs" value=""/>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <and>
+                <isset property="endorsed.classpath"/>
+                <length length="0" string="${endorsed.classpath}" when="greater"/>
+            </and>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <property name="javac.fork" value="${jdkBug6558476}"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+    </target>
+    <target depends="init" name="-init-cos" unless="deploy.on.save">
+        <condition property="deploy.on.save" value="true">
+            <or>
+                <istrue value="${j2ee.deploy.on.save}"/>
+                <istrue value="${j2ee.compile.on.save}"/>
+            </or>
+        </condition>
     </target>
     <target name="-post-init">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-init-check" depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
         <fail unless="src.dir">Must set src.dir</fail>
         <fail unless="test.src.dir">Must set test.src.dir</fail>
         <fail unless="build.dir">Must set build.dir</fail>
@@ -120,6 +246,27 @@
         <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
         <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
         <fail unless="dist.war">Must set dist.war</fail>
+        <condition property="missing.j2ee.server.home">
+            <and>
+                <matches pattern="j2ee.server.home" string="${j2ee.platform.classpath}"/>
+                <not>
+                    <isset property="j2ee.server.home"/>
+                </not>
+            </and>
+        </condition>
+        <fail if="missing.j2ee.server.home">
+The Java EE server classpath is not correctly set up - server home directory is missing.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Dj2ee.server.home=&lt;app_server_installation_directory&gt;
+                </fail>
+        <fail unless="j2ee.platform.classpath">
+The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Duser.properties.file=&lt;path_to_property_file&gt; (where you put the property "j2ee.platform.classpath" in a .properties file)
+or ant -Dj2ee.platform.classpath=&lt;server_classpath&gt; (where no properties file is used)
+                </fail>
     </target>
     <target name="-init-macrodef-property">
         <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
@@ -130,70 +277,453 @@
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-javac">
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
         <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
-            <attribute name="srcdir" default="${src.dir}"/>
-            <attribute name="destdir" default="${build.classes.dir.real}"/>
-            <attribute name="classpath" default="${javac.classpath}:${j2ee.platform.classpath}"/>
-            <attribute name="debug" default="${javac.debug}"/>
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <mkdir dir="@{apgeneratedsrcdir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <compilerarg value="-processorpath"/>
+                    <compilerarg path="@{processorpath}:${empty.dir}"/>
+                    <compilerarg line="${ap.processors.internal}"/>
+                    <compilerarg value="-s"/>
+                    <compilerarg path="@{apgeneratedsrcdir}"/>
+                    <compilerarg line="${ap.proc.none.internal}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <compilerarg line="${javac.compilerargs}"/>
                     <customize/>
                 </javac>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-junit">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
-            <attribute name="includes" default="**/*Test.java"/>
+    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
+        <macrodef name="depend" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
             <sequential>
-                <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" includes="@{includes}"/>
-                    </batchtest>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
                     <classpath>
-                        <path path="${run.test.classpath}"/>
+                        <path path="@{classpath}"/>
                     </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
+                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
+                <delete>
+                    <files includesfile="${javac.includesfile.binary}"/>
+                </delete>
+                <delete file="${javac.includesfile.binary}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
                     <syspropertyset>
                         <propertyref prefix="test-sys-prop."/>
-                        <mapper type="glob" from="test-sys-prop.*" to="*"/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
                     </syspropertyset>
                     <formatter type="brief" usefile="false"/>
                     <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
                 </junit>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
-            <attribute name="classname" default="${main.class}"/>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java fork="true" classname="@{classname}">
+                <property name="run.jvmargs.ide" value=""/>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="JBoss4WebTest" testname="TestNG tests" workingDir="${basedir}">
+                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+        <macrodef name="test" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <webproject2:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${runmain.jvmargs}"/>
+                    </customize>
+                </webproject2:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="run.jvmargs.ide" value=""/>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:junit-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename JBoss4WebTest -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <webproject1:debug args="${testng.cmd.args}" classname="org.testng.TestNG" classpath="${debug.test.classpath}:${j2ee.platform.embeddableejb.classpath}">
+                    <customize>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
+                    </customize>
+                </webproject1:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <webproject2:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2/>
+                </webproject2:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <webproject2:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${runmain.jvmargs}"/>
+                    </customize>
+                </webproject2:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <webproject2:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </webproject2:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg line="${runmain.jvmargs}"/>
                     <classpath>
-                        <path path="${build.classes.dir.real}:${javac.classpath}:${j2ee.platform.classpath}"/>
+                        <path path="@{classpath}:${j2ee.platform.classpath}"/>
                     </classpath>
                     <syspropertyset>
                         <propertyref prefix="run-sys-prop."/>
-                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
                     </syspropertyset>
                     <customize/>
                 </java>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
-            <attribute name="name" default="${main.class}"/>
-            <attribute name="classpath" default="${debug.classpath}"/>
+    <target name="-init-macrodef-nbjsdebug">
+        <macrodef name="nbjsdebugstart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${client.url}" name="webUrl"/>
             <sequential>
-                <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="@{name}">
+                <nbjsdebugstart urlPart="${client.urlPart}" webUrl="@{webUrl}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}">
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
@@ -201,156 +731,211 @@
             </sequential>
         </macrodef>
         <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
-            <attribute name="dir" default="${build.classes.dir.real}"/>
+            <attribute default="${build.classes.dir}" name="dir"/>
             <sequential>
                 <nbjpdareload>
-                    <fileset includes="${fix.includes}*.class" dir="@{dir}"/>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="${fix.includes}*.class"/>
+                    </fileset>
                 </nbjpdareload>
             </sequential>
         </macrodef>
-    </target>
-    <target name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
-            <attribute name="classname" default="${main.class}"/>
-            <attribute name="classpath" default="${debug.classpath}"/>
-            <attribute name="args" default="${application.args}"/>
+        <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1">
             <sequential>
-                <java fork="true" classname="@{classname}">
-                    <jvmarg value="-Xdebug"/>
-                    <jvmarg value="-Xnoagent"/>
-                    <jvmarg value="-Djava.compiler=none"/>
-                    <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
+                <nbjpdaappreloaded/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${application.args.param}" name="args"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
                     <jvmarg line="${runmain.jvmargs}"/>
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
                     <syspropertyset>
                         <propertyref prefix="run-sys-prop."/>
-                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
                     </syspropertyset>
                     <arg line="@{args}"/>
+                    <customize/>
                 </java>
             </sequential>
         </macrodef>
     </target>
-    <target name="-init-macrodef-copy-ear-war">
-        <macrodef name="copy-ear-war">
-            <attribute name="file"/>
-            <attribute name="propname"/>
-            <sequential>
-                <property name="temp.dirname" value="${dist.ear.dir}/temp"/>
-                <mkdir dir="${dist.ear.dir}/temp"/>
-                <basename property="base_@{propname}" file="@{file}"/>
-                <unzip src="@{file}" dest="${temp.dirname}">
-                    <patternset>
-                        <include name="META-INF/tlds/*.tld"/>
-                    </patternset>
-                </unzip>
-                <available file="${temp.dirname}/META-INF/tlds" type="dir" property="hastlds_@{propname}"/>
-                <condition value="${build.web.dir.real}/WEB-INF/lib" property="copy.to.dir_@{propname}">
-                    <isset property="hastlds_@{propname}"/>
-                </condition>
-                <condition value="${dist.ear.dir}" property="copy.to.dir_@{propname}">
-                    <not>
-                        <isset property="hastlds_@{propname}"/>
-                    </not>
-                </condition>
-                <copy file="@{file}" todir="${copy.to.dir_@{propname}}"/>
-                <condition value="${base_@{propname}}" property="@{propname}">
-                    <not>
-                        <isset property="hastlds_@{propname}"/>
-                    </not>
-                </condition>
-                <condition value="" property="@{propname}">
-                    <isset property="hastlds_@{propname}"/>
-                </condition>
-                <delete dir="${dist.ear.dir}/temp"/>
-            </sequential>
-        </macrodef>
+    <target name="-init-taskdefs">
+        <fail unless="libs.CopyLibs.classpath">
+The libs.CopyLibs.classpath property is not set up.
+This property must point to
+org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
+of NetBeans IDE installation and is usually located at
+&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
+Either open the project in the IDE and make sure CopyLibs library
+exists or setup the property manually. For example like this:
+ ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
+                </fail>
+        <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
     </target>
-    <target name="init" depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-copy-ear-war"/>
+    <target name="-init-ap-cmdline-properties">
+        <property name="annotation.processing.enabled" value="true"/>
+        <property name="annotation.processing.processors.list" value=""/>
+        <property name="annotation.processing.run.all.processors" value="true"/>
+        <property name="javac.processorpath" value="${javac.classpath}"/>
+        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
+        <condition property="ap.supported.internal" value="true">
+            <not>
+                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
+            </not>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
+        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
+            <isfalse value="${annotation.processing.run.all.processors}"/>
+        </condition>
+        <condition else="" property="ap.proc.none.internal" value="-proc:none">
+            <isfalse value="${annotation.processing.enabled}"/>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
+        <property name="ap.cmd.line.internal" value=""/>
+    </target>
     <!--
-    ======================
-    COMPILATION SECTION
-    ======================
-    -->
-    <target name="deps-module-jar" depends="init" if="no.dist.ear.dir" unless="no.deps"/>
-    <target name="deps-ear-jar" depends="init" if="dist.ear.dir" unless="no.deps"/>
-    <target name="deps-jar" depends="init, deps-module-jar, deps-ear-jar" unless="no.deps"/>
-    <target name="-pre-pre-compile" depends="init,deps-jar">
-        <mkdir dir="${build.classes.dir.real}"/>
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-nbjsdebug,-init-macrodef-debug,-init-taskdefs,-init-ap-cmdline" name="init"/>
+    <!--
+                COMPILATION SECTION
+            -->
+    <target depends="init" if="no.dist.ear.dir" name="deps-module-jar" unless="no.deps"/>
+    <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps"/>
+    <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
+    <target depends="init,deps-jar" name="-pre-pre-compile">
+        <mkdir dir="${build.classes.dir}"/>
     </target>
     <target name="-pre-compile">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
     <target name="-copy-webdir">
-        <copy todir="${build.web.dir.real}">
-            <fileset excludes="${build.web.excludes}" dir="${web.docbase.dir}"/>
+        <copy todir="${build.web.dir}">
+            <fileset dir="${web.docbase.dir}" excludes="${build.web.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+        <copy todir="${build.web.dir}/WEB-INF">
+            <fileset dir="${webinf.dir}" excludes="${build.web.excludes}"/>
         </copy>
     </target>
-    <target name="-do-compile" depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources">
-        <webproject2:javac destdir="${build.classes.dir.real}"/>
-        <copy todir="${build.classes.dir.real}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
+    <target depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources" name="-do-compile">
+        <webproject2:javac destdir="${build.classes.dir}" gensrcdir="${build.generated.sources.dir}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
         </copy>
     </target>
-    <target name="-copy-manifest" if="has.custom.manifest">
+    <target if="has.custom.manifest" name="-copy-manifest">
         <mkdir dir="${build.meta.inf.dir}"/>
         <copy todir="${build.meta.inf.dir}">
             <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
         </copy>
     </target>
+    <target if="has.persistence.xml" name="-copy-persistence-xml">
+        <mkdir dir="${build.web.dir}/WEB-INF/classes/META-INF"/>
+        <copy todir="${build.web.dir}/WEB-INF/classes/META-INF">
+            <fileset dir="${persistence.xml.dir}" includes="persistence.xml orm.xml"/>
+        </copy>
+    </target>
     <target name="-post-compile">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project."/>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
     <target name="-pre-compile-single">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
+    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <webproject2:javac>
-            <customize>
-                <patternset includes="${javac.includes}"/>
-            </customize>
-        </webproject2:javac>
+        <webproject2:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
     </target>
     <target name="-post-compile-single">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="compile-single" depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
-    <target name="compile-jsps" depends="compile" if="do.compile.jsps" description="Test compile JSP pages to expose compilation errors.">
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+    <property name="jspc.schemas" value="/resources/schemas/"/>
+    <property name="jspc.dtds" value="/resources/dtds/"/>
+    <target depends="compile" description="Test compile JSP pages to expose compilation errors." if="do.compile.jsps" name="compile-jsps">
         <mkdir dir="${build.generated.dir}/src"/>
-        <java classname="org.netbeans.modules.web.project.ant.JspC" fork="true" failonerror="true">
+        <java classname="org.netbeans.modules.web.project.ant.JspC" failonerror="true" fork="true">
             <arg value="-uriroot"/>
-            <arg file="${basedir}/${build.web.dir.real}"/>
+            <arg file="${basedir}/${build.web.dir}"/>
             <arg value="-d"/>
             <arg file="${basedir}/${build.generated.dir}/src"/>
             <arg value="-die1"/>
-            <classpath path="${java.home}/../lib/tools.jar:${copyfiles.classpath}:${jspcompilation.classpath}"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
         </java>
         <mkdir dir="${build.generated.dir}/classes"/>
-        <webproject2:javac srcdir="${build.generated.dir}/src" destdir="${build.generated.dir}/classes" classpath="${j2ee.platform.classpath}:${build.classes.dir.real}:${jspcompilation.classpath}"/>
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src"/>
     </target>
-    <target name="-do-compile-single-jsp" depends="compile" if="jsp.includes">
+    <target depends="compile" if="jsp.includes" name="-do-compile-single-jsp">
         <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
         <mkdir dir="${build.generated.dir}/src"/>
-        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" fork="true" failonerror="true">
+        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" failonerror="true" fork="true">
             <arg value="-uriroot"/>
-            <arg file="${basedir}/${build.web.dir.real}"/>
+            <arg file="${basedir}/${build.web.dir}"/>
             <arg value="-d"/>
             <arg file="${basedir}/${build.generated.dir}/src"/>
             <arg value="-die1"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
             <arg value="-jspc.files"/>
             <arg path="${jsp.includes}"/>
-            <classpath path="${java.home}/../lib/tools.jar:${copyfiles.classpath}:${jspcompilation.classpath}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
         </java>
         <mkdir dir="${build.generated.dir}/classes"/>
-        <webproject2:javac srcdir="${build.generated.dir}/src" destdir="${build.generated.dir}/classes" classpath="${j2ee.platform.classpath}:${build.classes.dir.real}:${jspcompilation.classpath}">
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src">
             <customize>
                 <patternset includes="${javac.jsp.includes}"/>
             </customize>
@@ -361,246 +946,481 @@
         <antcall target="-do-compile-single-jsp"/>
     </target>
     <!--
-    ======================
-    DIST BUILDING SECTION
-    ======================
-    -->
+                DIST BUILDING SECTION
+            -->
     <target name="-pre-dist">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-do-dist-without-manifest" if="do.war.package.without.custom.manifest" depends="init,compile,compile-jsps,-pre-dist">
-        <dirname property="dist.jar.dir" file="${dist.war}"/>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.without.custom.manifest" name="-do-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
         <mkdir dir="${dist.jar.dir}"/>
-        <jar jarfile="${dist.war}" compress="${jar.compress}">
-            <fileset dir="${build.web.dir.real}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
         </jar>
     </target>
-    <target name="-do-dist-with-manifest" if="do.war.package.with.custom.manifest" depends="init,compile,compile-jsps,-pre-dist">
-        <dirname property="dist.jar.dir" file="${dist.war}"/>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.with.custom.manifest" name="-do-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
         <mkdir dir="${dist.jar.dir}"/>
-        <jar manifest="${build.meta.inf.dir}/MANIFEST.MF" jarfile="${dist.war}" compress="${jar.compress}">
-            <fileset dir="${build.web.dir.real}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
         </jar>
     </target>
-    <target name="do-dist" depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest"/>
-    <target name="library-inclusion-in-manifest" depends="init" if="dist.ear.dir">
-        <mkdir dir="${build.web.dir.real}/META-INF"/>
-        <manifest file="${build.web.dir.real}/META-INF/MANIFEST.MF" mode="update"/>
-        <delete dir="${dist.ear.dir}/temp"/>
-    </target>
-    <target name="library-inclusion-in-archive" depends="init" unless="dist.ear.dir"/>
-    <target name="do-ear-dist" depends="init,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest">
-        <dirname property="dist.jar.dir" file="${dist.ear.war}"/>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.without.custom.manifest" name="-do-tmp-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
         <mkdir dir="${dist.jar.dir}"/>
-        <jar jarfile="${dist.ear.war}" compress="${jar.compress}" manifest="${build.web.dir.real}/META-INF/MANIFEST.MF">
-            <fileset dir="${build.web.dir.real}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.with.custom.manifest" name="-do-tmp-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
+    <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
+        <mkdir dir="${build.web.dir}/META-INF"/>
+        <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
+    </target>
+    <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir"/>
+    <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
+        <delete dir="${build.web.dir}/WEB-INF/lib"/>
+    </target>
+    <target depends="init,-clean-webinf-lib,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" if="do.tmp.war.package" name="do-ear-dist">
+        <dirname file="${dist.ear.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.ear.war}" manifest="${build.web.dir}/META-INF/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
         </jar>
     </target>
     <target name="-post-dist">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="dist" depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)."/>
-    <target name="dist-ear" depends="init,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR."/>
+    <target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>
+    <target depends="init,-clean-webinf-lib,-init-cos,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR." name="dist-ear"/>
     <!--
-    ======================
-    EXECUTION SECTION
-    ======================
-    -->
-    <target name="run" depends="run-deploy,run-display-browser" description="Deploy to server and show in browser."/>
-    <target name="run-deploy" depends="init,compile,compile-jsps,-do-compile-single-jsp,dist">
-        <nbdeploy debugmode="false" clientUrlPart="${client.urlPart}" forceRedeploy="${forceRedeploy}"/>
+                EXECUTION SECTION
+            -->
+    <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
+    <target name="-pre-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="verify" depends="init,dist">
+    <target name="-post-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-pre-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
+    </target>
+    <target name="-post-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
+    </target>
+    <target name="-run-deploy-am">
+        <!-- Task to deploy to the Access Manager runtime. -->
+    </target>
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest,-pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,-post-run-deploy,-do-update-breakpoints" name="run-deploy"/>
+    <target if="netbeans.home" name="-run-deploy-nb">
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
+    </target>
+    <target name="-init-deploy-ant" unless="netbeans.home">
+        <property name="deploy.ant.archive" value="${dist.war}"/>
+        <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
+        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
+        <property name="deploy.ant.enabled" value="true"/>
+    </target>
+    <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
+    <target if="netbeans.home" name="-run-undeploy-nb">
+        <fail message="Undeploy is not supported from within the IDE"/>
+    </target>
+    <target depends="init,-pre-dist,dist,-post-dist" name="verify">
         <nbverify file="${dist.war}"/>
     </target>
-    <target name="run-display-browser" if="do.display.browser" depends="run-deploy">
+    <target depends="run-deploy,-init-display-browser,-display-browser-nb-old,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
+    <target if="do.display.browser" name="-init-display-browser">
+        <condition property="do.display.browser.nb.old">
+            <and>
+                <isset property="netbeans.home"/>
+                <not>
+                    <isset property="browser.context"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="do.display.browser.nb">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="browser.context"/>
+            </and>
+        </condition>
+        <condition property="do.display.browser.cl">
+            <isset property="deploy.ant.enabled"/>
+        </condition>
+    </target>
+    <target if="do.display.browser.nb.old" name="-display-browser-nb-old">
         <nbbrowse url="${client.url}"/>
     </target>
-    <target name="run-main" depends="init,compile-single">
+    <target if="do.display.browser.nb" name="-display-browser-nb">
+        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+    </target>
+    <target if="do.display.browser.cl" name="-get-browser" unless="browser">
+        <condition property="browser" value="rundll32">
+            <os family="windows"/>
+        </condition>
+        <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
+            <os family="windows"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/open">
+            <os family="mac"/>
+        </condition>
+        <property environment="env"/>
+        <condition property="browser" value="${env.BROWSER}">
+            <isset property="env.BROWSER"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/firefox">
+            <available file="/usr/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/local/firefox/firefox">
+            <available file="/usr/local/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/mozilla">
+            <available file="/usr/bin/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/local/mozilla/mozilla">
+            <available file="/usr/local/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
+            <available file="/usr/sfw/lib/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/firefox">
+            <available file="/opt/csw/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
+            <available file="/usr/sfw/lib/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/mozilla">
+            <available file="/opt/csw/bin/mozilla"/>
+        </condition>
+    </target>
+    <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
+        <fail unless="browser">
+                    Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
+                </fail>
+        <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
+        <echo>Launching ${browse.url}</echo>
+        <exec executable="${browser}" spawn="true">
+            <arg line="${browser.args} ${browse.url}"/>
+        </exec>
+    </target>
+    <target depends="init,-init-cos,compile-single" name="run-main">
         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
         <webproject1:java classname="${run.class}"/>
     </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" name="run-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <webproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-do-update-breakpoints">
+        <webproject1:nbjpdaappreloaded/>
+    </target>
     <!--
-    ======================
-    DEBUGGING SECTION
-    ======================
-    -->
-    <target name="debug" description="Debug project in IDE." depends="init,compile,compile-jsps,-do-compile-single-jsp,dist" if="netbeans.home">
-        <nbdeploy debugmode="true" clientUrlPart="${client.urlPart}"/>
-        <nbjpdaconnect name="${name}" host="${jpda.host}" address="${jpda.address}" transport="${jpda.transport}">
+                DEBUGGING SECTION
+            -->
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" description="Debug project in IDE." if="netbeans.home" name="debug">
+        <nbstartserver debugmode="true"/>
+        <antcall target="connect-debugger"/>
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="true"/>
+        <antcall target="debug-display-browser-old"/>
+        <antcall target="debug-display-browser"/>
+        <antcall target="connect-client-debugger"/>
+    </target>
+    <target if="do.debug.server" name="connect-debugger" unless="is.debugged">
+        <condition property="listeningcp" value="sourcepath">
+            <istrue value="${j2ee.compile.on.save}"/>
+        </condition>
+        <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" listeningcp="${listeningcp}" name="${name}" transport="${jpda.transport}">
             <classpath>
-                <path path="${debug.classpath}:${ws.debug.classpaths}"/>
+                <path path="${debug.classpath}:${j2ee.platform.classpath}"/>
             </classpath>
             <sourcepath>
-                <path path="${web.docbase.dir}:${ws.web.docbase.dirs}"/>
+                <path path="${web.docbase.dir}"/>
             </sourcepath>
         </nbjpdaconnect>
-        <antcall target="debug-display-browser"/>
     </target>
-    <target name="debug-display-browser" if="do.display.browser">
+    <target if="do.display.browser.debug.old" name="debug-display-browser-old">
         <nbbrowse url="${client.url}"/>
     </target>
-    <target name="debug-single" if="netbeans.home" depends="init,compile,compile-jsps,-do-compile-single-jsp,debug"/>
-    <target name="-debug-start-debugger" if="netbeans.home" depends="init">
+    <target if="do.display.browser.debug" name="debug-display-browser">
+        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+    </target>
+    <target if="do.debug.client" name="connect-client-debugger">
+        <webproject1:nbjsdebugstart webUrl="${client.url}"/>
+    </target>
+    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <webproject1:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+    </target>
+    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+    <target depends="init,compile,compile-jsps,-do-compile-single-jsp,debug" if="netbeans.home" name="debug-single"/>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
         <webproject1:nbjpdastart name="${debug.class}"/>
     </target>
-    <target name="-debug-start-debuggee-single" if="netbeans.home" depends="init,compile-single">
+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
         <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
         <webproject1:debug classname="${debug.class}"/>
     </target>
-    <target name="debug-single-main" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
-    <target name="-pre-debug-fix" depends="init">
+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/>
+    <target depends="init" name="-pre-debug-fix">
         <fail unless="fix.includes">Must set fix.includes</fail>
         <property name="javac.includes" value="${fix.includes}.java"/>
     </target>
-    <target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
         <webproject1:nbjpdareload/>
     </target>
-    <target name="debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix"/>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
     <!--
-    ======================
-    JAVADOC SECTION
-    ======================
-    -->
-    <target name="javadoc-build" depends="init">
+            =================
+            PROFILING SECTION
+            =================
+            -->
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target description="Profile a J2EE project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <condition else="start-profiled-server" property="profiler.startserver.target" value="start-profiled-server-extraargs">
+            <isset property="profiler.info.jvmargs.extra"/>
+        </condition>
+        <antcall target="${profiler.startserver.target}"/>
+        <antcall target="run"/>
+        <antcall target="-profile-start-loadgen"/>
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="start-profiled-server">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="start-profiled-server-extraargs">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.extra}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" name="-do-profile">
+        <startprofiler/>
+        <nbstartserver profilemode="true"/>
+        <nbdeploy clientUrlPart="${client.urlPart}" forceRedeploy="true" profilemode="true"/>
+        <antcall target="debug-display-browser-old"/>
+        <antcall target="debug-display-browser"/>
+        <antcall target="-profile-start-loadgen"/>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a J2EE project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+        <antcall target="-do-profile"/>
+    </target>
+    <target depends="-profile-test-single-pre72" name="profile-test-single"/>
+    <target depends="-profile-check" if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target if="profiler.loadgen.path" name="-profile-start-loadgen">
+        <loadgenstart path="${profiler.loadgen.path}"/>
+    </target>
+    <!--
+                JAVADOC SECTION
+            -->
+    <target depends="init" if="have.sources" name="javadoc-build">
         <mkdir dir="${dist.javadoc.dir}"/>
-        <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true">
+        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
             <classpath>
                 <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
             </classpath>
-            <sourcepath>
-                <pathelement location="${src.dir}"/>
-            </sourcepath>
-            <packageset dir="${src.dir}" includes="*/**"/>
-            <fileset dir="${src.dir}" includes="*.java"/>
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/*.java"/>
+            </fileset>
         </javadoc>
+        <copy todir="${dist.javadoc.dir}">
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/doc-files/**"/>
+            </fileset>
+        </copy>
     </target>
-    <target name="javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,javadoc-build">
+    <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview">
         <nbbrowse file="${dist.javadoc.dir}/index.html"/>
     </target>
-    <target name="javadoc" depends="init,javadoc-build,javadoc-browse" description="Build Javadoc."/>
+    <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/>
     <!--
 
-    =========================
-    JUNIT COMPILATION SECTION
-    =========================
-    -->
-    <target name="-pre-pre-compile-test" if="have.tests" depends="init,compile">
+                TEST COMPILATION SECTION
+            -->
+    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
         <mkdir dir="${build.test.classes.dir}"/>
+        <property name="j2ee.platform.embeddableejb.classpath" value=""/>
     </target>
     <target name="-pre-compile-test">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-do-compile-test" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
-        <webproject2:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}:${j2ee.platform.classpath}"/>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test">
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
         <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
         </copy>
     </target>
     <target name="-post-compile-test">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="compile-test" depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
     <target name="-pre-compile-test-single">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="-do-compile-test-single" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <webproject2:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}:${j2ee.platform.classpath}">
-            <customize>
-                <patternset includes="${javac.includes}"/>
-            </customize>
-        </webproject2:javac>
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
     </target>
     <target name="-post-compile-test-single">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="compile-test-single" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
     <!--
 
-    =======================
-    JUNIT EXECUTION SECTION
-    =======================
-    -->
-    <target name="-pre-test-run" if="have.tests" depends="init">
+                TEST EXECUTION SECTION
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
         <mkdir dir="${build.test.results.dir}"/>
     </target>
-    <target name="-do-test-run" if="have.tests" depends="init,compile-test,-pre-test-run">
-        <webproject2:junit/>
+    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+        <webproject2:test includes="${includes}" testincludes="**/*Test.java"/>
     </target>
-    <target name="-post-test-run" if="have.tests" depends="init,compile-test,-pre-test-run,-do-test-run">
-        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
     </target>
-    <target name="test-report" if="have.tests" depends="init"/>
-    <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
-    <target name="test" depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/>
-    <target name="-pre-test-run-single" if="have.tests" depends="init">
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
         <mkdir dir="${build.test.results.dir}"/>
     </target>
-    <target name="-do-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single">
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
         <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <webproject2:junit includes="${test.includes}"/>
+        <webproject2:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
     </target>
-    <target name="-post-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
-        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
     </target>
-    <target name="test-single" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test."/>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <webproject2:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
     <!--
 
-    =======================
-    JUNIT DEBUGGING SECTION
-    =======================
-    -->
-    <target name="-debug-start-debuggee-test" if="have.tests" depends="init,compile-test">
+                TEST DEBUGGING SECTION
+            -->
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
         <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <webproject1:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}" args="${test.class}"/>
+        <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
     </target>
-    <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test">
-        <webproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
     </target>
-    <target name="debug-test" depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
-    <target name="-do-debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
+    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
         <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
     </target>
-    <target name="debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix-test"/>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
     <!--
 
-    ======================
-    CLEANUP SECTION
-    ======================
-    -->
-    <target name="deps-clean" depends="init" if="no.dist.ear.dir" unless="no.deps"/>
-    <target name="do-clean" depends="init">
-        <condition value="${build.web.dir.real}" property="build.dir.to.clean">
+                CLEANUP SECTION
+            -->
+    <target depends="init" name="deps-clean" unless="no.deps"/>
+    <target depends="init" name="do-clean">
+        <condition property="build.dir.to.clean" value="${build.web.dir}">
             <isset property="dist.ear.dir"/>
         </condition>
-        <property value="${build.web.dir.real}" name="build.dir.to.clean"/>
+        <property name="build.dir.to.clean" value="${build.web.dir}"/>
         <delete includeEmptyDirs="true" quiet="true">
             <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
         </delete>
-        <delete includeEmptyDirs="true">
-            <fileset dir=".">
-                <include name="${build.dir}/**"/>
-                <exclude name="${build.dir.to.clean}/WEB-INF/lib/**"/>
-            </fileset>
-        </delete>
-        <available file="${build.dir.to.clean}/WEB-INF/lib" type="dir" property="status.clean-failed"/>
+        <delete dir="${build.dir}"/>
+        <available file="${build.dir.to.clean}/WEB-INF/lib" property="status.clean-failed" type="dir"/>
         <delete dir="${dist.dir}"/>
     </target>
-    <target name="check-clean" depends="do-clean" if="status.clean-failed">
-        <echo message="Warning: unable to delete some files in ${build.web.dir.real}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
+    <target depends="do-clean" if="status.clean-failed" name="check-clean">
+        <echo message="Warning: unable to delete some files in ${build.web.dir}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
         <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
     </target>
+    <target depends="init" if="netbeans.home" name="undeploy-clean">
+        <nbundeploy failOnError="false" startServer="false"/>
+    </target>
     <target name="-post-clean">
         <!-- Empty placeholder for easier customization. -->
         <!-- You can override this target in the ../build.xml file. -->
     </target>
-    <target name="clean" depends="init,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products."/>
-    <target name="clean-ear" depends="clean" description="Clean build products."/>
+    <target depends="init,undeploy-clean,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products." name="clean"/>
+    <target depends="clean" description="Clean build products." name="clean-ear"/>
 </project>
diff --git a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/genfiles.properties b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/genfiles.properties
index 830d237..6b69e07 100644
--- a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/genfiles.properties
+++ b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/genfiles.properties
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=d41da9b8
-build.xml.script.CRC32=c7189c05
-build.xml.stylesheet.CRC32=b4cea8bf
+build.xml.data.CRC32=e458c821
+build.xml.script.CRC32=3b4ccf3a
+build.xml.stylesheet.CRC32=1707db4f@1.80.0.1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=d41da9b8
-nbproject/build-impl.xml.script.CRC32=0ff1a8f5
-nbproject/build-impl.xml.stylesheet.CRC32=a697e903
+nbproject/build-impl.xml.data.CRC32=e458c821
+nbproject/build-impl.xml.script.CRC32=0a511431
+nbproject/build-impl.xml.stylesheet.CRC32=58472a1d@1.80.0.1
diff --git a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/project.properties b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/project.properties
index 825ce98..66f5528 100644
--- a/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/project.properties
+++ b/contrib/javaee.wildfly/test/qa-functional/data/JBoss4WebTest/nbproject/project.properties
@@ -1,9 +1,13 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=true
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
 build.classes.dir=${build.web.dir}/WEB-INF/classes
 build.classes.excludes=**/*.java,**/*.form
 build.dir=build
-build.ear.classes.dir=${build.ear.web.dir}/WEB-INF/classes
-build.ear.web.dir=${build.dir}/ear-module
 build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
 build.test.classes.dir=${build.dir}/test/classes
 build.test.results.dir=${build.dir}/test/results
 build.web.dir=${build.dir}/web
@@ -11,7 +15,7 @@
 client.urlPart=
 compile.jsps=false
 conf.dir=${source.root}/conf
-debug.classpath=${javac.classpath}:${build.classes.dir}:${build.ear.classes.dir}
+debug.classpath=${javac.classpath}:${build.classes.dir}
 debug.test.classpath=\
     ${run.test.classpath}
 display.browser=true
@@ -19,6 +23,11 @@
 dist.ear.war=${dist.dir}/${war.ear.name}
 dist.javadoc.dir=${dist.dir}/javadoc
 dist.war=${dist.dir}/${war.name}
+excludes=
+includes=**
+j2ee.compile.on.save=false
+j2ee.copy.static.files.on.save=false
+j2ee.deploy.on.save=false
 j2ee.platform=1.4
 j2ee.server.type=JBoss4
 jar.compress=false
@@ -27,12 +36,14 @@
 javac.compilerargs=
 javac.debug=true
 javac.deprecation=false
+javac.processorpath=${javac.classpath}
 javac.source=1.4
 javac.target=1.4
 javac.test.classpath=\
     ${javac.classpath}:\
     ${build.classes.dir}:\
     ${libs.junit.classpath}
+javac.test.processorpath=${javac.test.classpath}
 javadoc.additionalparam=
 javadoc.author=false
 javadoc.encoding=
@@ -48,6 +59,7 @@
 jspcompilation.classpath=${jspc.classpath}:${javac.classpath}
 lib.dir=${web.docbase.dir}/WEB-INF/lib
 no.dependencies=false
+persistence.xml.dir=${conf.dir}
 platform.active=default_platform
 resource.dir=setup
 run.test.classpath=\
@@ -64,3 +76,4 @@
 war.name=JBoss4WebTest.war
 war.package=true
 web.docbase.dir=web
+webinf.dir=web/WEB-INF
diff --git a/contrib/javaee.wildfly/test/qa-functional/src/org/netbeans/test/javaee/lib/Util.java b/contrib/javaee.wildfly/test/qa-functional/src/org/netbeans/test/javaee/lib/Util.java
index 50e6321..f90181f 100644
--- a/contrib/javaee.wildfly/test/qa-functional/src/org/netbeans/test/javaee/lib/Util.java
+++ b/contrib/javaee.wildfly/test/qa-functional/src/org/netbeans/test/javaee/lib/Util.java
@@ -34,6 +34,7 @@
 import org.netbeans.api.java.source.SourceUtils;
 import org.netbeans.api.j2ee.core.Profile;
 import org.netbeans.modules.j2ee.earproject.EarProjectGenerator;
+import org.netbeans.modules.j2ee.ejbjarproject.api.EjbJarProjectCreateData;
 import org.netbeans.modules.java.j2seproject.J2SEProjectGenerator;
 import org.netbeans.modules.project.ui.OpenProjectList;
 import org.netbeans.modules.web.api.webmodule.WebModule;
@@ -42,6 +43,7 @@
 import org.openide.util.Mutex;
 import org.netbeans.modules.web.project.api.WebProjectUtilities;
 import org.netbeans.modules.j2ee.ejbjarproject.api.EjbJarProjectGenerator;
+import org.netbeans.modules.web.project.api.WebProjectCreateData;
 
 
 /**
@@ -153,8 +155,7 @@
      * @param type type of project
      * @param params parameters passed to created project
      */
-    public static Object createProject(File projectParentDir, String name,
-            int type, String[] params) {
+    public static Object createProject(File projectParentDir, String name, int type, String[] params) {
         String mainClass = null;
         try {
             File projectDir = new File(projectParentDir, name);
@@ -169,7 +170,14 @@
                     if (params == null){
                         params = new String[] {DEFAULT_APPSRV_ID, DEFAULT_SRC_STRUCTURE, DEFAULT_J2EE_LEVEL};
                     }
-                    WebProjectUtilities.createProject(projectDir, name, params[0], params[1], params[2], name);
+                    WebProjectCreateData createWebData = new WebProjectCreateData();
+                    createWebData.setProjectDir(projectDir);
+                    createWebData.setName(name);
+                    createWebData.setServerInstanceID(params[0]);
+                    createWebData.setSourceStructure(params[1]);
+                    createWebData.setJavaEEProfile(Profile.fromPropertiesString(params[2]));
+                    createWebData.setContextPath(name);
+                    WebProjectUtilities.createProject(createWebData);
                     break;
                 case EJB_PROJECT:
                     //params[0] = j2eeLevel
@@ -177,7 +185,13 @@
                     if (params == null){
                         params = new String[] {DEFAULT_J2EE_LEVEL, DEFAULT_APPSRV_ID};
                     }
-                    EjbJarProjectGenerator.createProject(projectDir, name, params[0], params[1]);
+                    EjbJarProjectCreateData createEjbData = new EjbJarProjectCreateData();
+                    createEjbData.setProjectDir(projectDir);
+                    createEjbData.setName(name);
+                    createEjbData.setJavaEEProfile(Profile.fromPropertiesString(params[0]));
+                    createEjbData.setServerInstanceID(params[1]);
+                    createEjbData.setLibrariesDefinition(null);
+                    EjbJarProjectGenerator.createProject(createEjbData);
                     break;
                 case J2EE_PROJECT:
                     //params[0] = j2eeLevel
diff --git a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/nodes/Hk2InstanceChildren.java b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/nodes/Hk2InstanceChildren.java
index 38e30a5..b52a988 100644
--- a/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/nodes/Hk2InstanceChildren.java
+++ b/enterprise/glassfish.common/src/org/netbeans/modules/glassfish/common/nodes/Hk2InstanceChildren.java
@@ -75,8 +75,8 @@
                         Hk2ItemNode.WS_FOLDER));
             }
             List<Node> pluggableNodes = getExtensionNodes();
-            for (Iterator itr = pluggableNodes.iterator(); itr.hasNext();) {
-                keys.add((Node)itr.next());
+            for (Iterator<Node> itr = pluggableNodes.iterator(); itr.hasNext();) {
+                keys.add(itr.next());
             }
         }
         setKeys(keys);
diff --git a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/HttpMonitorHelper.java b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/HttpMonitorHelper.java
index 3f32b6c..0729fda 100644
--- a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/HttpMonitorHelper.java
+++ b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/HttpMonitorHelper.java
@@ -32,6 +32,7 @@
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.net.URL;
+import java.util.Iterator;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.netbeans.modules.j2ee.dd.api.web.DDProvider;
@@ -442,11 +443,11 @@
     private static void startModuleSpy (final ModuleSpy spy) {
         // trying to hang a listener on monitor module 
         res = Lookup.getDefault().lookup(new Lookup.Template<ModuleInfo>(ModuleInfo.class));
-        java.util.Iterator it = res.allInstances ().iterator ();
+        Iterator<ModuleInfo> it = res.allInstances ().iterator ();
         final String moduleId = spy.getModuleId();        
        // boolean found = false;
         while (it.hasNext ()) {
-            org.openide.modules.ModuleInfo mi = (ModuleInfo)it.next ();
+            org.openide.modules.ModuleInfo mi = it.next();
             if (mi.getCodeName ().startsWith(moduleId)) {
                 httpMonitorInfo=mi;
                 spy.setEnabled(mi.isEnabled());
@@ -525,10 +526,10 @@
         
         @Override
         public void resultChanged(LookupEvent lookupEvent) {
-            java.util.Iterator it = res.allInstances ().iterator ();
+            Iterator<ModuleInfo> it = res.allInstances().iterator();
             boolean moduleFound=false;
             while (it.hasNext ()) {
-                ModuleInfo mi = (ModuleInfo)it.next ();
+                ModuleInfo mi = it.next();
                 if (mi.getCodeName ().startsWith(spy.getModuleId())) {
                     spy.setEnabled(mi.isEnabled());
                     if (httpMonitorInfo==null) {
diff --git a/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/ResourceRegistrationHelper.java b/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/ResourceRegistrationHelper.java
index 4120831..233eff4 100644
--- a/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/ResourceRegistrationHelper.java
+++ b/enterprise/glassfish.javaee/src/org/netbeans/modules/glassfish/javaee/ResourceRegistrationHelper.java
@@ -149,9 +149,9 @@
             Map<String, String> localData = resourceFinder.getResourceData().get(jndiName);
             String remoteKey = prefix + jndiName + "."; // NOI18N
             Map<String, String> remoteData = new HashMap<String, String>();
-            Iterator itr = allRemoteData.keySet().iterator();
+            Iterator<String> itr = allRemoteData.keySet().iterator();
             while (itr.hasNext()) {
-                String key = (String) itr.next();
+                String key = itr.next();
                 if(key.startsWith(remoteKey)){
                     remoteData.put(key, allRemoteData.get(key));
                 }
diff --git a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig
index 716c4c8..2ccdfa0 100644
--- a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig
+++ b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig
@@ -1523,6 +1523,7 @@
 fld public final static org.netbeans.modules.payara.common.ServerDetails PAYARA_SERVER_5_193
 fld public final static org.netbeans.modules.payara.common.ServerDetails PAYARA_SERVER_5_194
 fld public final static org.netbeans.modules.payara.common.ServerDetails PAYARA_SERVER_5_201
+fld public final static org.netbeans.modules.payara.common.ServerDetails PAYARA_SERVER_5_202
 meth public boolean isInstalledInDirectory(java.io.File)
 meth public int getVersion()
 meth public java.lang.String getDirectUrl()
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/Bundle.properties b/enterprise/payara.common/src/org/netbeans/modules/payara/common/Bundle.properties
index 5195229..b355d77 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/Bundle.properties
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/Bundle.properties
@@ -137,29 +137,7 @@
 WARN_UNREADABLE_LOG_STREAM=Failed to connect to log for instance {0}
 
 # ServerDetails.java
-STR_41144_SERVER_NAME=Payara Server 4.1.144
-STR_41151_SERVER_NAME=Payara Server 4.1.151
-STR_41152_SERVER_NAME=Payara Server 4.1.152
-STR_41153_SERVER_NAME=Payara Server 4.1.153
-STR_411154_SERVER_NAME=Payara Server 4.1.1.154
-STR_411161_SERVER_NAME=Payara Server 4.1.1.161
-STR_411162_SERVER_NAME=Payara Server 4.1.1.162
-STR_411163_SERVER_NAME=Payara Server 4.1.1.163
-STR_411164_SERVER_NAME=Payara Server 4.1.1.164
-STR_411171_SERVER_NAME=Payara Server 4.1.1.171
-STR_412172_SERVER_NAME=Payara Server 4.1.2.172
-STR_412173_SERVER_NAME=Payara Server 4.1.2.173
-STR_412174_SERVER_NAME=Payara Server 4.1.2.174
-STR_412181_SERVER_NAME=Payara Server 4.1.2.181
-STR_5181_SERVER_NAME=Payara Server 5.181
-STR_5182_SERVER_NAME=Payara Server 5.182
-STR_5183_SERVER_NAME=Payara Server 5.183
-STR_5184_SERVER_NAME=Payara Server 5.184
-STR_5191_SERVER_NAME=Payara Server 5.191
-STR_5192_SERVER_NAME=Payara Server 5.192
-STR_5193_SERVER_NAME=Payara Server 5.193
-STR_5194_SERVER_NAME=Payara Server 5.194
-STR_5201_SERVER_NAME=Payara Server 5.201
+STR_SERVER_NAME=Payara Server {0}
 
 # CommonServerSupport.java
 MSG_FLAKEY_NETWORK=<html>Network communication problem<br/>Could not establish \
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java
index 0902cfc..0d98d33 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java
@@ -1011,7 +1011,6 @@
     /**
      * Set Payara server domain name from stored properties.
      * <p/>
-     * @param domainsFolder Payara server domain name.
      */
     @Override
     public String getDomainName() {
@@ -1181,7 +1180,7 @@
      * Method {@see #writeInstanceToFile(PayaraInstance)} must be called
      * to persist value.
      * <p/>
-     * @param usern Payara server administration user name.
+     * @param user Payara server administration user name.
      */
     public void setAdminUser(final String user) {
         properties.put(PayaraModule.USERNAME_ATTR, user);
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java
index 870ace8..57066d9 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java
@@ -21,7 +21,9 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Optional;
 import org.netbeans.modules.payara.common.parser.TreeParser;
 import org.netbeans.modules.payara.common.wizards.ServerWizardIterator;
 import org.netbeans.modules.payara.tooling.data.PayaraVersion;
@@ -41,232 +43,200 @@
     /**
      * details for an instance of Payara Server 4.1.144
      */
-    PAYARA_SERVER_4_1_144(NbBundle.getMessage(ServerDetails.class, "STR_41144_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_144(
+            PayaraVersion.PF_4_1_144,
             "deployer:pfv4ee7", // NOI18N
             41144,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.144/payara.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            false
     ),
     /**
      * details for an instance of Payara Server 4.1.151
      */
-    PAYARA_SERVER_4_1_151(NbBundle.getMessage(ServerDetails.class, "STR_41151_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_151(
+            PayaraVersion.PF_4_1_151,
             "deployer:pfv4ee7", // NOI18N
             41151,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.151/payara-4.1.151.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            false
     ),
     /**
      * details for an instance of Payara Server 4.1.152
      */
-    PAYARA_SERVER_4_1_152(NbBundle.getMessage(ServerDetails.class, "STR_41152_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_152(
+            PayaraVersion.PF_4_1_152,
             "deployer:pfv4ee7", // NOI18N
             41152,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.152/payara-4.1.152.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            false
     ),
     /**
      * details for an instance of Payara Server 4.1.153
      */
-    PAYARA_SERVER_4_1_153(NbBundle.getMessage(ServerDetails.class, "STR_41153_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_153(
+            PayaraVersion.PF_4_1_153,
             "deployer:pfv4ee7", // NOI18N
             41153,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.153/payara-4.1.153.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            false
     ),
     /**
      * details for an instance of Payara Server 4.1.1.154
      */
-    PAYARA_SERVER_4_1_1_154(NbBundle.getMessage(ServerDetails.class, "STR_411154_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_154(
+            PayaraVersion.PF_4_1_1_154,
             "deployer:pfv4ee7", // NOI18N
             411154,
-            "hhttps://github.com/payara/Payara/releases/download/payara-server-4.1.1.154/payara-4.1.1.154.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            false
     ),
     /**
      * details for an instance of Payara Server 4.1.1.161
      */
-    PAYARA_SERVER_4_1_1_161(NbBundle.getMessage(ServerDetails.class, "STR_411161_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_161(
+            PayaraVersion.PF_4_1_1_161,
             "deployer:pfv4ee7", // NOI18N
-            411161,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.1.161/payara-4.1.1.161.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            411161
     ),
     /**
      * details for an instance of Payara Server 4.1.1.162
      */
-    PAYARA_SERVER_4_1_1_162(NbBundle.getMessage(ServerDetails.class, "STR_411162_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_162(
+            PayaraVersion.PF_4_1_1_162,
             "deployer:pfv4ee7", // NOI18N
-            411162,
-            "https://github.com/payara/Payara/releases/download/payara-server-4.1.1.162/payara-4.1.1.162.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            411162
     ),
     /**
      * details for an instance of Payara Server 4.1.1.163
      */
-    PAYARA_SERVER_4_1_1_163(NbBundle.getMessage(ServerDetails.class, "STR_411163_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_163(
+            PayaraVersion.PF_4_1_1_163,
             "deployer:pfv4ee7", // NOI18N
-            411163,
-            "https://github.com/payara/Payara/releases/download/4.1.1.163/payara-4.1.1.163.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            411163
     ),
     /**
      * details for an instance of Payara Server 4.1.1.164
      */
-    PAYARA_SERVER_4_1_1_164(NbBundle.getMessage(ServerDetails.class, "STR_411164_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_164(
+            PayaraVersion.PF_4_1_1_164,
             "deployer:pfv4ee7", // NOI18N
-            411164,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.1.164/payara-4.1.1.164.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            411164
     ),
     /**
      * details for an instance of Payara Server 4.1.1.171
      */
-    PAYARA_SERVER_4_1_1_171(NbBundle.getMessage(ServerDetails.class, "STR_411171_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_1_171(
+            PayaraVersion.PF_4_1_1_171,
             "deployer:pfv4ee7", // NOI18N
-            411171,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.1.171/payara-4.1.1.171.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            411171
     ),
     /**
      * details for an instance of Payara Server 4.1.2.172
      */
-    PAYARA_SERVER_4_1_2_172(NbBundle.getMessage(ServerDetails.class, "STR_412172_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_2_172(
+            PayaraVersion.PF_4_1_2_172,
             "deployer:pfv4ee7", // NOI18N
-            412172,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.2.172/payara-4.1.2.172.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            412172
     ),
     /**
      * details for an instance of Payara Server 4.1.2.173
      */
-    PAYARA_SERVER_4_1_2_173(NbBundle.getMessage(ServerDetails.class, "STR_412173_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_2_173(
+            PayaraVersion.PF_4_1_2_173,
             "deployer:pfv4ee7", // NOI18N
-            412173,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.2.173/payara-4.1.2.173.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            412173
     ),
     /**
      * details for an instance of Payara Server 4.1.2.174
      */
-    PAYARA_SERVER_4_1_2_174(NbBundle.getMessage(ServerDetails.class, "STR_412174_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_2_174(
+            PayaraVersion.PF_4_1_2_174,
             "deployer:pfv4ee7", // NOI18N
-            412174,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.2.174/payara-4.1.2.174.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            412174
     ),
     /**
      * details for an instance of Payara Server 4.1.2.181
      */
-    PAYARA_SERVER_4_1_2_181(NbBundle.getMessage(ServerDetails.class, "STR_412181_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_4_1_2_181(
+            PayaraVersion.PF_4_1_2_181,
             "deployer:pfv4ee7", // NOI18N
-            412181,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/4.1.2.181/payara-4.1.2.181.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            412181
     ),
     /**
      * details for an instance of Payara Server 5.181
      */
-    PAYARA_SERVER_5_181(NbBundle.getMessage(ServerDetails.class, "STR_5181_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_181(
+            PayaraVersion.PF_5_181,
             "deployer:pfv5ee8", // NOI18N
-            5181,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.181/payara-5.181.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5181
     ),
     /**
      * details for an instance of Payara Server 5.182
      */
-    PAYARA_SERVER_5_182(NbBundle.getMessage(ServerDetails.class, "STR_5182_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_182(
+            PayaraVersion.PF_5_182,
             "deployer:pfv5ee8", // NOI18N
-            5182,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.182/payara-5.182.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5182
     ),
     /**
      * details for an instance of Payara Server 5.183
      */
-    PAYARA_SERVER_5_183(NbBundle.getMessage(ServerDetails.class, "STR_5183_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_183(
+            PayaraVersion.PF_5_183,
             "deployer:pfv5ee8", // NOI18N
-            5183,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.183/payara-5.183.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5183
     ),
     /**
      * details for an instance of Payara Server 5.184
      */
-    PAYARA_SERVER_5_184(NbBundle.getMessage(ServerDetails.class, "STR_5184_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_184(
+            PayaraVersion.PF_5_184,
             "deployer:pfv5ee8", // NOI18N
-            5184,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.184/payara-5.184.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5184
     ),
     /**
      * details for an instance of Payara Server 5.191
      */
-    PAYARA_SERVER_5_191(NbBundle.getMessage(ServerDetails.class, "STR_5191_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_191(
+            PayaraVersion.PF_5_191,
             "deployer:pfv5ee8", // NOI18N
-            5191,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.191/payara-5.191.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5191
     ),
     /**
      * details for an instance of Payara Server 5.192
      */
-    PAYARA_SERVER_5_192(NbBundle.getMessage(ServerDetails.class, "STR_5192_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_192(
+            PayaraVersion.PF_5_192,
             "deployer:pfv5ee8", // NOI18N
-            5192,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.192/payara-5.192.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5192
     ),
     /**
      * details for an instance of Payara Server 5.193
      */
-    PAYARA_SERVER_5_193(NbBundle.getMessage(ServerDetails.class, "STR_5193_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_193(
+            PayaraVersion.PF_5_193,
             "deployer:pfv5ee8", // NOI18N
-            5193,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.193.1/payara-5.193.1.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5193
     ),
     /**
      * details for an instance of Payara Server 5.194
      */
-    PAYARA_SERVER_5_194(NbBundle.getMessage(ServerDetails.class, "STR_5194_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_194(
+            PayaraVersion.PF_5_194,
             "deployer:pfv5ee8", // NOI18N
-            5194,
-            "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/5.194/payara-5.194.zip", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5194
     ),
     /**
      * details for an instance of Payara Server 5.201
      */
-    PAYARA_SERVER_5_201(NbBundle.getMessage(ServerDetails.class, "STR_5201_SERVER_NAME", new Object[]{}), // NOI18N
+    PAYARA_SERVER_5_201(
+            PayaraVersion.PF_5_201,
             "deployer:pfv5ee8", // NOI18N
-            5201,
-            "", // NOI18N
-            null,
-            "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"
+            5201
+    ),
+    /**
+     * details for an instance of Payara Server 5.202
+     */
+    PAYARA_SERVER_5_202(
+            PayaraVersion.PF_5_202,
+            "deployer:pfv5ee8", // NOI18N
+            5202,
+            false
     );
 
     /**
@@ -278,53 +248,8 @@
     public static WizardDescriptor.InstantiatingIterator
             getInstantiatingIterator() {
         return new ServerWizardIterator(
-                //add new version
-                new ServerDetails[]{
-                    PAYARA_SERVER_5_201,
-                    PAYARA_SERVER_5_194,
-                    PAYARA_SERVER_5_193,
-                    PAYARA_SERVER_5_192,
-                    PAYARA_SERVER_5_191,
-                    PAYARA_SERVER_5_184,
-                    PAYARA_SERVER_5_183,
-                    PAYARA_SERVER_5_182,
-                    PAYARA_SERVER_5_181,
-                    PAYARA_SERVER_4_1_2_181,
-                    PAYARA_SERVER_4_1_2_174,
-                    PAYARA_SERVER_4_1_2_173,
-                    PAYARA_SERVER_4_1_2_172,
-                    PAYARA_SERVER_4_1_1_171,
-                    PAYARA_SERVER_4_1_1_164,
-                    PAYARA_SERVER_4_1_1_163,
-                    PAYARA_SERVER_4_1_1_162,
-                    PAYARA_SERVER_4_1_1_161,
-                    PAYARA_SERVER_4_1_1_154,
-                    PAYARA_SERVER_4_1_153,
-                    PAYARA_SERVER_4_1_152,
-                    PAYARA_SERVER_4_1_151,
-                    PAYARA_SERVER_4_1_144
-                },
-                new ServerDetails[]{
-                    PAYARA_SERVER_5_194,
-                    PAYARA_SERVER_5_193,
-                    PAYARA_SERVER_5_192,
-                    PAYARA_SERVER_5_191,
-                    PAYARA_SERVER_5_184,
-                    PAYARA_SERVER_5_183,
-                    PAYARA_SERVER_5_182,
-                    PAYARA_SERVER_5_181,
-                    PAYARA_SERVER_4_1_2_181,
-                    PAYARA_SERVER_4_1_2_174,
-                    PAYARA_SERVER_4_1_2_173,
-                    PAYARA_SERVER_4_1_2_172,
-                    PAYARA_SERVER_4_1_1_171,
-                    PAYARA_SERVER_4_1_1_164,
-                    PAYARA_SERVER_4_1_1_163,
-                    PAYARA_SERVER_4_1_1_162,
-                    PAYARA_SERVER_4_1_1_161
-                }
+                ServerDetails.values()
         );
-        
     }
 
     /**
@@ -339,57 +264,14 @@
 
         PayaraVersion version
                 = ServerUtils.getServerVersion(payaraDir.getAbsolutePath());
-        ServerDetails sd = null;
+        Optional<ServerDetails> serverDetails = Optional.empty();
         if (version != null) {
-            switch (version) {
-                //add new version
-                case PF_4_1_144:
-                    return PAYARA_SERVER_4_1_144.getVersion();
-                case PF_4_1_151:
-                    return PAYARA_SERVER_4_1_151.getVersion();
-                case PF_4_1_153:
-                    return PAYARA_SERVER_4_1_153.getVersion();
-                case PF_4_1_1_154:
-                    return PAYARA_SERVER_4_1_1_154.getVersion();
-                case PF_4_1_1_161:
-                    return PAYARA_SERVER_4_1_1_161.getVersion();
-                case PF_4_1_1_162:
-                    return PAYARA_SERVER_4_1_1_162.getVersion();
-                case PF_4_1_1_163:
-                    return PAYARA_SERVER_4_1_1_163.getVersion();
-                case PF_4_1_1_171:
-                    return PAYARA_SERVER_4_1_1_171.getVersion();
-                case PF_4_1_2_172:
-                    return PAYARA_SERVER_4_1_2_172.getVersion();
-                case PF_4_1_2_173:
-                    return PAYARA_SERVER_4_1_2_173.getVersion();
-                case PF_4_1_2_174:
-                    return PAYARA_SERVER_4_1_2_174.getVersion();
-                case PF_4_1_2_181:
-                    return PAYARA_SERVER_4_1_2_181.getVersion();
-                case PF_5_181:
-                    return PAYARA_SERVER_5_181.getVersion();
-                case PF_5_182:
-                    return PAYARA_SERVER_5_182.getVersion();
-                case PF_5_183:
-                    return PAYARA_SERVER_5_183.getVersion();
-                case PF_5_184:
-                    return PAYARA_SERVER_5_184.getVersion();
-                case PF_5_191:
-                    return PAYARA_SERVER_5_191.getVersion();
-                case PF_5_192:
-                    return PAYARA_SERVER_5_192.getVersion();
-                case PF_5_193:
-                    return PAYARA_SERVER_5_193.getVersion();
-                case PF_5_194:
-                    return PAYARA_SERVER_5_194.getVersion();
-                case PF_5_201:
-                    return PAYARA_SERVER_5_201.getVersion();
-                default:
-                    return -1;
-            }
+            serverDetails = Arrays
+                    .stream(ServerDetails.values())
+                    .filter(value -> value.getVersion() == version)
+                    .findAny();
         }
-        return  null==sd?-1:sd.getVersion();
+        return serverDetails.map(ServerDetails::getVersionInt).orElse(-1);
     }
 
     /**
@@ -404,7 +286,7 @@
         if (null == domainXml || !domainXml.isFile() || !domainXml.canRead()) {
             return -1;
         }
-        return hasDefaultConfig(domainXml) ? PAYARA_SERVER_5_194.getVersion() : PAYARA_SERVER_5_181.getVersion();
+        return hasDefaultConfig(domainXml) ? PAYARA_SERVER_5_194.getVersionInt() : PAYARA_SERVER_5_181.getVersionInt();
     }
 
     private static boolean hasDefaultConfig(File domainXml) throws IllegalStateException {
@@ -414,23 +296,32 @@
         TreeParser.readXml(domainXml, paths);
         return dp.hasDefaultConfig();
     }
-    
+
+    private final PayaraVersion version;
     private final String displayName;
     private final String uriFragment;
     private final String indirectUrl;
     private final String directUrl;
     private final String licenseUrl;
     private final int versionInt;
+    private final boolean downloadable;
     
+    private static final String DOWNLOAD_URL = "https://oss.sonatype.org/service/local/repositories/releases/content/fish/payara/distributions/payara/%s/payara-%s.zip"; // NOI18N
+    private static final String CDDL_LICENSE = "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"; // NOI18N
 
-    ServerDetails(String displayName, String uriFragment, int versionInt,
-            String directUrl, String indirectUrl, String licenseUrl) {
-            this.displayName = displayName;
-            this.uriFragment = uriFragment;
-            this.indirectUrl = indirectUrl;
-            this.directUrl = directUrl;
-            this.versionInt = versionInt;
-            this.licenseUrl = licenseUrl;
+    ServerDetails(PayaraVersion version, String uriFragment, int versionInt) {
+        this(version, uriFragment, versionInt, true);
+    }
+
+    ServerDetails(PayaraVersion version, String uriFragment, int versionInt, boolean downloadable) {
+        this.version = version;
+        this.displayName = NbBundle.getMessage(ServerDetails.class, "STR_SERVER_NAME", new Object[]{version.toString()});
+        this.uriFragment = uriFragment;
+        this.versionInt = versionInt;
+        this.indirectUrl = null;
+        this.directUrl = String.format(DOWNLOAD_URL, version.toString(), version.toString());
+        this.licenseUrl = CDDL_LICENSE;
+        this.downloadable = downloadable;
     }
     
     @Override 
@@ -442,10 +333,18 @@
         return uriFragment;
     }
 
-    public int getVersion() {
+    public int getVersionInt() {
         return versionInt;
     }
 
+    public PayaraVersion getVersion() {
+        return version;
+    }
+
+    public boolean isDownloadable() {
+        return downloadable;
+    }
+
     /**
      * Determine if the glassfishDir holds a valid install of this release of
      * Payara Server.
@@ -453,7 +352,7 @@
      * @return true if the glassfishDir holds this particular server version.
      */
     public boolean isInstalledInDirectory(File payaraDir) {
-        return getVersionFromInstallDirectory(payaraDir) == this.getVersion();
+        return getVersionFromInstallDirectory(payaraDir) == this.getVersionInt();
     }
 
     static class DomainParser extends TreeParser.NodeReader {
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/nodes/Hk2InstanceChildren.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/nodes/Hk2InstanceChildren.java
index 47ba4fa..a85ea04 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/nodes/Hk2InstanceChildren.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/nodes/Hk2InstanceChildren.java
@@ -75,8 +75,8 @@
                         Hk2ItemNode.WS_FOLDER));
             }
             List<Node> pluggableNodes = getExtensionNodes();
-            for (Iterator itr = pluggableNodes.iterator(); itr.hasNext();) {
-                keys.add((Node)itr.next());
+            for (Iterator<Node> itr = pluggableNodes.iterator(); itr.hasNext();) {
+                keys.add(itr.next());
             }
         }
         setKeys(keys);
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java
index aabfea0..50b74be 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java
@@ -163,7 +163,7 @@
         initPortsFields();
         // make sure the target field is ok...
         if (ServerDetails.getVersionFromInstallDirectory(new File(gfRoot)) < 
-                ServerDetails.PAYARA_SERVER_4_1_144.getVersion()) {
+                ServerDetails.PAYARA_SERVER_4_1_144.getVersionInt()) {
             targetValueField.setText(""); // NOI18N
             targetValueField.setEnabled(false);
         } else {
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Retriever.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Retriever.java
index a22cc16..6185a2d 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Retriever.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Retriever.java
@@ -161,24 +161,24 @@
     // Instance attributes                                                    //
     ////////////////////////////////////////////////////////////////////////////
     
-    private Updater updater;
+    private final Updater updater;
     private final String locationUrl;
     private final String targetUrlPrefix;
     private final String defaultTargetUrl;
-    private File targetInstallDir;
-    private String topLevelPrefix;
+    private final File targetInstallDir;
+    private final String topLevelPrefix;
     
     ////////////////////////////////////////////////////////////////////////////
     // Constructors                                                           //
     ////////////////////////////////////////////////////////////////////////////
     
     public Retriever(File installDir, String locationUrl, String urlPrefix, 
-            String defaultTargetUrl, Updater u, String topLevelPrefix) {
+            String defaultTargetUrl, Updater updater, String topLevelPrefix) {
         this.targetInstallDir = installDir;
         this.locationUrl = locationUrl;
         this.targetUrlPrefix = urlPrefix;
         this.defaultTargetUrl = defaultTargetUrl;
-        this.updater = u;
+        this.updater = updater;
         this.topLevelPrefix = topLevelPrefix;
     }
     ////////////////////////////////////////////////////////////////////////////
@@ -321,55 +321,58 @@
         String result = defaultTargetUrl;
         int retries = 0;
         boolean run = true;
-        while(run) {
-            URLConnection conn;
-            try {
-                URL url = new URL(location);
-                conn = url.openConnection();
-                if (conn instanceof HttpURLConnection) {
-                    HttpURLConnection hconn = (HttpURLConnection) conn;
-                    hconn.setConnectTimeout(LOCATION_DOWNLOAD_TIMEOUT);
-                    hconn.setReadTimeout(LOCATION_DOWNLOAD_TIMEOUT);
-                    hconn.setRequestMethod("HEAD");
-                    if (hconn instanceof HttpsURLConnection) {
-                        handleSecureConnection((HttpsURLConnection)hconn);
-                    }
-                    hconn.connect();
-                    int responseCode = hconn.getResponseCode();
-                    LOGGER.log(Level.FINE, "URL Response code: {0} {1}",
-                            new String[] {Integer.toString(responseCode),
-                                hconn.getResponseMessage()});
-                    switch (responseCode) {
-                        case 301: case 302:
-                            location = hconn.getHeaderField("Location");
-                            if (location == null || location.trim().isEmpty()) {
+        if (location != null) {
+            while (run) {
+                URLConnection conn;
+                try {
+                    URL url = new URL(location);
+                    conn = url.openConnection();
+                    if (conn instanceof HttpURLConnection) {
+                        HttpURLConnection hconn = (HttpURLConnection) conn;
+                        hconn.setConnectTimeout(LOCATION_DOWNLOAD_TIMEOUT);
+                        hconn.setReadTimeout(LOCATION_DOWNLOAD_TIMEOUT);
+                        hconn.setRequestMethod("HEAD");
+                        if (hconn instanceof HttpsURLConnection) {
+                            handleSecureConnection((HttpsURLConnection) hconn);
+                        }
+                        hconn.connect();
+                        int responseCode = hconn.getResponseCode();
+                        LOGGER.log(Level.FINE, "URL Response code: {0} {1}",
+                                new String[]{Integer.toString(responseCode),
+                                    hconn.getResponseMessage()});
+                        switch (responseCode) {
+                            case 301:
+                            case 302:
+                                location = hconn.getHeaderField("Location");
+                                if (location == null || location.trim().isEmpty()) {
+                                    run = false;
+                                } else {
+                                    LOGGER.log(Level.FINE, "URL Redirrection: {0}",
+                                            location);
+                                    run = retries++ < LOCATION_TRIES;
+                                }
+                                break;
+                            case 200:
+                                int len = hconn.getContentLength();
+                                if (len > 0) {
+                                    result = location;
+                                    LOGGER.log(Level.FINE,
+                                            "New Payara Location: {0}", result);
+                                }
+                            default:
                                 run = false;
-                            } else {
-                                LOGGER.log(Level.FINE, "URL Redirrection: {0}",
-                                        location);
-                                run = retries++ < LOCATION_TRIES;
-                            }
-                            break;
-                        case 200:
-                            int len = hconn.getContentLength();
-                            if (len > 0) {
-                                result = location;
-                                LOGGER.log(Level.FINE,
-                                        "New Payara Location: {0}", result);
-                            }
-                        default:
-                            run = false;
+                        }
+                    } else {
+                        LOGGER.log(Level.INFO,
+                                "Unexpected connection type: {0}", location);
                     }
-                } else {
-                    LOGGER.log(Level.INFO,
-                            "Unexpected connection type: {0}", location);
+                } catch (MalformedURLException mue) {
+                    LOGGER.log(Level.INFO, "Error opening URL connection", mue);
+                    run = false;
+                } catch (IOException ioe) {
+                    LOGGER.log(Level.INFO, "Error reading from URL", ioe);
+                    run = false;
                 }
-            } catch (MalformedURLException mue) {
-                LOGGER.log(Level.INFO, "Error opening URL connection", mue);
-                run = false;
-            } catch (IOException ioe) {
-                LOGGER.log(Level.INFO, "Error reading from URL", ioe);
-                run = false;
             }
         }
         return result;
diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java
index 2751799..aaf6b1a 100644
--- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java
+++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java
@@ -82,13 +82,16 @@
         this.targetValue = targetValue;
     }
 
-    public ServerWizardIterator(ServerDetails[] possibleValues, ServerDetails[] downloadableValues) {
+    public ServerWizardIterator(ServerDetails[] possibleValues) {
         this.acceptedValues = possibleValues;
-        this.downloadableValues = downloadableValues;
+        this.downloadableValues = Arrays.stream(possibleValues)
+                .filter(ServerDetails::isDownloadable)
+                .sorted(Collections.reverseOrder())
+                .toArray(ServerDetails[]::new);
         this.instanceProvider = PayaraInstanceProvider.getProvider();
         this.hostName = "localhost"; // NOI18N
     }
-    
+
     @Override
     public void removeChangeListener(ChangeListener l) {
         listeners.remove(l);
diff --git a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/HttpMonitorHelper.java b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/HttpMonitorHelper.java
index 1dc4546..1c8e33f 100644
--- a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/HttpMonitorHelper.java
+++ b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/HttpMonitorHelper.java
@@ -32,6 +32,7 @@
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.net.URL;
+import java.util.Iterator;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.netbeans.modules.j2ee.dd.api.web.DDProvider;
@@ -442,11 +443,11 @@
     private static void startModuleSpy (final ModuleSpy spy) {
         // trying to hang a listener on monitor module 
         res = Lookup.getDefault().lookup(new Lookup.Template<ModuleInfo>(ModuleInfo.class));
-        java.util.Iterator it = res.allInstances ().iterator ();
+        Iterator<ModuleInfo> it = res.allInstances().iterator();
         final String moduleId = spy.getModuleId();        
        // boolean found = false;
         while (it.hasNext ()) {
-            org.openide.modules.ModuleInfo mi = (ModuleInfo)it.next ();
+            org.openide.modules.ModuleInfo mi = it.next();
             if (mi.getCodeName ().startsWith(moduleId)) {
                 httpMonitorInfo=mi;
                 spy.setEnabled(mi.isEnabled());
@@ -525,10 +526,10 @@
         
         @Override
         public void resultChanged(LookupEvent lookupEvent) {
-            java.util.Iterator it = res.allInstances ().iterator ();
+            Iterator<ModuleInfo> it = res.allInstances().iterator();
             boolean moduleFound=false;
             while (it.hasNext ()) {
-                ModuleInfo mi = (ModuleInfo)it.next ();
+                ModuleInfo mi = it.next();
                 if (mi.getCodeName ().startsWith(spy.getModuleId())) {
                     spy.setEnabled(mi.isEnabled());
                     if (httpMonitorInfo==null) {
diff --git a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/ResourceRegistrationHelper.java b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/ResourceRegistrationHelper.java
index 588335a..c08aa4b 100644
--- a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/ResourceRegistrationHelper.java
+++ b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/ResourceRegistrationHelper.java
@@ -149,9 +149,9 @@
             Map<String, String> localData = resourceFinder.getResourceData().get(jndiName);
             String remoteKey = prefix + jndiName + "."; // NOI18N
             Map<String, String> remoteData = new HashMap<String, String>();
-            Iterator itr = allRemoteData.keySet().iterator();
+            Iterator<String> itr = allRemoteData.keySet().iterator();
             while (itr.hasNext()) {
-                String key = (String) itr.next();
+                String key = itr.next();
                 if(key.startsWith(remoteKey)){
                     remoteData.put(key, allRemoteData.get(key));
                 }
diff --git a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java
index 3086596..ff4768d 100644
--- a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java
+++ b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java
@@ -362,9 +362,9 @@
     }
     
     public  void fireCatalogListeners() {
-        Iterator iter = catalogListeners.iterator();
+        Iterator<CatalogListener> iter = catalogListeners.iterator();
         while (iter.hasNext()) {
-            CatalogListener l = (CatalogListener) iter.next();
+            CatalogListener l = iter.next();
             l.notifyInvalidate();
         }
     }
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/VersionRepository.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/VersionRepository.java
index 98d2cfc..60862fa 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/VersionRepository.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/VersionRepository.java
@@ -33,6 +33,7 @@
     private static final List<MicroVersion> MICRO_VERSIONS = new ArrayList<>();
 
     private VersionRepository() {
+        MICRO_VERSIONS.add(new MicroVersion("5.201", "8.0"));
         MICRO_VERSIONS.add(new MicroVersion("5.194", "8.0"));
         MICRO_VERSIONS.add(new MicroVersion("5.193", "8.0"));
         MICRO_VERSIONS.add(new MicroVersion("5.192", "8.0"));
diff --git a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig
index 871b2e8..83f974f 100644
--- a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig
+++ b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig
@@ -1425,6 +1425,7 @@
 fld public final static org.netbeans.modules.payara.tooling.data.PayaraVersion PF_5_193
 fld public final static org.netbeans.modules.payara.tooling.data.PayaraVersion PF_5_194
 fld public final static org.netbeans.modules.payara.tooling.data.PayaraVersion PF_5_201
+fld public final static org.netbeans.modules.payara.tooling.data.PayaraVersion PF_5_202
 meth public boolean equals(org.netbeans.modules.payara.tooling.data.PayaraVersion)
 meth public boolean equalsMajorMinor(org.netbeans.modules.payara.tooling.data.PayaraVersion)
 meth public java.lang.String toFullString()
@@ -1445,7 +1446,7 @@
 meth public static org.netbeans.modules.payara.tooling.data.PayaraVersion valueOf(java.lang.String)
 meth public static org.netbeans.modules.payara.tooling.data.PayaraVersion[] values()
 supr java.lang.Enum<org.netbeans.modules.payara.tooling.data.PayaraVersion>
-hfds PF_4_1_144_STR,PF_4_1_144_STR_NEXT,PF_4_1_151_STR,PF_4_1_151_STR_NEXT,PF_4_1_152_STR,PF_4_1_152_STR_NEXT,PF_4_1_153_STR,PF_4_1_153_STR_NEXT,PF_4_1_1_154_STR,PF_4_1_1_154_STR_NEXT,PF_4_1_1_161_STR,PF_4_1_1_161_STR_NEXT,PF_4_1_1_162_STR,PF_4_1_1_162_STR_NEXT,PF_4_1_1_163_STR,PF_4_1_1_163_STR_NEXT,PF_4_1_1_164_STR,PF_4_1_1_164_STR_NEXT,PF_4_1_1_171_STR,PF_4_1_1_171_STR_NEXT,PF_4_1_2_172_STR,PF_4_1_2_172_STR_NEXT,PF_4_1_2_173_STR,PF_4_1_2_173_STR_NEXT,PF_4_1_2_174_STR,PF_4_1_2_174_STR_NEXT,PF_4_1_2_181_STR,PF_4_1_2_181_STR_NEXT,PF_5_181_STR,PF_5_181_STR_NEXT,PF_5_182_STR,PF_5_182_STR_NEXT,PF_5_183_STR,PF_5_183_STR_NEXT,PF_5_184_STR,PF_5_184_STR_NEXT,PF_5_191_STR,PF_5_191_STR_NEXT,PF_5_192_STR,PF_5_192_STR_NEXT,PF_5_193_STR,PF_5_193_STR_NEXT,PF_5_194_STR,PF_5_194_STR_NEXT,PF_5_201_STR,PF_5_201_STR_NEXT,build,major,minor,stringValuesMap,update,value
+hfds PF_4_1_144_STR,PF_4_1_144_STR_NEXT,PF_4_1_151_STR,PF_4_1_151_STR_NEXT,PF_4_1_152_STR,PF_4_1_152_STR_NEXT,PF_4_1_153_STR,PF_4_1_153_STR_NEXT,PF_4_1_1_154_STR,PF_4_1_1_154_STR_NEXT,PF_4_1_1_161_STR,PF_4_1_1_161_STR_NEXT,PF_4_1_1_162_STR,PF_4_1_1_162_STR_NEXT,PF_4_1_1_163_STR,PF_4_1_1_163_STR_NEXT,PF_4_1_1_164_STR,PF_4_1_1_164_STR_NEXT,PF_4_1_1_171_STR,PF_4_1_1_171_STR_NEXT,PF_4_1_2_172_STR,PF_4_1_2_172_STR_NEXT,PF_4_1_2_173_STR,PF_4_1_2_173_STR_NEXT,PF_4_1_2_174_STR,PF_4_1_2_174_STR_NEXT,PF_4_1_2_181_STR,PF_4_1_2_181_STR_NEXT,PF_5_181_STR,PF_5_181_STR_NEXT,PF_5_182_STR,PF_5_182_STR_NEXT,PF_5_183_STR,PF_5_183_STR_NEXT,PF_5_184_STR,PF_5_184_STR_NEXT,PF_5_191_STR,PF_5_191_STR_NEXT,PF_5_192_STR,PF_5_192_STR_NEXT,PF_5_193_STR,PF_5_193_STR_NEXT,PF_5_194_STR,PF_5_194_STR_NEXT,PF_5_201_STR,PF_5_201_STR_NEXT,PF_5_202_STR,PF_5_202_STR_NEXT,build,major,minor,stringValuesMap,update,value
 
 CLSS public abstract interface org.netbeans.modules.payara.tooling.data.StartupArgs
 meth public abstract java.lang.String getJavaHome()
diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/AdminFactory.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/AdminFactory.java
index 9017ae1..d44adec 100644
--- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/AdminFactory.java
+++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/AdminFactory.java
@@ -83,6 +83,7 @@
             case PF_5_193:
             case PF_5_194:
             case PF_5_201:
+            case PF_5_202:
                 return AdminFactoryRest.getInstance();
             // Anything else is not unknown.
             default:
diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java
index 55ec694..bf9bb0c 100644
--- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java
+++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java
@@ -83,7 +83,9 @@
     /** Payara 5.194 */
     PF_5_194 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 19, (short) 4, (short) 0, PayaraVersion.PF_5_194_STR),
     /** Payara 5.201 */
-    PF_5_201 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 20, (short) 1, (short) 0, PayaraVersion.PF_5_201_STR);
+    PF_5_201 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 20, (short) 1, (short) 0, PayaraVersion.PF_5_201_STR),
+    /** Payara 5.202 */
+    PF_5_202 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 20, (short) 2, (short) 0, PayaraVersion.PF_5_202_STR);
 
     //add new version
     /**  A <code>String</code> representation of PF_4_1_144 value. */
@@ -178,6 +180,10 @@
     static final String PF_5_201_STR = "5.201";
     /** Additional <code>String</code> representations of 5.201 value. */
     static final String PF_5_201_STR_NEXT[] = {"5.201.0"};
+    /**  A <code>String</code> representation of PF_5_202 value. */
+    static final String PF_5_202_STR = "5.202";
+    /** Additional <code>String</code> representations of 5.202 value. */
+    static final String PF_5_202_STR_NEXT[] = {"5.202.0"};
 
 
     ////////////////////////////////////////////////////////////////////////////
@@ -230,6 +236,7 @@
         initStringValuesMapFromArray(PF_5_193, PF_5_193_STR_NEXT);
         initStringValuesMapFromArray(PF_5_194, PF_5_194_STR_NEXT);
         initStringValuesMapFromArray(PF_5_201, PF_5_201_STR_NEXT);
+        initStringValuesMapFromArray(PF_5_202, PF_5_202_STR_NEXT);
     }
 
     ////////////////////////////////////////////////////////////////////////////
diff --git a/enterprise/projectimport.eclipse.web/src/org/netbeans/modules/projectimport/eclipse/web/ServerSelectionWizardPanel.java b/enterprise/projectimport.eclipse.web/src/org/netbeans/modules/projectimport/eclipse/web/ServerSelectionWizardPanel.java
index 2f4e3a3..0d2ee8d 100644
--- a/enterprise/projectimport.eclipse.web/src/org/netbeans/modules/projectimport/eclipse/web/ServerSelectionWizardPanel.java
+++ b/enterprise/projectimport.eclipse.web/src/org/netbeans/modules/projectimport/eclipse/web/ServerSelectionWizardPanel.java
@@ -88,8 +88,8 @@
     private void fireChange() {
         if (changeListeners != null) {
             ChangeEvent e = new ChangeEvent(this);
-            for (Iterator i = changeListeners.iterator(); i.hasNext(); ) {
-                ((ChangeListener) i.next()).stateChanged(e);
+            for (Iterator<ChangeListener> i = changeListeners.iterator(); i.hasNext(); ) {
+                i.next().stateChanged(e);
             }
         }
     }
diff --git a/enterprise/spring.webmvc/licenseinfo.xml b/enterprise/spring.webmvc/licenseinfo.xml
index 9c770d8..31113c5 100644
--- a/enterprise/spring.webmvc/licenseinfo.xml
+++ b/enterprise/spring.webmvc/licenseinfo.xml
@@ -24,10 +24,10 @@
     <fileset>
         <file>src/org/netbeans/modules/spring/webmvc/resources/templates/AbstractController.template</file>
         <file>src/org/netbeans/modules/spring/webmvc/resources/templates/SimpleFormController.template</file>
-        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template</file>
-        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext40.template</file>
-        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet31.template</file>
-        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet40.template</file>
+        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext3.template</file>
+        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext4.template</file>
+        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet3.template</file>
+        <file>src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet4.template</file>
         <file>src/org/netbeans/modules/spring/webmvc/resources/templates/index.template</file>
         <file>src/org/netbeans/modules/spring/webmvc/resources/templates/redirect.template</file>
         <license ref="Apache-2.0-ASF" />
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringConfigPanelVisual.java b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringConfigPanelVisual.java
index 24af9f6..253a1bd 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringConfigPanelVisual.java
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringConfigPanelVisual.java
@@ -23,9 +23,7 @@
 package org.netbeans.modules.spring.webmvc;
 
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.swing.ComboBoxModel;
@@ -50,7 +48,7 @@
     private static final Logger LOG = Logger.getLogger(SpringConfigPanelVisual.class.getName());
     private static final long serialVersionUID = 1L;
     private boolean libsInitialized = false;
-    private List<SpringLibrary> springLibs = new ArrayList<>();
+    private final List<SpringLibrary> springLibs = new ArrayList<>();
     private SpringLibrary springLibrary;
     private final SpringWebModuleExtender extender;
     private final ChangeSupport changeSupport = new ChangeSupport(this);
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringWebModuleExtender.java b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringWebModuleExtender.java
index e143a5f..c6c9fcc 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringWebModuleExtender.java
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/SpringWebModuleExtender.java
@@ -339,15 +339,16 @@
             FileObject jsp = FileUtil.createFolder(webInf, "jsp");
             // COPY TEMPLATE SPRING RESOURCES (JSP, XML, PROPERTIES)
             DataFolder webInfDO = DataFolder.findFolder(webInf);
-            final List<File> newConfigFiles = new ArrayList<File>(2);
-            HashMap<String, Object> params = new HashMap<String, Object>();
-            String appContextTemplateName = "applicationContext-4.0.xml"; //NOI18N
-            String dispServletTemplateName = "dispatcher-servlet-4.0.xml"; //NOI18N
+            final List<File> newConfigFiles = new ArrayList<>(2);
+            HashMap<String, Object> params = new HashMap<>();
+            
+            String appContextTemplateName = "applicationContext-4.xml"; //NOI18N
+            String dispServletTemplateName = "dispatcher-servlet-4.xml"; //NOI18N
             if (version.startsWith("3.")) {    //NOI18N
-//                params.put("springVersion3", Boolean.TRUE); //NOI18N
-                appContextTemplateName = "applicationContext-3.1.xml"; //NOI18N
-                dispServletTemplateName = "dispatcher-servlet-3.1.xml"; //NOI18N
+                appContextTemplateName = "applicationContext-3.xml"; //NOI18N
+                dispServletTemplateName = "dispatcher-servlet-3.xml"; //NOI18N
             }
+            
             FileObject configFile = createFromTemplate(appContextTemplateName, webInfDO, "applicationContext",params); // NOI18N
             addFileToOpen(configFile);
             newConfigFiles.add(FileUtil.toFile(configFile));
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/WebProjectSpringConfigFileProvider.java b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/WebProjectSpringConfigFileProvider.java
index 10c2aa0..11ebfef 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/WebProjectSpringConfigFileProvider.java
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/WebProjectSpringConfigFileProvider.java
@@ -48,12 +48,13 @@
         this.project = project;
     }
 
+    @Override
     public Set<File> getConfigFiles() {
         FileObject webInf = getWebInf();
         if (webInf == null) {
             return Collections.emptySet();
         }
-        Set<File> result = new HashSet<File>();
+        Set<File> result = new HashSet<>();
         addFilesInWebInf(webInf, result);
         return Collections.unmodifiableSet(result);
     }
@@ -74,6 +75,7 @@
         }
     }
 
+    @Override
     public FileObject getLocation() {
         return getWebInf();
     }
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/layer.xml b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/layer.xml
index ff7c1fa..92c9b08 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/layer.xml
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/layer.xml
@@ -69,19 +69,19 @@
     </folder>
     <folder name="SpringFramework">
         <folder name="Templates">
-            <file name="applicationContext-3.1.xml" url="templates/applicationContext31.template">
+            <file name="applicationContext-3.xml" url="templates/applicationContext3.template">
                 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
                 <attr name="template" boolvalue="true"/>
             </file>
-            <file name="dispatcher-servlet-3.1.xml" url="templates/dispatcher-servlet31.template">
+            <file name="dispatcher-servlet-3.xml" url="templates/dispatcher-servlet3.template">
                 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
                 <attr name="template" boolvalue="true"/>
             </file>
-            <file name="applicationContext-4.0.xml" url="templates/applicationContext40.template">
+            <file name="applicationContext-4.xml" url="templates/applicationContext4.template">
                 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
                 <attr name="template" boolvalue="true"/>
             </file>
-            <file name="dispatcher-servlet-4.0.xml" url="templates/dispatcher-servlet40.template">
+            <file name="dispatcher-servlet-4.xml" url="templates/dispatcher-servlet4.template">
                 <attr name="javax.script.ScriptEngine" stringvalue="freemarker"/>
                 <attr name="template" boolvalue="true"/>
             </file>
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext3.template
similarity index 87%
rename from enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template
rename to enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext3.template
index db8ff69..eb9a3ee 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext3.template
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="${project.encoding}"?>
+<?xml version='1.0' encoding='UTF-8' ?> 
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
-       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
+       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
 
     <!--bean id="propertyConfigurer"
           class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext4.template
similarity index 87%
copy from enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template
copy to enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext4.template
index db8ff69..36a3b64 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext31.template
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext4.template
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="${project.encoding}"?>
+<?xml version='1.0' encoding='UTF-8' ?>
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
-       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
+       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
 
     <!--bean id="propertyConfigurer"
           class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext40.template b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext40.template
deleted file mode 100644
index a82463d..0000000
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/applicationContext40.template
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' ?>
-<!-- was: <?xml version="1.0" encoding="${project.encoding}"?> -->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:aop="http://www.springframework.org/schema/aop"
-       xmlns:tx="http://www.springframework.org/schema/tx"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
-       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
-
-    <!--bean id="propertyConfigurer"
-          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
-          p:location="/WEB-INF/jdbc.properties" />
-
-    <bean id="dataSource"
-          class="org.springframework.jdbc.datasource.DriverManagerDataSource"
-          p:driverClassName="${r"${jdbc.driverClassName}"}"
-          p:url="${r"${jdbc.url}"}"
-          p:username="${r"${jdbc.username}"}"
-          p:password="${r"${jdbc.password}"}" /-->
-
-    <!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
-
-</beans>
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet31.template b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet3.template
similarity index 90%
rename from enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet31.template
rename to enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet3.template
index 5024257..23c5c4f 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet31.template
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet3.template
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="${project.encoding}"?>
+<?xml version='1.0' encoding='UTF-8' ?> 
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
-       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
+       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
 
     <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
 
diff --git a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet40.template b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet4.template
similarity index 84%
rename from enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet40.template
rename to enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet4.template
index dbc07ec..c1c4df2 100644
--- a/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet40.template
+++ b/enterprise/spring.webmvc/src/org/netbeans/modules/spring/webmvc/resources/templates/dispatcher-servlet4.template
@@ -1,15 +1,12 @@
 <?xml version='1.0' encoding='UTF-8' ?>
-<!-- was: <?xml version="1.0" encoding="${project.encoding}"?> -->
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
-       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
-
-    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
+       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
+       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
 
     <!--
     Most controllers will use the ControllerClassNameHandlerMapping above, but
diff --git a/enterprise/websvc.editor.hints/nbproject/project.properties b/enterprise/websvc.editor.hints/nbproject/project.properties
index 0c362d3..d4880d5 100644
--- a/enterprise/websvc.editor.hints/nbproject/project.properties
+++ b/enterprise/websvc.editor.hints/nbproject/project.properties
@@ -16,5 +16,5 @@
 # under the License.
 
 javac.compilerargs=-Xlint:unchecked
-javac.source=1.6
-test-unit-sys-prop.java.endorsed.dirs=${websvc/jaxws20.dir}/modules/ext/jaxws21/api
+javac.source=1.8
+requires.nb.javac=true
diff --git a/enterprise/websvc.editor.hints/nbproject/project.xml b/enterprise/websvc.editor.hints/nbproject/project.xml
index eebd40b..1aac5c2 100644
--- a/enterprise/websvc.editor.hints/nbproject/project.xml
+++ b/enterprise/websvc.editor.hints/nbproject/project.xml
@@ -225,6 +225,10 @@
                         <compile-dependency/>
                     </test-dependency>
                     <test-dependency>
+                        <code-name-base>org.netbeans.modules.java.source.base</code-name-base>
+                        <test/>
+                    </test-dependency>
+                    <test-dependency>
                         <code-name-base>org.netbeans.modules.masterfs</code-name-base>
                     </test-dependency>
                     <test-dependency>
@@ -233,6 +237,9 @@
                         <compile-dependency/>
                     </test-dependency>
                     <test-dependency>
+                        <code-name-base>org.netbeans.modules.parsing.nb</code-name-base>
+                    </test-dependency>
+                    <test-dependency>
                         <code-name-base>org.netbeans.modules.projectapi.nb</code-name-base>
                     </test-dependency>
                 </test-type>
diff --git a/enterprise/websvc.editor.hints/src/org/netbeans/modules/websvc/editor/hints/common/RulesEngine.java b/enterprise/websvc.editor.hints/src/org/netbeans/modules/websvc/editor/hints/common/RulesEngine.java
index 94cd4fa..bc67a88 100644
--- a/enterprise/websvc.editor.hints/src/org/netbeans/modules/websvc/editor/hints/common/RulesEngine.java
+++ b/enterprise/websvc.editor.hints/src/org/netbeans/modules/websvc/editor/hints/common/RulesEngine.java
@@ -22,11 +22,13 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.ExecutableElement;
 import javax.lang.model.element.TypeElement;
 import javax.lang.model.element.VariableElement;
-import javax.lang.model.util.ElementKindVisitor6;
+import javax.lang.model.util.ElementKindVisitor8;
 import org.netbeans.spi.editor.hints.ErrorDescription;
 
 /**
@@ -34,7 +36,7 @@
  * @author Ajit.Bhate@Sun.COM
  * @author Tomasz.Slota@Sun.COM
  */
-public abstract class RulesEngine extends ElementKindVisitor6<Void, ProblemContext> {
+public abstract class RulesEngine extends ElementKindVisitor8<Void, ProblemContext> {
     //private ProblemContext ctx;
     private List<ErrorDescription> problemsFound = new ArrayList<ErrorDescription>();
     
@@ -115,6 +117,11 @@
         return null;
     }
     
+    @Override public Void visitUnknown(Element e, ProblemContext p) {
+        Logger.getLogger(getClass().getName()).log(Level.INFO, "Unknow element type: {0}.", e.getKind());
+        return null;
+    }
+    
     public List<ErrorDescription> getProblemsFound(){
         return problemsFound;
     }
diff --git a/enterprise/websvc.editor.hints/test/unit/data/InvalidExcludeAttributeTest.java b/enterprise/websvc.editor.hints/test/unit/data/InvalidExcludeAttributeTest.java
index dea6d70..877ffcc 100644
--- a/enterprise/websvc.editor.hints/test/unit/data/InvalidExcludeAttributeTest.java
+++ b/enterprise/websvc.editor.hints/test/unit/data/InvalidExcludeAttributeTest.java
@@ -26,7 +26,7 @@
  */
 @WebService
 public class InvalidExcludeAttributeTest {
-    @WebMethod(exclude=true)
+    @WebMethod(operationName = "", exclude=true)
     public void getNamespace(){
     }
 }
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/enterprise/websvc.editor.hints/test/unit/data/UnknownElementTest.java
similarity index 86%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to enterprise/websvc.editor.hints/test/unit/data/UnknownElementTest.java
index ce5fca3..18fff92 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/enterprise/websvc.editor.hints/test/unit/data/UnknownElementTest.java
@@ -16,13 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+import javax.jws.WebService;
 
-package org.netbeans.modules.junit;
+@WebService
+public class UnknownElementTest {
 
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
+    record Point(int x, int y) {
+    }
 }
diff --git a/enterprise/websvc.editor.hints/test/unit/src/org/netbeans/modules/websvc/editor/hints/WSHintsTest.java b/enterprise/websvc.editor.hints/test/unit/src/org/netbeans/modules/websvc/editor/hints/WSHintsTest.java
index 16650c8..92cc18e 100644
--- a/enterprise/websvc.editor.hints/test/unit/src/org/netbeans/modules/websvc/editor/hints/WSHintsTest.java
+++ b/enterprise/websvc.editor.hints/test/unit/src/org/netbeans/modules/websvc/editor/hints/WSHintsTest.java
@@ -118,4 +118,10 @@
         getRulesEngine().getParameterRules().add(instance);
         testRule(instance,instance.getClass().getSimpleName().concat("Test.java"));
     }
+
+    public final void testUnknownElement() throws IOException {
+        Rule<TypeElement> instance = new DefaultPackage();
+        getRulesEngine().getClassRules().add(instance);
+        testRule(instance,"UnknownElementTest.java");
+    }
 }
diff --git a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceGroup.java b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceGroup.java
index 0dd57e9..af21de4 100644
--- a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceGroup.java
+++ b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceGroup.java
@@ -140,9 +140,9 @@
     
     public void setWebServiceIds(Set ids){
         webserviceIds = ids;
-        Iterator iter = webserviceIds.iterator();
+        Iterator<String> iter = webserviceIds.iterator();
         while(iter.hasNext()) {
-            WebServiceData wsData = WebServiceListModel.getInstance().getWebService((String)iter.next());
+            WebServiceData wsData = WebServiceListModel.getInstance().getWebService(iter.next());
             wsData.setGroupId(getId());
         }
     }
diff --git a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceListModel.java b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceListModel.java
index 8627df8..3758480 100644
--- a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceListModel.java
+++ b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/model/WebServiceListModel.java
@@ -236,10 +236,10 @@
                 WebServiceManager.getInstance().removeWebService(getWebService(webserviceIds[ii]));
             }
             webServiceGroups.remove(group);
-            Iterator iter = listeners.iterator();
+            Iterator<WebServiceListModelListener> iter = listeners.iterator();
             while (iter.hasNext()) {
                 WebServiceListModelEvent evt = new WebServiceListModelEvent(groupId);
-                ((WebServiceListModelListener) iter.next()).webServiceGroupRemoved(evt);
+                iter.next().webServiceGroupRemoved(evt);
             }
         }
     }
diff --git a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/ui/TestWebServiceMethodDlg.java b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/ui/TestWebServiceMethodDlg.java
index 5a2750b..b88eecc 100644
--- a/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/ui/TestWebServiceMethodDlg.java
+++ b/enterprise/websvc.manager/src/org/netbeans/modules/websvc/manager/ui/TestWebServiceMethodDlg.java
@@ -696,9 +696,9 @@
         }
 
         private void notifyListeners(Object returnedObject) {
-            Iterator listenerIterator = listeners.iterator();
+            Iterator<MethodTaskListener> listenerIterator = listeners.iterator();
             while(listenerIterator.hasNext()) {
-                MethodTaskListener currentListener = (MethodTaskListener)listenerIterator.next();
+                MethodTaskListener currentListener = listenerIterator.next();
                 currentListener.methodFinished(returnedObject, paramList);
             }
         }
diff --git a/enterprise/websvc.websvcapi/nbproject/project.properties b/enterprise/websvc.websvcapi/nbproject/project.properties
index 62a0c39..ddd8d03 100644
--- a/enterprise/websvc.websvcapi/nbproject/project.properties
+++ b/enterprise/websvc.websvcapi/nbproject/project.properties
@@ -16,7 +16,7 @@
 # under the License.
 
 javac.compilerargs=-Xlint:unchecked
-javac.source=1.6
+javac.source=1.8
 javadoc.overview=${basedir}/overview.html
 javadoc.arch=${basedir}/arch.xml
 
diff --git a/enterprise/websvc.wsstackapi/nbproject/project.properties b/enterprise/websvc.wsstackapi/nbproject/project.properties
index 9d16890..cc4f166 100644
--- a/enterprise/websvc.wsstackapi/nbproject/project.properties
+++ b/enterprise/websvc.wsstackapi/nbproject/project.properties
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-javac.source=1.6
+javac.source=1.8
 javac.compilerargs=-Xlint:unchecked
 javadoc.arch=${basedir}/arch.xml
 
diff --git a/ergonomics/ide.ergonomics/java.properties b/ergonomics/ide.ergonomics/java.properties
index c7c7252..d4041e4 100644
--- a/ergonomics/ide.ergonomics/java.properties
+++ b/ergonomics/ide.ergonomics/java.properties
@@ -20,7 +20,7 @@
 projectImporter=Eclipse
 
 mainModule=org.netbeans.modules.java.kit
-extra.modules=org.netbeans.modules.nbjavac
+extra.modules=org.netbeans.modules.nbjavac.*
 extra.modules.recommended.min.jdk=9
 extra.modules.1=org\\.netbeans\\.libs\\.javafx\\.(linux|win|macosx)
 extra.modules.1.recommended.max.jdk=11
diff --git a/ergonomics/ide.ergonomics/nbproject/project.properties b/ergonomics/ide.ergonomics/nbproject/project.properties
index b11a5b9..cf4591f 100644
--- a/ergonomics/ide.ergonomics/nbproject/project.properties
+++ b/ergonomics/ide.ergonomics/nbproject/project.properties
@@ -28,7 +28,8 @@
 
 test.config.commit.includes=\
     org/netbeans/modules/ide/ergonomics/DynamicVerifyTest.class,\
-    org/netbeans/modules/ide/ergonomics/CachingPreventsLoadingOfModuleManifestsTest.class
+    org/netbeans/modules/ide/ergonomics/CachingPreventsLoadingOfModuleManifestsTest.class,\
+    **/ConfigurationPanelTest.class
 
 test.config.stableBTD.includes=**/*Test.class
 test.config.stableBTD.excludes=\
diff --git a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
index be78b57..da9b7ce 100644
--- a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
+++ b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanel.java
@@ -24,10 +24,13 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
+import static java.util.Objects.nonNull;
 import java.util.Set;
 import java.util.concurrent.Callable;
 import javax.swing.Box;
@@ -42,14 +45,10 @@
 import javax.swing.JPanel;
 import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.SwingUtilities;
-import org.netbeans.api.autoupdate.InstallSupport;
-import org.netbeans.api.autoupdate.OperationContainer;
 import org.netbeans.api.autoupdate.UpdateElement;
 import org.netbeans.api.progress.ProgressHandle;
 import org.netbeans.api.progress.ProgressHandleFactory;
-import org.netbeans.modules.autoupdate.ui.api.PluginManager;
 import org.openide.awt.Mnemonics;
-import org.openide.modules.SpecificationVersion;
 import org.openide.util.Exceptions;
 import org.openide.util.NbBundle;
 import org.openide.util.RequestProcessor.Task;
@@ -65,7 +64,7 @@
  * @author Tomas Mysik
  * @author Pavel Flaska
  */
-public class ConfigurationPanel extends JPanel implements Runnable {
+public class ConfigurationPanel extends JPanel {
 
     private static final long serialVersionUID = 27938464212508L;
 
@@ -93,7 +92,7 @@
     public void setInfo(FeatureInfo info, String displayName, Collection<UpdateElement> toInstall,
             Collection<FeatureInfo.ExtraModuleInfo> missingModules,
             Map<FeatureInfo.ExtraModuleInfo, FeatureInfo> extrasMap, boolean required) {
-        this.extrasFilter = new HashSet<FeatureInfo.ExtraModuleInfo>();
+        this.extrasFilter = new HashSet<>();
         this.featureInfo = info;
         this.featureInstall = toInstall;
         boolean activateNow = toInstall.isEmpty() && missingModules.isEmpty();
@@ -142,29 +141,17 @@
             downloadLabel.setVisible(true);
             activateButton.setVisible(true);
             downloadButton.setVisible(true);
-            StringBuilder sbDownload = new StringBuilder();
-
+            
             // collect descriptions from features contributing installed extras
-            for (FeatureInfo fi : extrasMap.values()) {
-                String s = required
-                        ? fi.getExtraModulesRequiredText()
-                        : fi.getExtraModulesRecommendedText();
-                if (s != null) {
-                    if (sbDownload.length() > 0) {
-                        sbDownload.append("\n");
-                    }
-                    sbDownload.append(s);
-                }
-            }
+            List<String> downloadStringList = collectExtraModulesTextsFromFeatures(extrasMap.values(), required);
+            String lblDownloadMsg = generateDownloadMessageFromExtraModulesTexts(downloadStringList);
+            
             if (required) {
                 activateButton.setEnabled(false);
             } else {
                 activateButton.setEnabled(true);
             }
 
-            String lblDownloadMsg = sbDownload.toString();
-
-            String list = "";
             if (!missingModules.isEmpty()) {
                 StringBuilder sb = new StringBuilder();
                 for (FeatureInfo.ExtraModuleInfo s : missingModules) {
@@ -173,7 +160,7 @@
                     }
                     sb.append(s.displayName());
                 }
-                list = sb.toString();
+                String list = sb.toString();
                 if (required) {
                     lblDownloadMsg = NbBundle.getMessage(ConfigurationPanel.class, "MSG_MissingRequiredModules", displayName, list);
                     activateButton.setEnabled(false);
@@ -194,6 +181,40 @@
             org.openide.awt.Mnemonics.setLocalizedText(downloadButton, btnDownloadMsg);
         }
     }
+    
+    /**
+     * Collect extra modules texts
+     */
+    protected List<String> collectExtraModulesTextsFromFeatures(Collection<FeatureInfo> features, boolean required) {
+        List<String> descriptionsList = new ArrayList<>();
+        for (FeatureInfo fi : features) {
+            String s = required ? fi.getExtraModulesRequiredText(): fi.getExtraModulesRecommendedText();
+            if (nonNull(s) && !descriptionsList.contains(s)) {
+                descriptionsList.add(s);
+            }
+        }
+        return descriptionsList;
+    } 
+    
+    /**
+     * Generate download message from extra modules texts
+     * @param extraModulesTexts
+     * @return String Text to set in download label
+     */
+    protected String generateDownloadMessageFromExtraModulesTexts(List<String> extraModulesTexts) {
+        StringBuilder sbDownload = new StringBuilder();
+        if (!extraModulesTexts.isEmpty()) {
+            sbDownload.append("<html><body>");
+            for (int i = 0; i < extraModulesTexts.size(); i++) {
+                sbDownload.append(extraModulesTexts.get(i));
+                if (extraModulesTexts.size() > 1 && i < extraModulesTexts.size() - 1) {
+                    sbDownload.append("<br>");
+                }
+            }
+            sbDownload.append("</body></html>");
+        }
+        return sbDownload.toString();
+    }
 
     @Override
     public void removeNotify() {
@@ -306,60 +327,64 @@
         );
     }// </editor-fold>//GEN-END:initComponents
 
-    public void run() {
-        ModulesInstaller.installModules(progressMonitor, featureInfo, featureInstall, extrasFilter);
-    }
-
     private void activateButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_activateButtonActionPerformed
         FeatureManager.logUI("ERGO_DOWNLOAD");
         activateButton.setEnabled(false);
         downloadButton.setEnabled(false);
-        Task task = FeatureManager.getInstance().create(this);
-        task.addTaskListener(new TaskListener() {
-
-            public void taskFinished(org.openide.util.Task task) {
-                if (!progressMonitor.error) {
-                    SwingUtilities.invokeLater(new Runnable() {
-                        private String msg;
-
-                        public void run() {
-                            ConfigurationPanel.this.removeAll();
-                            ConfigurationPanel.this.setLayout(new BorderLayout());
-                            try {
-                                ConfigurationPanel.this.add(callable.call(), BorderLayout.CENTER);
-                            } catch (Exception ex) {
-                                // TODO: add warning panel
-                                Exceptions.printStackTrace(ex);
-                            }
-                            ConfigurationPanel.this.invalidate();
-                            ConfigurationPanel.this.revalidate();
-                            ConfigurationPanel.this.repaint();
-                            if (featureInfo != null && featureInfo.isPresent()) {
-                                msg = NbBundle.getMessage(ConfigurationPanel.class, "MSG_EnableFailed");
-                            } else {
-                                msg = NbBundle.getMessage(ConfigurationPanel.class, "MSG_DownloadFailed");
-                            }
-                            setError(msg);
-                            activateButton.setEnabled(true);
-                            progressPanel.removeAll();
-                            progressPanel.revalidate();
-                            progressPanel.repaint();
-                        }
-                    });
-                }
-            }
+        selectionsPanel.setEnabled(false);
+        Task task = FeatureManager.getInstance().create(() -> {
+            ModulesInstaller.activateModules(false, progressMonitor, featureInfo, featureInstall, extrasFilter);
         });
+        task.addTaskListener(onActivationFinished());
         task.schedule(0);
     }//GEN-LAST:event_activateButtonActionPerformed
 
     private void downloadButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_downloadButtonActionPerformed
-        OperationContainer<InstallSupport> op = OperationContainer.createForInstall();
-        op.add(featureInstall);
-        if (PluginManager.openInstallWizard(op)) {
-            activateButtonActionPerformed(null);
-        }
+        FeatureManager.logUI("ERGO_DOWNLOAD");
+        activateButton.setEnabled(false);
+        downloadButton.setEnabled(false);
+        selectionsPanel.setEnabled(false);
+        Task task = FeatureManager.getInstance().create(() -> {
+            ModulesInstaller.activateModules(true, progressMonitor, featureInfo, Collections.emptyList(), extrasFilter);
+        });
+        task.addTaskListener(onActivationFinished());
+        task.schedule(0);
     }//GEN-LAST:event_downloadButtonActionPerformed
 
+    private TaskListener onActivationFinished() {
+        return (task) -> {
+            if (!progressMonitor.error) {
+                SwingUtilities.invokeLater(new Runnable() {
+                    private String msg;
+
+                    public void run() {
+                        ConfigurationPanel.this.removeAll();
+                        ConfigurationPanel.this.setLayout(new BorderLayout());
+                        try {
+                            ConfigurationPanel.this.add(callable.call(), BorderLayout.CENTER);
+                        } catch (Exception ex) {
+                            // TODO: add warning panel
+                            Exceptions.printStackTrace(ex);
+                        }
+                        ConfigurationPanel.this.invalidate();
+                        ConfigurationPanel.this.revalidate();
+                        ConfigurationPanel.this.repaint();
+                        if (featureInfo != null && featureInfo.isPresent()) {
+                            msg = NbBundle.getMessage(ConfigurationPanel.class, "MSG_EnableFailed");
+                        } else {
+                            msg = NbBundle.getMessage(ConfigurationPanel.class, "MSG_DownloadFailed");
+                        }
+                        setError(msg);
+                        activateButton.setEnabled(true);
+                        progressPanel.removeAll();
+                        progressPanel.revalidate();
+                        progressPanel.repaint();
+                    }
+                });
+            }
+        };
+    }
+
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private JButton activateButton;
     private JButton downloadButton;
@@ -372,7 +397,7 @@
 
     private final class DownloadProgressMonitor implements ProgressMonitor {
 
-        private boolean error = false;
+        boolean error = false;
 
         public void onDownload(ProgressHandle progressHandle) {
             updateProgress(progressHandle);
diff --git a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ModulesInstaller.java b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ModulesInstaller.java
index 04ec5c9..8d65cd7 100644
--- a/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ModulesInstaller.java
+++ b/ergonomics/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/ModulesInstaller.java
@@ -23,7 +23,9 @@
 import java.awt.event.ActionListener;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Set;
+import java.util.function.Function;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.swing.JButton;
@@ -75,34 +77,51 @@
         }
     }
     
-    static boolean success = false;
-    public static boolean installModules (
-        ProgressMonitor monitor, FeatureInfo info, Collection<UpdateElement> alreadyOffered, Set<FeatureInfo.ExtraModuleInfo> filter
+    static boolean activateModules(
+        boolean askForInstall, ProgressMonitor monitor, FeatureInfo info,
+        Collection<UpdateElement> alreadyOffered, Set<FeatureInfo.ExtraModuleInfo> filter
     ) {
         assert ! SwingUtilities.isEventDispatchThread () : "Cannot run in EQ!";
+
+        Function<FindComponentModules,Collection<UpdateElement>> toInstall = (state) -> {
+            Collection<UpdateElement> tmp = new LinkedHashSet<>(state.getModulesForInstall());
+            tmp.removeAll(alreadyOffered);
+            return tmp;
+        };
+        Function<FindComponentModules,Collection<UpdateElement>> toEnable = (state) -> {
+            return state.getModulesForEnable();
+        };
         
         FindComponentModules findModules = new FindComponentModules(info, filter);
-        Collection<UpdateElement> toInstall = findModules.getModulesForInstall();
-        toInstall.removeAll(alreadyOffered);
-        Collection<UpdateElement> toEnable = findModules.getModulesForEnable();
-        if (toInstall != null && !toInstall.isEmpty()) {
-            ModulesInstaller installer = new ModulesInstaller(toInstall, findModules, monitor);
+        if (askForInstall && !toInstall.apply(findModules).isEmpty()) {
+            OperationContainer<InstallSupport> op = OperationContainer.createForInstall();
+            op.add(toInstall.apply(findModules));
+            if (!PluginManager.openInstallWizard(op)) {
+                return false;
+            }
+            findModules = new FindComponentModules(info, filter);
+            if (!toInstall.apply(findModules).isEmpty()) {
+                return false;
+            }
+        }
+        if (!toInstall.apply(findModules).isEmpty()) {
+            ModulesInstaller installer = new ModulesInstaller(toInstall.apply(findModules), findModules, monitor);
             installer.getInstallTask ().schedule (10);
             installer.getInstallTask ().waitFinished();
             findModules = new FindComponentModules(info, filter);
-            success = findModules.getModulesForInstall ().isEmpty ();
-        } else if (toEnable != null && !toEnable.isEmpty()) {
-            ModulesActivator enabler = new ModulesActivator(toEnable, findModules, monitor);
+            if (!findModules.getModulesForInstall ().isEmpty ()) {
+                return false;
+            }
+        }
+        if (!toEnable.apply(findModules).isEmpty()) {
+            ModulesActivator enabler = new ModulesActivator(toEnable.apply(findModules), findModules, monitor);
             enabler.getEnableTask ().schedule (100);
             enabler.getEnableTask ().waitFinished();
-            success = true;
         }
         
-        if (success) {
-            FoDLayersProvider.getInstance().refreshForce();
-        }
+        FoDLayersProvider.getInstance().refreshForce();
         
-        return success;
+        return true;
     }
 
     public void assignDownloadHandle (ProgressHandle handle) {
diff --git a/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanelTest.java b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanelTest.java
new file mode 100644
index 0000000..7972c94
--- /dev/null
+++ b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/ConfigurationPanelTest.java
@@ -0,0 +1,150 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.ide.ergonomics.fod;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.swing.JPanel;
+import org.netbeans.api.autoupdate.UpdateElement;
+import org.netbeans.junit.NbTestCase;
+
+/**
+ *
+ * @author Hector Espert
+ */
+public class ConfigurationPanelTest extends NbTestCase {
+    
+    private ConfigurationPanel configurationPanel;
+
+    public ConfigurationPanelTest(String name) {
+        super(name);
+    }
+
+    @Override
+    protected boolean runInEQ() {
+        return true;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        configurationPanel = new ConfigurationPanel(JPanel::new); 
+    }
+    
+    
+    public void testSetInfo() throws Exception {
+        FeatureInfo featureInfo = FeatureInfo.create("TestFactory", 
+                this.getClass().getResource("FeatureInfo.xml"), 
+                this.getClass().getResource("TestBundle.properties"));
+                
+        Collection<UpdateElement> toInstall = new ArrayList<>();
+        
+        Collection<FeatureInfo.ExtraModuleInfo> missingModules = new ArrayList<>();
+        
+        Map<FeatureInfo.ExtraModuleInfo, FeatureInfo> extrasMap = new HashMap<>();
+        
+        FeatureInfo.ExtraModuleInfo extraModuleInfo = new FeatureInfo.ExtraModuleInfo("Feature", null, null);
+        extrasMap.put(extraModuleInfo, featureInfo);
+        
+        configurationPanel.setInfo(featureInfo, null, toInstall, missingModules, extrasMap, true);
+    }
+    
+    
+    public void testCollectExtraModulesTextsFromFeatures() throws IOException {
+        Collection<FeatureInfo> features = new ArrayList<>();
+        
+        List<String> texts = configurationPanel.collectExtraModulesTextsFromFeatures(features, true);
+        assertNotNull(texts);
+        assertTrue(texts.isEmpty());
+        
+        FeatureInfo featureInfo = FeatureInfo.create("TestFactory", 
+                this.getClass().getResource("FeatureInfo.xml"), 
+                this.getClass().getResource("TestBundle.properties"));
+        
+        features.add(featureInfo);
+        
+        texts = configurationPanel.collectExtraModulesTextsFromFeatures(features, true);
+        assertNotNull(texts);
+        assertFalse(texts.isEmpty());
+        
+        List<String> expected = new ArrayList();
+        expected.add("Required");
+        assertEquals(expected, texts);
+        
+        texts = configurationPanel.collectExtraModulesTextsFromFeatures(features, false);
+        assertNotNull(texts);
+        assertFalse(texts.isEmpty());
+        
+        expected = new ArrayList();
+        expected.add("Recommended");
+        assertEquals(expected, texts);
+        
+        FeatureInfo otherFeatureInfo = FeatureInfo.create("TestFactory", 
+                this.getClass().getResource("FeatureInfo.xml"), 
+                this.getClass().getResource("TestBundle.properties"));
+        
+        features.add(otherFeatureInfo);
+        
+        texts = configurationPanel.collectExtraModulesTextsFromFeatures(features, true);
+        assertNotNull(texts);
+        assertFalse(texts.isEmpty());
+        
+        expected = new ArrayList();
+        expected.add("Required");
+        assertEquals(expected, texts);
+        
+        otherFeatureInfo = FeatureInfo.create("TestFactory", 
+                this.getClass().getResource("FeatureInfo.xml"), 
+                this.getClass().getResource("TestBundle2.properties"));
+        
+        features.add(otherFeatureInfo);
+        
+        texts = configurationPanel.collectExtraModulesTextsFromFeatures(features, true);
+        assertNotNull(texts);
+        assertFalse(texts.isEmpty());
+        
+        expected = new ArrayList();
+        expected.add("Required");
+        expected.add("Required2");
+        assertEquals(expected, texts);
+    }
+    
+    public void testGenerateDownloadMessageFromExtraModulesTexts() {
+        List<String> extraModulesTexts = new ArrayList<>();
+        
+        String downloadText = configurationPanel.generateDownloadMessageFromExtraModulesTexts(extraModulesTexts);
+        assertEquals("", downloadText);
+        
+        extraModulesTexts.add("JDK8");
+        downloadText = configurationPanel.generateDownloadMessageFromExtraModulesTexts(extraModulesTexts);
+        assertEquals("<html><body>JDK8</body></html>", downloadText);
+        
+        extraModulesTexts.add("JDK10.5");
+        downloadText = configurationPanel.generateDownloadMessageFromExtraModulesTexts(extraModulesTexts);
+        assertEquals("<html><body>JDK8<br>JDK10.5</body></html>", downloadText);
+        
+        extraModulesTexts.add("JDK14");
+        downloadText = configurationPanel.generateDownloadMessageFromExtraModulesTexts(extraModulesTexts);
+        assertEquals("<html><body>JDK8<br>JDK10.5<br>JDK14</body></html>", downloadText);
+    }
+
+}
diff --git a/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle.properties b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle.properties
index 06fe772..f7bea6c 100644
--- a/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle.properties
+++ b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle.properties
@@ -20,3 +20,5 @@
 cnbs=org.netbeans.modules.subversion
 project.file.dbproject/project.properties=SomeClass
 
+LBL_Ergonomics_Extra_Required=Required
+LBL_Ergonomics_Extra_Recommended=Recommended
diff --git a/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle2.properties b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle2.properties
index 80a685a..b80558b 100644
--- a/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle2.properties
+++ b/ergonomics/ide.ergonomics/test/unit/src/org/netbeans/modules/ide/ergonomics/fod/TestBundle2.properties
@@ -18,3 +18,6 @@
 cnbs=org.netbeans.modules.favorites
 project.file.umlproject/project.properties=SomeClass
 
+LBL_Ergonomics_Extra_Required=Required2
+LBL_Ergonomics_Extra_Recommended=Recommended2
+
diff --git a/groovy/gradle.htmlui/nbproject/project.xml b/groovy/gradle.htmlui/nbproject/project.xml
index 8badfa5..c2e4e15 100644
--- a/groovy/gradle.htmlui/nbproject/project.xml
+++ b/groovy/gradle.htmlui/nbproject/project.xml
@@ -45,8 +45,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.4</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.java.coverage/nbproject/project.xml b/groovy/gradle.java.coverage/nbproject/project.xml
index 2fafbd1..b1211d3 100644
--- a/groovy/gradle.java.coverage/nbproject/project.xml
+++ b/groovy/gradle.java.coverage/nbproject/project.xml
@@ -39,8 +39,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.4</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.java/nbproject/project.xml b/groovy/gradle.java/nbproject/project.xml
index 3ab14e4..288dcb7 100644
--- a/groovy/gradle.java/nbproject/project.xml
+++ b/groovy/gradle.java/nbproject/project.xml
@@ -30,8 +30,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.5</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/api/GradleJavaSourceSet.java b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/api/GradleJavaSourceSet.java
index c1bf0f8..6f86834 100644
--- a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/api/GradleJavaSourceSet.java
+++ b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/api/GradleJavaSourceSet.java
@@ -233,6 +233,13 @@
         return runtimeClassPath != null ? runtimeClassPath : getCompileClassPath();
     }
 
+    /**
+     * Returns the {@link SourceType} of the given file or {@code null} if that
+     * file cannot be associated with one.
+     *
+     * @param f the file to check.
+     * @return the matching {@link SourceType} or {@code null}.
+     */
     public SourceType getSourceType(File f) {
         for (SourceType type : sources.keySet()) {
             Set<File> dirs = sources.get(type);
diff --git a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
index 0a9aeb0..3ad8db8 100644
--- a/groovy/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
+++ b/groovy/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
@@ -69,7 +69,7 @@
         ResultImpl ret = null;
         if (sourceSet != null) {
             GradleJavaSourceSet.SourceType sourceType = sourceSet.getSourceType(f);
-            if (sourceType != GradleJavaSourceSet.SourceType.RESOURCES) {
+            if ((sourceType != null) && (sourceType != GradleJavaSourceSet.SourceType.RESOURCES)) {
                 String key = sourceSet.getName() + "." + sourceType.name();
                 synchronized(this) {
                     ret = cache.get(key);
diff --git a/groovy/gradle.javaee/nbproject/project.xml b/groovy/gradle.javaee/nbproject/project.xml
index 86f0bc1..e5e63da 100644
--- a/groovy/gradle.javaee/nbproject/project.xml
+++ b/groovy/gradle.javaee/nbproject/project.xml
@@ -30,8 +30,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.4</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.kit/nbproject/project.xml b/groovy/gradle.kit/nbproject/project.xml
index f0af483..7fda199 100644
--- a/groovy/gradle.kit/nbproject/project.xml
+++ b/groovy/gradle.kit/nbproject/project.xml
@@ -34,8 +34,8 @@
                 <dependency>
                     <code-name-base>org.netbeans.modules.gradle</code-name-base>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.0</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.persistence/nbproject/project.xml b/groovy/gradle.persistence/nbproject/project.xml
index 1f266bc..ed7e0ab 100644
--- a/groovy/gradle.persistence/nbproject/project.xml
+++ b/groovy/gradle.persistence/nbproject/project.xml
@@ -30,8 +30,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.0</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.spring/nbproject/project.xml b/groovy/gradle.spring/nbproject/project.xml
index 335c322..88a3f6c 100644
--- a/groovy/gradle.spring/nbproject/project.xml
+++ b/groovy/gradle.spring/nbproject/project.xml
@@ -30,8 +30,8 @@
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.0</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle.test/nbproject/project.xml b/groovy/gradle.test/nbproject/project.xml
index 967121f..778bbff 100644
--- a/groovy/gradle.test/nbproject/project.xml
+++ b/groovy/gradle.test/nbproject/project.xml
@@ -26,12 +26,20 @@
             <code-name-base>org.netbeans.modules.gradle.test</code-name-base>
             <module-dependencies>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.libs.gradle</code-name-base>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>6</release-version>
+                        <specification-version>6.3</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.modules.gradle</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
                     <run-dependency>
-                        <release-version>1</release-version>
-                        <specification-version>1.4</specification-version>
+                        <release-version>2</release-version>
+                        <specification-version>2.0</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/groovy/gradle/apichanges.xml b/groovy/gradle/apichanges.xml
index 39eea23..65a70c0 100644
--- a/groovy/gradle/apichanges.xml
+++ b/groovy/gradle/apichanges.xml
@@ -83,8 +83,48 @@
     <!-- ACTUAL CHANGES BEGIN HERE: -->
 
     <changes>
-        <change>
-            <api name="execution"/>
+        <change id="gradle-tooling-api-split">
+            <api name="general"/>
+            <summary>Move Gradle Tooling API to a separate module.</summary>
+            <version major="2" minor="0"/>
+            <date year="2020" month="4" day="4"/>
+            <author login="lkishalmi"/>
+            <compatibility binary="incompatible" source="compatible"/>
+            <description>
+                <p>
+                    The Gradle Tooling API has been removed from this module to
+                    its own into: <code>org.netbeans.modules.libs.gradle</code>
+                </p>
+                <p>
+                    Modules depending on previous versions of this module need
+                    an additional dependency on the new library module. The
+                    main reason behind this split is that it is easier to do
+                    Gradle Tooling API update in the future.
+                </p>
+                <pre>
+                    &lt;dependency&gt;
+                        &lt;code-name-base&gt;org.netbeans.modules.libs.gradle&lt;/code-name-base&gt;
+                        &lt;compile-dependency/&gt;
+                        &lt;run-dependency&gt;
+                            &lt;release-version&gt;6&lt;/release-version&gt;
+                            &lt;specification-version&gt;6.3&lt;/specification-version&gt;
+                        &lt;/run-dependency&gt;
+                    &lt;/dependency&gt;
+                </pre>
+                <p>
+                    <b>Note:</b> The specification version of the <code>org.netbeans.modules.libs.gradle</code>
+                    module is matching the provided Gradle Tooling API version. The release version number
+                    follows the major version.
+                </p>
+                <p>
+                    Besides of the library removal the source code provided in
+                    this module are backward compatible.
+                </p>
+            </description>
+            <issue number="NETBEANS-4118"/>
+        </change>
+        <change id="allow-cancelling-gradle-process">
+            <api name="general"/>
             <summary>Added <code>RunUtils.cancelGradle(RunConfig)</code> to allow plugins to cancel an executed Gradle process.</summary>
             <version major="1" minor="4"/>
             <date year="2019" month="10" day="22"/>
@@ -103,7 +143,7 @@
     <!-- Now the surrounding HTML text and document structure: -->
 
     <htmlcontents>
-<!--
+        <!--
 
                             NO NO NO NO NO!
 
diff --git a/groovy/gradle/external/binaries-list b/groovy/gradle/external/binaries-list
index 88a1bb3..12041c3 100644
--- a/groovy/gradle/external/binaries-list
+++ b/groovy/gradle/external/binaries-list
@@ -16,5 +16,4 @@
 # under the License.
 
 A271DEA739D4EBBD1A51F282AA130EB9314AD830 gradle-wrapper-4.10.2.jar
-12C7F938F06B39C5689D5C48F1418AF00A4696E9 gradle-tooling-api-6.0.jar
 2564503471E1FC18A4E7D2A120BC567EA3B26AA4 gradle-4.10.2-bin.zip
diff --git a/groovy/gradle/manifest.mf b/groovy/gradle/manifest.mf
index ff3256b..4f49bfb 100644
--- a/groovy/gradle/manifest.mf
+++ b/groovy/gradle/manifest.mf
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 AutoUpdate-Show-In-Client: false
-OpenIDE-Module: org.netbeans.modules.gradle/1
+OpenIDE-Module: org.netbeans.modules.gradle/2
 OpenIDE-Module-Layer: org/netbeans/modules/gradle/layer.xml
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.6
+OpenIDE-Module-Specification-Version: 2.0
 OpenIDE-Module-Requires: cnb.org.netbeans.modules.groovy.kit
diff --git a/groovy/gradle/nbproject/project.properties b/groovy/gradle/nbproject/project.properties
index 80267f4..ea39a75 100644
--- a/groovy/gradle/nbproject/project.properties
+++ b/groovy/gradle/nbproject/project.properties
@@ -20,13 +20,14 @@
 javac.source=1.8
 javac.compilerargs=-Xlint -Xlint:-serial
 javadoc.arch=${basedir}/arch.xml
+javadoc.apichanges=${basedir}/apichanges.xml
+
 nbm.module.author=Laszlo Kishalmi
 source.reference.netbeans-gradle-tooling.jar=netbeans-gradle-tooling/src/main/groovy
 
 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir}
 test-unit-sys-prop.java.awt.headless=true
 
-release.external/gradle-tooling-api-6.0.jar=modules/gradle/gradle-tooling-api.jar
 release.build/tooling/netbeans-gradle-tooling.jar=modules/gradle/netbeans-gradle-tooling.jar
 release.build/tooling/nb-tooling.gradle=modules/gradle/nb-tooling.gradle
 
diff --git a/groovy/gradle/nbproject/project.xml b/groovy/gradle/nbproject/project.xml
index b3884b9..779b426 100644
--- a/groovy/gradle/nbproject/project.xml
+++ b/groovy/gradle/nbproject/project.xml
@@ -26,6 +26,14 @@
             <code-name-base>org.netbeans.modules.gradle</code-name-base>
             <module-dependencies>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.libs.gradle</code-name-base>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>6</release-version>
+                        <specification-version>6.3</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.api.annotations.common</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -322,14 +330,6 @@
                         <specification-version>6.70.1</specification-version>
                     </run-dependency>
                 </dependency>
-                <dependency>
-                    <code-name-base>slf4j.api</code-name-base>
-                    <run-dependency/>
-                </dependency>
-                <dependency>
-                    <code-name-base>slf4j.jdk14</code-name-base>
-                    <run-dependency/>
-                </dependency>
             </module-dependencies>
             <test-dependencies>
                 <test-type>
@@ -379,24 +379,6 @@
                 </test-type>
             </test-dependencies>
             <public-packages>
-                <package>org.gradle.tooling</package>
-                <package>org.gradle.tooling.events</package>
-                <package>org.gradle.tooling.events.configuration</package>
-                <package>org.gradle.tooling.events.configuration.internal</package>
-                <package>org.gradle.tooling.events.task</package>
-                <package>org.gradle.tooling.events.task.java</package>
-                <package>org.gradle.tooling.events.test</package>
-                <package>org.gradle.tooling.events.transform</package>
-                <package>org.gradle.tooling.events.work</package>
-                <package>org.gradle.tooling.exceptions</package>
-                <package>org.gradle.tooling.model</package>
-                <package>org.gradle.tooling.model.build</package>
-                <package>org.gradle.tooling.model.cpp</package>
-                <package>org.gradle.tooling.model.eclipse</package>
-                <package>org.gradle.tooling.model.gradle</package>
-                <package>org.gradle.tooling.model.idea</package>
-                <package>org.gradle.tooling.model.java</package>
-                <package>org.gradle.tooling.model.kotlin.dsl</package>
                 <package>org.netbeans.modules.gradle.api</package>
                 <package>org.netbeans.modules.gradle.api.execute</package>
                 <package>org.netbeans.modules.gradle.api.output</package>
@@ -410,10 +392,6 @@
                 <runtime-relative-path>gradle/netbeans-gradle-tooling.jar</runtime-relative-path>
                 <binary-origin>build/tooling/netbeans-gradle-tooling.jar</binary-origin>
             </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>gradle/gradle-tooling-api.jar</runtime-relative-path>
-                <binary-origin>external/gradle-tooling-api-6.0.jar</binary-origin>
-            </class-path-extension>
         </data>
     </configuration>
 </project>
diff --git a/groovy/gradle/src/org/netbeans/modules/gradle/newproject/ProjectAttributesPanelVisual.java b/groovy/gradle/src/org/netbeans/modules/gradle/newproject/ProjectAttributesPanelVisual.java
index 169bcac..caf8d26 100644
--- a/groovy/gradle/src/org/netbeans/modules/gradle/newproject/ProjectAttributesPanelVisual.java
+++ b/groovy/gradle/src/org/netbeans/modules/gradle/newproject/ProjectAttributesPanelVisual.java
@@ -368,8 +368,10 @@
     }
 
     void write(WizardDescriptor settings) {
+        File projectFolder = new File(tfProjectLocation.getText());
+        ProjectChooser.setProjectsFolder(projectFolder);
         settings.putProperty(CommonProjectActions.PROJECT_PARENT_FOLDER,
-                new File(tfProjectLocation.getText()));
+                projectFolder);
         settings.putProperty(PROP_NAME, tfProjectName.getText());
         settings.putProperty(PROP_GROUP, tfGroup.getText());
         settings.putProperty(PROP_VERSION, tfVersion.getText());
diff --git a/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyVirtualSourceProvider.java b/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyVirtualSourceProvider.java
index 384ed68..bc30a80 100644
--- a/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyVirtualSourceProvider.java
+++ b/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyVirtualSourceProvider.java
@@ -392,8 +392,8 @@
             }
             boolean first = true;
             
-            for (Iterator iterator = fields.iterator(); iterator.hasNext();) {
-                FieldNode fieldNode = (FieldNode) iterator.next();
+            for (Iterator<FieldNode> iterator = fields.iterator(); iterator.hasNext();) {
+                FieldNode fieldNode = iterator.next();
                 if (!first) {
                     out.print(", ");
                 } else {
diff --git a/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString1/CompletionNoPrefixString1.groovy.testCompletionNoPrefixString1.completion b/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString1/CompletionNoPrefixString1.groovy.testCompletionNoPrefixString1.completion
index 0fa97ea..9f6ab19 100644
--- a/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString1/CompletionNoPrefixString1.groovy.testCompletionNoPrefixString1.completion
+++ b/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString1/CompletionNoPrefixString1.groovy.testCompletionNoPrefixString1.completion
@@ -112,6 +112,7 @@
 METHOD     invokeMethod(String, Object)               Object
 METHOD     is(Object)                                 boolean
 METHOD     isAllWhitespace()                          boolean
+METHOD     isAtLeast(String)                          Boolean
 METHOD     isBigDecimal()                             boolean
 METHOD     isBigInteger()                             boolean
 METHOD     isBlank()                                  boolean
diff --git a/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString2/CompletionNoPrefixString2.groovy.testCompletionNoPrefixString2.completion b/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString2/CompletionNoPrefixString2.groovy.testCompletionNoPrefixString2.completion
index d43817a..2e0a500 100644
--- a/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString2/CompletionNoPrefixString2.groovy.testCompletionNoPrefixString2.completion
+++ b/groovy/groovy.editor/test/unit/data/testfiles/completion/method/completionNoPrefixString2/CompletionNoPrefixString2.groovy.testCompletionNoPrefixString2.completion
@@ -112,6 +112,7 @@
 METHOD     invokeMethod(String, Object)               Object
 METHOD     is(Object)                                 boolean
 METHOD     isAllWhitespace()                          boolean
+METHOD     isAtLeast(String)                          Boolean
 METHOD     isBigDecimal()                             boolean
 METHOD     isBigInteger()                             boolean
 METHOD     isBlank()                                  boolean
diff --git a/groovy/groovy.editor/test/unit/data/testfiles/completion/operators/spreadOperator1/SpreadOperator1.groovy.testSpreadOperator1_stringArray_all.completion b/groovy/groovy.editor/test/unit/data/testfiles/completion/operators/spreadOperator1/SpreadOperator1.groovy.testSpreadOperator1_stringArray_all.completion
index 42f7426..472b2a9 100644
--- a/groovy/groovy.editor/test/unit/data/testfiles/completion/operators/spreadOperator1/SpreadOperator1.groovy.testSpreadOperator1_stringArray_all.completion
+++ b/groovy/groovy.editor/test/unit/data/testfiles/completion/operators/spreadOperator1/SpreadOperator1.groovy.testSpreadOperator1_stringArray_all.completion
@@ -112,6 +112,7 @@
 METHOD     invokeMethod(String, Object)               Object
 METHOD     is(Object)                                 boolean
 METHOD     isAllWhitespace()                          boolean
+METHOD     isAtLeast(String)                          Boolean
 METHOD     isBigDecimal()                             boolean
 METHOD     isBigInteger()                             boolean
 METHOD     isBlank()                                  boolean
diff --git a/groovy/groovy.support/src/org/netbeans/modules/groovy/support/debug/GroovyBreakpointAnnotationListener.java b/groovy/groovy.support/src/org/netbeans/modules/groovy/support/debug/GroovyBreakpointAnnotationListener.java
index 1e406a7..2d83d69 100644
--- a/groovy/groovy.support/src/org/netbeans/modules/groovy/support/debug/GroovyBreakpointAnnotationListener.java
+++ b/groovy/groovy.support/src/org/netbeans/modules/groovy/support/debug/GroovyBreakpointAnnotationListener.java
@@ -108,9 +108,9 @@
     }
 
     public void updateGroovyLineBreakpoints () {
-        Iterator it = breakpointToAnnotation.keySet ().iterator (); 
+        Iterator<LineBreakpoint> it = breakpointToAnnotation.keySet ().iterator (); 
         while (it.hasNext ()) {
-            LineBreakpoint lb = (LineBreakpoint) it.next ();
+            LineBreakpoint lb = it.next();
             update (lb, null);
         }
     }
diff --git a/groovy/libs.gradle/build.xml b/groovy/libs.gradle/build.xml
new file mode 100644
index 0000000..0ee2bfc
--- /dev/null
+++ b/groovy/libs.gradle/build.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<project basedir="." default="build" name="groovy/libs.gradle">
+    <description>Builds, tests, and runs the project org.netbeans.modules.libs.gradle</description>
+    <import file="../../nbbuild/templates/projectized.xml"/>
+</project>
diff --git a/contrib/javaee.wildfly/external/binaries-list b/groovy/libs.gradle/external/binaries-list
similarity index 82%
copy from contrib/javaee.wildfly/external/binaries-list
copy to groovy/libs.gradle/external/binaries-list
index 415c03f..6f43c7f 100644
--- a/contrib/javaee.wildfly/external/binaries-list
+++ b/groovy/libs.gradle/external/binaries-list
@@ -14,6 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
-4C29DE96843375053399E0869CA0FD147272ABFA javaee-wildfly-ironjacamar-resources.zip
-91F3DB873E1EE50E5514877F8539E503F7135041 javaee-wildfly-jboss-resources.zip
+BC6C7B5786F53AD8CCC6B8E4AE57AF601269E947 gradle-tooling-api-6.3.jar
diff --git a/groovy/gradle/external/gradle-tooling-api-6.0-license.txt b/groovy/libs.gradle/external/gradle-tooling-api-6.3-license.txt
similarity index 98%
rename from groovy/gradle/external/gradle-tooling-api-6.0-license.txt
rename to groovy/libs.gradle/external/gradle-tooling-api-6.3-license.txt
index 1129445..71f84ef 100644
--- a/groovy/gradle/external/gradle-tooling-api-6.0-license.txt
+++ b/groovy/libs.gradle/external/gradle-tooling-api-6.3-license.txt
@@ -1,7 +1,7 @@
 Name: Gradle Wrapper
 Description: Gradle Tooling API
-Version: 6.0
-Files: gradle-tooling-api-6.0.jar
+Version: 6.3
+Files: gradle-tooling-api-6.3.jar
 License: Apache-2.0
 Origin: Gradle Inc.
 URL: https://gradle.org/
diff --git a/groovy/gradle/external/gradle-tooling-api-6.0-notice.txt b/groovy/libs.gradle/external/gradle-tooling-api-6.3-notice.txt
similarity index 100%
rename from groovy/gradle/external/gradle-tooling-api-6.0-notice.txt
rename to groovy/libs.gradle/external/gradle-tooling-api-6.3-notice.txt
diff --git a/groovy/libs.gradle/manifest.mf b/groovy/libs.gradle/manifest.mf
new file mode 100644
index 0000000..ff400fc
--- /dev/null
+++ b/groovy/libs.gradle/manifest.mf
@@ -0,0 +1,6 @@
+Manifest-Version: 1.0
+AutoUpdate-Show-In-Client: false
+OpenIDE-Module: org.netbeans.modules.libs.gradle/6
+OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/gradle/Bundle.properties
+OpenIDE-Module-Specification-Version: 6.3
+
diff --git a/contrib/javaee.wildfly/external/binaries-list b/groovy/libs.gradle/nbproject/project.properties
similarity index 73%
copy from contrib/javaee.wildfly/external/binaries-list
copy to groovy/libs.gradle/nbproject/project.properties
index 415c03f..f0f6ae0 100644
--- a/contrib/javaee.wildfly/external/binaries-list
+++ b/groovy/libs.gradle/nbproject/project.properties
@@ -14,6 +14,12 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
+nbm.needs.restart=true
 
-4C29DE96843375053399E0869CA0FD147272ABFA javaee-wildfly-ironjacamar-resources.zip
-91F3DB873E1EE50E5514877F8539E503F7135041 javaee-wildfly-jboss-resources.zip
+javac.source=1.8
+javac.compilerargs=-Xlint -Xlint:-serial
+
+# For more information, please see http://wiki.netbeans.org/SignatureTest
+sigtest.gen.fail.on.error=false
+
+release.external/gradle-tooling-api-6.3.jar=modules/gradle/gradle-tooling-api.jar
diff --git a/groovy/libs.gradle/nbproject/project.xml b/groovy/libs.gradle/nbproject/project.xml
new file mode 100644
index 0000000..60c737f
--- /dev/null
+++ b/groovy/libs.gradle/nbproject/project.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.netbeans.modules.libs.gradle</code-name-base>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>slf4j.api</code-name-base>
+                    <run-dependency/>
+                </dependency>
+                <dependency>
+                    <code-name-base>slf4j.jdk14</code-name-base>
+                    <run-dependency/>
+                </dependency>
+            </module-dependencies>
+            <public-packages>
+                <subpackages>org.gradle</subpackages>
+            </public-packages>
+            <class-path-extension>
+                <runtime-relative-path>gradle/gradle-tooling-api.jar</runtime-relative-path>
+                <binary-origin>external/gradle-tooling-api-6.3.jar</binary-origin>
+            </class-path-extension>
+        </data>
+    </configuration>
+</project>
diff --git a/contrib/javaee.wildfly/external/binaries-list b/groovy/libs.gradle/src/org/netbeans/modules/libs/gradle/Bundle.properties
similarity index 82%
rename from contrib/javaee.wildfly/external/binaries-list
rename to groovy/libs.gradle/src/org/netbeans/modules/libs/gradle/Bundle.properties
index 415c03f..5b8e823 100644
--- a/contrib/javaee.wildfly/external/binaries-list
+++ b/groovy/libs.gradle/src/org/netbeans/modules/libs/gradle/Bundle.properties
@@ -14,6 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
-4C29DE96843375053399E0869CA0FD147272ABFA javaee-wildfly-ironjacamar-resources.zip
-91F3DB873E1EE50E5514877F8539E503F7135041 javaee-wildfly-jboss-resources.zip
+OpenIDE-Module-Name=Gradle Tooling API
diff --git a/groovy/libs.groovy/external/binaries-list b/groovy/libs.groovy/external/binaries-list
index 733e964..2fd5d12 100644
--- a/groovy/libs.groovy/external/binaries-list
+++ b/groovy/libs.groovy/external/binaries-list
@@ -14,5 +14,5 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-04222EAFCA660D01A44682C3FE4C629005728973 org.codehaus.groovy:groovy:2.5.9
-2770580CA7B8D0A8410A9990E40558DA147A833B org.codehaus.groovy:groovy-ant:2.5.9
+4D8F25C5DA08AF46FB204FD493EC894699A3F4E8 org.codehaus.groovy:groovy:2.5.11
+90B3F8BF9DCFA499271A8B760E71DF7E364659A6 org.codehaus.groovy:groovy-ant:2.5.11
diff --git a/groovy/libs.groovy/external/groovy-2.5.9-license.txt b/groovy/libs.groovy/external/groovy-2.5.11-license.txt
similarity index 99%
rename from groovy/libs.groovy/external/groovy-2.5.9-license.txt
rename to groovy/libs.groovy/external/groovy-2.5.11-license.txt
index 08f8548..64a6664 100644
--- a/groovy/libs.groovy/external/groovy-2.5.9-license.txt
+++ b/groovy/libs.groovy/external/groovy-2.5.11-license.txt
@@ -1,6 +1,6 @@
 Name: Groovy
-Version: 2.5.9
-Files: groovy-2.5.9.jar groovy-ant-2.5.9.jar
+Version: 2.5.11
+Files: groovy-2.5.11.jar groovy-ant-2.5.11.jar
 Description: Groovy Language distribution.
 License: Apache-2.0-groovy
 Origin: http://groovy-lang.org/
diff --git a/groovy/libs.groovy/external/groovy-2.5.9-notice.txt b/groovy/libs.groovy/external/groovy-2.5.11-notice.txt
similarity index 100%
rename from groovy/libs.groovy/external/groovy-2.5.9-notice.txt
rename to groovy/libs.groovy/external/groovy-2.5.11-notice.txt
diff --git a/groovy/libs.groovy/nbproject/project.properties b/groovy/libs.groovy/nbproject/project.properties
index 82c88f5..b5c77bb 100644
--- a/groovy/libs.groovy/nbproject/project.properties
+++ b/groovy/libs.groovy/nbproject/project.properties
@@ -24,5 +24,5 @@
 sigtest.gen.fail.on.error=false
 
 #cp.extra=external/groovy-all-2.1.7.jar
-release.external/groovy-2.5.9.jar=modules/ext/groovy.jar
-release.external/groovy-ant-2.5.9.jar=modules/ext/groovy-ant.jar
+release.external/groovy-2.5.11.jar=modules/ext/groovy.jar
+release.external/groovy-ant-2.5.11.jar=modules/ext/groovy-ant.jar
diff --git a/groovy/libs.groovy/nbproject/project.xml b/groovy/libs.groovy/nbproject/project.xml
index 216e7c6..f925f36 100644
--- a/groovy/libs.groovy/nbproject/project.xml
+++ b/groovy/libs.groovy/nbproject/project.xml
@@ -51,11 +51,11 @@
             </friend-packages>
             <class-path-extension>
                 <runtime-relative-path>ext/groovy.jar</runtime-relative-path>
-                <binary-origin>external/groovy-2.5.9.jar</binary-origin>
+                <binary-origin>external/groovy-2.5.11.jar</binary-origin>
             </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>ext/groovy-ant.jar</runtime-relative-path>
-                <binary-origin>external/groovy-ant-2.5.9.jar</binary-origin>
+                <binary-origin>external/groovy-ant-2.5.11.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/Bundle.properties b/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/Bundle.properties
index cff5f60..d3a0a08 100644
--- a/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/Bundle.properties
+++ b/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/Bundle.properties
@@ -16,5 +16,5 @@
 # under the License.
 OpenIDE-Module-Name=Groovy Binaries
 
-groovy=Groovy 2.5.9
-groovy-ant=Groovy Ant 2.5.9
+groovy=Groovy 2.5.11
+groovy-ant=Groovy Ant 2.5.11
diff --git a/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/groovy-all.xml b/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/groovy-all.xml
index 4870bcd..a95fa3b 100644
--- a/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/groovy-all.xml
+++ b/groovy/libs.groovy/src/org/netbeans/modules/libs/groovy/groovy-all.xml
@@ -34,8 +34,8 @@
         <property>
             <name>maven-dependencies</name>
             <value>
-                org.codehaus.groovy:groovy:2.5.9:jar
-                org.codehaus.groovy:groovy-ant:2.5.9:jar
+                org.codehaus.groovy:groovy:2.5.11:jar
+                org.codehaus.groovy:groovy-ant:2.5.11:jar
             </value>
         </property>
     </properties>
diff --git a/harness/libs.nbi.ant/stub/build.properties b/harness/libs.nbi.ant/stub/build.properties
index 2df9b26..f57f444 100644
--- a/harness/libs.nbi.ant/stub/build.properties
+++ b/harness/libs.nbi.ant/stub/build.properties
@@ -16,7 +16,6 @@
 # under the License.
 output.dir=${basedir}/build
 jarsigner.enabled=false
-pack200.enabled={pack200.enabled}
 core.module.name=nbi
 ext.module.name=ext
 
@@ -41,4 +40,4 @@
 bundle.files.prefix={generated-installers-prefix}
 
 target.platforms={product-platforms}
-main.product.uid={product-uid}
\ No newline at end of file
+main.product.uid={product-uid}
diff --git a/harness/libs.nbi.ant/stub/template.xml b/harness/libs.nbi.ant/stub/template.xml
index 8b05d45..ec39c97 100644
--- a/harness/libs.nbi.ant/stub/template.xml
+++ b/harness/libs.nbi.ant/stub/template.xml
@@ -137,7 +137,6 @@
             <replacefilter token="{product-platforms}"             value="${generate.installer.for.platforms}"/>
             <replacefilter token="{generator-jdk-location-forward-slashes}"         value="${generator-jdk-location-forward-slashes}"/>
             <replacefilter token="{generated-installers-location-forward-slashes}"  value="${suite.dist.directory}"/>
-            <replacefilter token="{pack200.enabled}"               value="${pack200.enabled}"/>
             <replacefilter token="{generated-installers-prefix}"   value="${installers.file.prefix}"/>
             <replacefilter token="{product-uid}"                   value="${product-uid}"/>
         </replace>
diff --git a/harness/libs.nbi.ant/stub/tmpl.properties b/harness/libs.nbi.ant/stub/tmpl.properties
index ed4ca98..aee69ff 100644
--- a/harness/libs.nbi.ant/stub/tmpl.properties
+++ b/harness/libs.nbi.ant/stub/tmpl.properties
@@ -27,6 +27,5 @@
 generate.installer.for.platforms=windows linux macosx
 
 generator-jdk-location-forward-slashes=C:/Program Files/Java/jdk1.5.0_16
-pack200.enabled=false
 
-suite.nbi.product.uid=myapp
\ No newline at end of file
+suite.nbi.product.uid=myapp
diff --git a/harness/o.n.insane/src/org/netbeans/insane/impl/LiveEngine.java b/harness/o.n.insane/src/org/netbeans/insane/impl/LiveEngine.java
index 917099f..f9545e8 100644
--- a/harness/o.n.insane/src/org/netbeans/insane/impl/LiveEngine.java
+++ b/harness/o.n.insane/src/org/netbeans/insane/impl/LiveEngine.java
@@ -126,7 +126,7 @@
         objects.put(to, entry);
     }
 
-    private Iterator/*<Object>*/ getIncomingRefs(Object to) {
+    private Iterator<Object> getIncomingRefs(Object to) {
         Object oo = objects.get(to);
         if (oo instanceof Object[]) {
             return Arrays.asList((Object[])oo).iterator();
@@ -181,7 +181,7 @@
         int base = objExpected;
         int step = found > 0 ? objExpected/9/found : 0;
         
-        for (Iterator it = objs.iterator(); it.hasNext(); ) {
+        for (Iterator<Object> it = objs.iterator(); it.hasNext(); ) {
             Object obj = it.next();
             if (rest.containsKey(obj)) continue; // not found
             Path toObj = findRoots(obj, s.keySet());
@@ -212,7 +212,7 @@
             }
 
             // follow incomming
-            Iterator it = getIncomingRefs(item);
+            Iterator<Object> it = getIncomingRefs(item);
             while(it.hasNext()) {
                 Object o = it.next();
                 Path prev = Utils.createPath(o, act);
diff --git a/harness/o.n.insane/src/org/netbeans/insane/model/InsaneConverter.java b/harness/o.n.insane/src/org/netbeans/insane/model/InsaneConverter.java
index e63e4ab..d692cf0 100644
--- a/harness/o.n.insane/src/org/netbeans/insane/model/InsaneConverter.java
+++ b/harness/o.n.insane/src/org/netbeans/insane/model/InsaneConverter.java
@@ -351,8 +351,8 @@
         objsOffset = currentOffset;
         
         // compute offsets of instances
-        for (Iterator it = instanceInfo.iterator(); it.hasNext(); ) {
-            InstanceInfo info = (InstanceInfo)it.next();
+        for (Iterator<InstanceInfo> it = instanceInfo.iterator(); it.hasNext(); ) {
+            InstanceInfo info = it.next();
             currentOffset = info.computeNextOffset(currentOffset);
         }
         totalOffset = currentOffset;
diff --git a/ide/api.java.classpath/src/org/netbeans/api/java/classpath/GlobalPathRegistry.java b/ide/api.java.classpath/src/org/netbeans/api/java/classpath/GlobalPathRegistry.java
index 1e0c982..1c960fb 100644
--- a/ide/api.java.classpath/src/org/netbeans/api/java/classpath/GlobalPathRegistry.java
+++ b/ide/api.java.classpath/src/org/netbeans/api/java/classpath/GlobalPathRegistry.java
@@ -23,6 +23,7 @@
 import java.beans.PropertyChangeListener;
 import java.lang.ref.Reference;
 import java.lang.ref.WeakReference;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -303,10 +304,17 @@
         }
         
         final List<SourceForBinaryQuery.Result> newResults = new LinkedList<SourceForBinaryQuery.Result> ();
+        final Set<String> seenEntryURL = new HashSet<>();
         final ChangeListener tmpResultListener = new SFBQListener ();
         for (ClassPath cp : compileAndBootPaths) {
             for (ClassPath.Entry entry : cp.entries()) {
-                SourceForBinaryQuery.Result result = SourceForBinaryQuery.findSourceRoots(entry.getURL());
+                URL url = entry.getURL();
+                String urlKey = url.toString();
+                if (!seenEntryURL.add(urlKey)) {
+                    //we have already processed this binary root, skip
+                    continue;
+                }
+                SourceForBinaryQuery.Result result = SourceForBinaryQuery.findSourceRoots(url);
                 result.addChangeListener(tmpResultListener);
                 newResults.add (result);
                 FileObject[] someRoots = result.getRoots();
diff --git a/ide/bugtracking.commons/src/org/netbeans/modules/bugtracking/issuetable/NodeTableModel.java b/ide/bugtracking.commons/src/org/netbeans/modules/bugtracking/issuetable/NodeTableModel.java
index f8f44a7..48091c2 100644
--- a/ide/bugtracking.commons/src/org/netbeans/modules/bugtracking/issuetable/NodeTableModel.java
+++ b/ide/bugtracking.commons/src/org/netbeans/modules/bugtracking/issuetable/NodeTableModel.java
@@ -208,10 +208,10 @@
         propertyColumns = new int[visibleCount];
 
         int j = 0;
-        Iterator it = sort.values().iterator();
+        Iterator<Integer> it = sort.values().iterator();
 
         while (it.hasNext()) {
-            i = ((Integer) it.next()).intValue();
+            i = it.next().intValue();
             allPropertyColumns[i].setVisibleIndex(j);
             propertyColumns[j] = i;
             j++;
diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java
index 9da3bbf..ea1dbf4 100644
--- a/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java
+++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/completion/GsfCompletionItem.java
@@ -648,16 +648,16 @@
     /** Format parameters in orange etc. */
     private static class CompletionFormatter extends GsfHtmlFormatter {
         private static final String METHOD_COLOR = LFCustoms.getTextFgColorHTML();
-        private static final String PARAMETER_NAME_COLOR = getHTMLColor(160, 96, 1);
+        private static final String PARAMETER_NAME_COLOR = getHTMLColor(224, 160, 65);
         private static final String END_COLOR = "</font>"; // NOI18N
-        private static final String CLASS_COLOR = getHTMLColor(86, 0, 0);
-        private static final String PKG_COLOR = getHTMLColor(128, 128, 128);
-        private static final String KEYWORD_COLOR = getHTMLColor(0, 0, 153);
-        private static final String FIELD_COLOR = getHTMLColor(0, 134, 24);
-        private static final String VARIABLE_COLOR = getHTMLColor(0, 0, 124);
-        private static final String CONSTRUCTOR_COLOR = getHTMLColor(178, 139, 0);
-        private static final String INTERFACE_COLOR = getHTMLColor(64, 64, 64);
-        private static final String PARAMETERS_COLOR = getHTMLColor(128, 128, 128);
+        private static final String CLASS_COLOR = getHTMLColor(150, 64, 64);
+        private static final String PKG_COLOR = getHTMLColor(192, 192, 192);
+        private static final String KEYWORD_COLOR = getHTMLColor(64, 64, 217);
+        private static final String FIELD_COLOR = getHTMLColor(64, 198, 88);
+        private static final String VARIABLE_COLOR = getHTMLColor(64, 64, 188);
+        private static final String CONSTRUCTOR_COLOR = getHTMLColor(242, 203, 64);
+        private static final String INTERFACE_COLOR = getHTMLColor(128, 128, 128);
+        private static final String PARAMETERS_COLOR = getHTMLColor(192, 192, 192);
         private static final String ACTIVE_PARAMETER_COLOR = LFCustoms.getTextFgColorHTML();
 
         @Override
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
index 207b422..56f7d5a 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
@@ -21,11 +21,20 @@
 
 clear=none | left | right | both | inherit | initial | <var-fn>
 
-display=inline | block | inline-block | list-item | run-in | compact | table | \
-        inline-table | table-row-group | table-header-group | table-footer-group | \
-        table-row | table-column-group | table-column | table-cell | table-caption | \
-        ruby | ruby-base | ruby-text | ruby-base-group | ruby-text-group | \
-        <template>| none | inherit | initial | <var-fn>
+display= [ <display-outside> || <display-inside> ] | <display-listitem> | \
+         <display-internal> | <display-box> | <display-legacy> | \
+         inherit | initial | <var-fn>
+
+@display-outside = block | inline | run-in
+@display-inside = flow | flow-root | table | flex | grid | ruby
+@display-listitem = <display-outside>? && [flow | flow-root]? && list-item
+@display-internal =  table-row-group | table-header-group | \
+                     table-footer-group | table-row | table-cell | \
+                     table-column-group | table-column | table-caption | \
+                     ruby-base | ruby-text | ruby-base-container | \
+                     ruby-text-container
+@display-box = contents | none
+@display-legacy  = inline-block | inline-table | inline-flex | inline-grid
 
 #define
 @template=!anything
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
index e5da2c1..31f6c7b 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
@@ -133,3 +133,6 @@
 
 font-variant-position=normal | sub | super | <var-fn>
 
+unicode-range: [<urange> [, <urange>]*] | inherit | initial | <var-fn>
+
+@urange: !urange | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css
new file mode 100644
index 0000000..132027c
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css
@@ -0,0 +1,94 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+.block {
+    display: block ;
+}
+
+.block-flow {
+    display: block flow ;
+}
+
+.block-flow-root {
+    display: block flow-root ;
+}
+
+.inline {
+    display: inline ;
+}
+
+.inline-flow {
+    display: inline flow ;
+}
+
+.inline-flow-root {
+    display: inline flow-root ;
+}
+
+.run-in {
+    display: run-in ;
+}
+
+.run-in-flow {
+    display: run-in flow ;
+}
+
+.run-in-flow-root {
+    display: run-in flow-root l;
+}
+
+.listitem {
+    display: list-item ;
+}
+
+.listitem-block {
+    display: list-item block ;
+}
+
+.listitem-inline {
+    display: list-item inline ;
+}
+
+.listitem-run-in {
+    display: list-item run-in ;
+}
+
+.listitem-flow {
+    display: list-item flow ;
+}
+
+.listitem-flow-root {
+    display: list-item flow-root ;
+}
+
+.flow {
+    display: flow ;
+}
+
+.flow-list-item {
+    display: flow list-item ;
+}
+
+.flow-root-block {
+    display: flow-root block ;
+}
+
+p {
+    display: /* test */
+}
+
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplay.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplay.completion
new file mode 100644
index 0000000..71b5450
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplay.completion
@@ -0,0 +1,35 @@
+Code completion result for source line:
+display: |/* test */
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     contents                                   <font color=999999>display</font>
+GLOBAL     flex                                       <font color=999999>display</font>
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
+GLOBAL     grid                                       <font color=999999>display</font>
+GLOBAL     inherit                                    <font color=999999>display</font>
+GLOBAL     initial                                    <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     inline-block                               <font color=999999>display</font>
+GLOBAL     inline-flex                                <font color=999999>display</font>
+GLOBAL     inline-grid                                <font color=999999>display</font>
+GLOBAL     inline-table                               <font color=999999>display</font>
+GLOBAL     list-item                                  <font color=999999>display</font>
+GLOBAL     none                                       <font color=999999>display</font>
+GLOBAL     ruby                                       <font color=999999>display</font>
+GLOBAL     ruby-base                                  <font color=999999>display</font>
+GLOBAL     ruby-base-container                        <font color=999999>display</font>
+GLOBAL     ruby-text                                  <font color=999999>display</font>
+GLOBAL     ruby-text-container                        <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
+GLOBAL     table                                      <font color=999999>display</font>
+GLOBAL     table-caption                              <font color=999999>display</font>
+GLOBAL     table-cell                                 <font color=999999>display</font>
+GLOBAL     table-column                               <font color=999999>display</font>
+GLOBAL     table-column-group                         <font color=999999>display</font>
+GLOBAL     table-footer-group                         <font color=999999>display</font>
+GLOBAL     table-header-group                         <font color=999999>display</font>
+GLOBAL     table-row                                  <font color=999999>display</font>
+GLOBAL     table-row-group                            <font color=999999>display</font>
+GLOBAL     var                                        <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlock.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlock.completion
new file mode 100644
index 0000000..796453e
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlock.completion
@@ -0,0 +1,11 @@
+Code completion result for source line:
+display: block |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flex                                       <font color=999999>display</font>
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
+GLOBAL     grid                                       <font color=999999>display</font>
+GLOBAL     list-item                                  <font color=999999>display</font>
+GLOBAL     ruby                                       <font color=999999>display</font>
+GLOBAL     table                                      <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlow.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlow.completion
new file mode 100644
index 0000000..350b5c2
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlow.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: block flow |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlowRoot.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlowRoot.completion
new file mode 100644
index 0000000..977b81f
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayBlockFlowRoot.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: block flow-root |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlow.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlow.completion
new file mode 100644
index 0000000..bfd4df6
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlow.completion
@@ -0,0 +1,8 @@
+Code completion result for source line:
+display: flow |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     list-item                                  <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowListItem.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowListItem.completion
new file mode 100644
index 0000000..ca850b1
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowListItem.completion
@@ -0,0 +1,7 @@
+Code completion result for source line:
+display: flow list-item |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowRootBlock.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowRootBlock.completion
new file mode 100644
index 0000000..c82dfcd
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayFlowRootBlock.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: flow-root block |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInline.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInline.completion
new file mode 100644
index 0000000..cd1d400
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInline.completion
@@ -0,0 +1,11 @@
+Code completion result for source line:
+display: inline |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flex                                       <font color=999999>display</font>
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
+GLOBAL     grid                                       <font color=999999>display</font>
+GLOBAL     list-item                                  <font color=999999>display</font>
+GLOBAL     ruby                                       <font color=999999>display</font>
+GLOBAL     table                                      <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlow.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlow.completion
new file mode 100644
index 0000000..df6f2e4
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlow.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: inline flow |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlowRoot.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlowRoot.completion
new file mode 100644
index 0000000..c11b9b5
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayInlineFlowRoot.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: inline flow-root |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItem.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItem.completion
new file mode 100644
index 0000000..2696e6d
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItem.completion
@@ -0,0 +1,9 @@
+Code completion result for source line:
+display: list-item |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemBlock.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemBlock.completion
new file mode 100644
index 0000000..5fce8cf
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemBlock.completion
@@ -0,0 +1,6 @@
+Code completion result for source line:
+display: list-item block |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlow.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlow.completion
new file mode 100644
index 0000000..9424964
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlow.completion
@@ -0,0 +1,7 @@
+Code completion result for source line:
+display: list-item flow |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlowRoot.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlowRoot.completion
new file mode 100644
index 0000000..b473d1e
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemFlowRoot.completion
@@ -0,0 +1,7 @@
+Code completion result for source line:
+display: list-item flow-root |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     block                                      <font color=999999>display</font>
+GLOBAL     inline                                     <font color=999999>display</font>
+GLOBAL     run-in                                     <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemInline.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemInline.completion
new file mode 100644
index 0000000..21b20fa
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemInline.completion
@@ -0,0 +1,6 @@
+Code completion result for source line:
+display: list-item inline |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemRunIn.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemRunIn.completion
new file mode 100644
index 0000000..06f8c1c
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayListItemRunIn.completion
@@ -0,0 +1,6 @@
+Code completion result for source line:
+display: list-item run-in |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunIn.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunIn.completion
new file mode 100644
index 0000000..b63a386
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunIn.completion
@@ -0,0 +1,11 @@
+Code completion result for source line:
+display: run-in |;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     flex                                       <font color=999999>display</font>
+GLOBAL     flow                                       <font color=999999>display</font>
+GLOBAL     flow-root                                  <font color=999999>display</font>
+GLOBAL     grid                                       <font color=999999>display</font>
+GLOBAL     list-item                                  <font color=999999>display</font>
+GLOBAL     ruby                                       <font color=999999>display</font>
+GLOBAL     table                                      <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunInFlowRoot.completion b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunInFlowRoot.completion
new file mode 100644
index 0000000..0fe10bd
--- /dev/null
+++ b/ide/css.editor/test/unit/data/testfiles/completion/display/display.css.testDisplayRunInFlowRoot.completion
@@ -0,0 +1,5 @@
+Code completion result for source line:
+display: run-in flow-root l|;
+(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true)
+------------------------------------
+GLOBAL     list-item                                  <font color=999999>display</font>
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/csl/CssCompletionTest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/csl/CssCompletionTest.java
index f4b6b16..1503502 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/csl/CssCompletionTest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/csl/CssCompletionTest.java
@@ -513,5 +513,77 @@
                 + "    }\n"
                 + "}", arr("font-weight"), Match.CONTAINS);
     }
-    
+
+    // NETBEANS-445
+    public void testDisplay() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: ^/* test */", false);
+    }
+
+    public void testDisplayBlock() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: block ^;", false);
+    }
+
+    public void testDisplayBlockFlow() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: block flow ^;", false);
+    }
+
+    public void testDisplayBlockFlowRoot() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: block flow-root ^;", false);
+    }
+
+    public void testDisplayInline() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: inline ^;", false);
+    }
+
+    public void testDisplayInlineFlow() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: inline flow ^;", false);
+    }
+
+    public void testDisplayInlineFlowRoot() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: inline flow-root ^;", false);
+    }
+
+    public void testDisplayRunIn() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: run-in ^;", false);
+    }
+
+    public void testDisplayRunInFlowRoot() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: run-in flow-root l^;", false);
+    }
+
+    public void testDisplayFlow() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: flow ^;", false);
+    }
+
+    public void testDisplayFlowListItem() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: flow list-item ^;", false);
+    }
+
+    public void testDisplayFlowRootBlock() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: flow-root block ^;", false);
+    }
+
+    public void testDisplayListItem() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item ^;", false);
+    }
+
+    public void testDisplayListItemBlock() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item block ^;", false);
+    }
+
+    public void testDisplayListItemInline() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item inline ^;", false);
+    }
+
+    public void testDisplayListItemRunIn() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item run-in ^;", false);
+    }
+
+    public void testDisplayListItemFlow() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item flow ^;", false);
+    }
+
+    public void testDisplayListItemFlowRoot() throws Exception {
+        checkCompletion("testfiles/completion/display/display.css", "    display: list-item flow-root ^;", false);
+    }
 }
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BasicBoxModelModuleTest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BasicBoxModelModuleTest.java
index 4286bbd..f90fe4a 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BasicBoxModelModuleTest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BasicBoxModelModuleTest.java
@@ -35,7 +35,7 @@
     }
     
     public void testProperties() {
-        assertPropertyValues("display", "table", "cell");
+        assertPropertyValues("display", "table", "table-cell");
         assertPropertyValues("margin", "10px", "20px 30px 40px");
         assertPropertyValues("padding", "1px");
     }
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/properties/PropertiesATest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/properties/PropertiesATest.java
index 859cfde..771445e 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/properties/PropertiesATest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/properties/PropertiesATest.java
@@ -2713,4 +2713,22 @@
                 + "}";
         assertCssCode(code);
     }
+
+    public void testUnicodeRange() throws ParseException {
+        String code = "xxx {\n"
+            + "    unicode-range: U+0D01, U+0A01-00ff, U+0A??;\n"
+            + "}";
+        assertCssCode(code);
+    }
+
+    public void testDisplay() throws ParseException {
+        assertCssCode(".demo {display: block}");
+        assertCssCode(".demo {display: inline-block}");
+        assertCssCode(".demo {display: inline flow}");
+        assertCssCode(".demo {display: block table}");
+        assertCssCode(".demo {display: block flex}");
+        assertCssCode(".demo {display: block flow list-item}");
+        assertCssCode(".demo {display: flow list-item}");
+        assertCssCode(".demo {display: list-item flow}");
+    }
 }
\ No newline at end of file
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
index 8b3afb9..473764b 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
@@ -915,6 +915,7 @@
         | VARIABLE
         | IDENT
         | NUMBER
+        | URANGE
         | PERCENTAGE
         | LENGTH
         | EMS
@@ -1899,6 +1900,10 @@
         ')'
     ;
 
+fragment HEXCHAR_WILDCARD: '?' | HEXCHAR;
+
+URANGE: ('u'|'U') PLUS HEXCHAR_WILDCARD+ (MINUS HEXCHAR_WILDCARD+)?;
+
 MOZ_URL_PREFIX
 	:
 	'URL-PREFIX('
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
index 8c7cf9f..09a8ee7 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5.2 Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g 2019-03-31 15:20:14
+// $ANTLR 3.5.2 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2020-03-07 11:38:01
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -76,109 +76,111 @@
 	public static final int HASH=46;
 	public static final int HASH_SYMBOL=47;
 	public static final int HEXCHAR=48;
-	public static final int I=49;
-	public static final int IDENT=50;
-	public static final int IMPORTANT_SYM=51;
-	public static final int IMPORT_SYM=52;
-	public static final int INCLUDES=53;
-	public static final int INVALID=54;
-	public static final int J=55;
-	public static final int K=56;
-	public static final int L=57;
-	public static final int LBRACE=58;
-	public static final int LBRACKET=59;
-	public static final int LEFTBOTTOM_SYM=60;
-	public static final int LEFTMIDDLE_SYM=61;
-	public static final int LEFTTOP_SYM=62;
-	public static final int LENGTH=63;
-	public static final int LESS=64;
-	public static final int LESS_AND=65;
-	public static final int LESS_JS_STRING=66;
-	public static final int LESS_OR_EQ=67;
-	public static final int LESS_REST=68;
-	public static final int LINE_COMMENT=69;
-	public static final int LPAREN=70;
-	public static final int M=71;
-	public static final int MEDIA_SYM=72;
-	public static final int MINUS=73;
-	public static final int MOZ_DOCUMENT_SYM=74;
-	public static final int MOZ_DOMAIN=75;
-	public static final int MOZ_REGEXP=76;
-	public static final int MOZ_URL_PREFIX=77;
-	public static final int N=78;
-	public static final int NAME=79;
-	public static final int NAMESPACE_SYM=80;
-	public static final int NL=81;
-	public static final int NMCHAR=82;
-	public static final int NMSTART=83;
-	public static final int NONASCII=84;
-	public static final int NOT=85;
-	public static final int NUMBER=86;
-	public static final int O=87;
-	public static final int OPEQ=88;
-	public static final int P=89;
-	public static final int PAGE_SYM=90;
-	public static final int PERCENTAGE=91;
-	public static final int PERCENTAGE_SYMBOL=92;
-	public static final int PIPE=93;
-	public static final int PLUS=94;
-	public static final int Q=95;
-	public static final int R=96;
-	public static final int RBRACE=97;
-	public static final int RBRACKET=98;
-	public static final int REM=99;
-	public static final int RESOLUTION=100;
-	public static final int RIGHTBOTTOM_SYM=101;
-	public static final int RIGHTMIDDLE_SYM=102;
-	public static final int RIGHTTOP_SYM=103;
-	public static final int RPAREN=104;
-	public static final int S=105;
-	public static final int SASS_AT_ROOT=106;
-	public static final int SASS_CONTENT=107;
-	public static final int SASS_DEBUG=108;
-	public static final int SASS_DEFAULT=109;
-	public static final int SASS_EACH=110;
-	public static final int SASS_ELSE=111;
-	public static final int SASS_ELSEIF=112;
-	public static final int SASS_ERROR=113;
-	public static final int SASS_EXTEND=114;
-	public static final int SASS_EXTEND_ONLY_SELECTOR=115;
-	public static final int SASS_FOR=116;
-	public static final int SASS_FUNCTION=117;
-	public static final int SASS_GLOBAL=118;
-	public static final int SASS_IF=119;
-	public static final int SASS_INCLUDE=120;
-	public static final int SASS_MIXIN=121;
-	public static final int SASS_OPTIONAL=122;
-	public static final int SASS_RETURN=123;
-	public static final int SASS_VAR=124;
-	public static final int SASS_WARN=125;
-	public static final int SASS_WHILE=126;
-	public static final int SEMI=127;
-	public static final int SOLIDUS=128;
-	public static final int STAR=129;
-	public static final int STRING=130;
-	public static final int SUPPORTS_SYM=131;
-	public static final int T=132;
-	public static final int TILDE=133;
-	public static final int TIME=134;
-	public static final int TOPCENTER_SYM=135;
-	public static final int TOPLEFTCORNER_SYM=136;
-	public static final int TOPLEFT_SYM=137;
-	public static final int TOPRIGHTCORNER_SYM=138;
-	public static final int TOPRIGHT_SYM=139;
-	public static final int U=140;
-	public static final int UNICODE=141;
-	public static final int URI=142;
-	public static final int URL=143;
-	public static final int V=144;
-	public static final int VARIABLE=145;
-	public static final int W=146;
-	public static final int WEBKIT_KEYFRAMES_SYM=147;
-	public static final int WS=148;
-	public static final int X=149;
-	public static final int Y=150;
-	public static final int Z=151;
+	public static final int HEXCHAR_WILDCARD=49;
+	public static final int I=50;
+	public static final int IDENT=51;
+	public static final int IMPORTANT_SYM=52;
+	public static final int IMPORT_SYM=53;
+	public static final int INCLUDES=54;
+	public static final int INVALID=55;
+	public static final int J=56;
+	public static final int K=57;
+	public static final int L=58;
+	public static final int LBRACE=59;
+	public static final int LBRACKET=60;
+	public static final int LEFTBOTTOM_SYM=61;
+	public static final int LEFTMIDDLE_SYM=62;
+	public static final int LEFTTOP_SYM=63;
+	public static final int LENGTH=64;
+	public static final int LESS=65;
+	public static final int LESS_AND=66;
+	public static final int LESS_JS_STRING=67;
+	public static final int LESS_OR_EQ=68;
+	public static final int LESS_REST=69;
+	public static final int LINE_COMMENT=70;
+	public static final int LPAREN=71;
+	public static final int M=72;
+	public static final int MEDIA_SYM=73;
+	public static final int MINUS=74;
+	public static final int MOZ_DOCUMENT_SYM=75;
+	public static final int MOZ_DOMAIN=76;
+	public static final int MOZ_REGEXP=77;
+	public static final int MOZ_URL_PREFIX=78;
+	public static final int N=79;
+	public static final int NAME=80;
+	public static final int NAMESPACE_SYM=81;
+	public static final int NL=82;
+	public static final int NMCHAR=83;
+	public static final int NMSTART=84;
+	public static final int NONASCII=85;
+	public static final int NOT=86;
+	public static final int NUMBER=87;
+	public static final int O=88;
+	public static final int OPEQ=89;
+	public static final int P=90;
+	public static final int PAGE_SYM=91;
+	public static final int PERCENTAGE=92;
+	public static final int PERCENTAGE_SYMBOL=93;
+	public static final int PIPE=94;
+	public static final int PLUS=95;
+	public static final int Q=96;
+	public static final int R=97;
+	public static final int RBRACE=98;
+	public static final int RBRACKET=99;
+	public static final int REM=100;
+	public static final int RESOLUTION=101;
+	public static final int RIGHTBOTTOM_SYM=102;
+	public static final int RIGHTMIDDLE_SYM=103;
+	public static final int RIGHTTOP_SYM=104;
+	public static final int RPAREN=105;
+	public static final int S=106;
+	public static final int SASS_AT_ROOT=107;
+	public static final int SASS_CONTENT=108;
+	public static final int SASS_DEBUG=109;
+	public static final int SASS_DEFAULT=110;
+	public static final int SASS_EACH=111;
+	public static final int SASS_ELSE=112;
+	public static final int SASS_ELSEIF=113;
+	public static final int SASS_ERROR=114;
+	public static final int SASS_EXTEND=115;
+	public static final int SASS_EXTEND_ONLY_SELECTOR=116;
+	public static final int SASS_FOR=117;
+	public static final int SASS_FUNCTION=118;
+	public static final int SASS_GLOBAL=119;
+	public static final int SASS_IF=120;
+	public static final int SASS_INCLUDE=121;
+	public static final int SASS_MIXIN=122;
+	public static final int SASS_OPTIONAL=123;
+	public static final int SASS_RETURN=124;
+	public static final int SASS_VAR=125;
+	public static final int SASS_WARN=126;
+	public static final int SASS_WHILE=127;
+	public static final int SEMI=128;
+	public static final int SOLIDUS=129;
+	public static final int STAR=130;
+	public static final int STRING=131;
+	public static final int SUPPORTS_SYM=132;
+	public static final int T=133;
+	public static final int TILDE=134;
+	public static final int TIME=135;
+	public static final int TOPCENTER_SYM=136;
+	public static final int TOPLEFTCORNER_SYM=137;
+	public static final int TOPLEFT_SYM=138;
+	public static final int TOPRIGHTCORNER_SYM=139;
+	public static final int TOPRIGHT_SYM=140;
+	public static final int U=141;
+	public static final int UNICODE=142;
+	public static final int URANGE=143;
+	public static final int URI=144;
+	public static final int URL=145;
+	public static final int V=146;
+	public static final int VARIABLE=147;
+	public static final int W=148;
+	public static final int WEBKIT_KEYFRAMES_SYM=149;
+	public static final int WS=150;
+	public static final int X=151;
+	public static final int Y=152;
+	public static final int Z=153;
 
 	    protected boolean isLessSource() {
 	        return false;
@@ -206,15 +208,15 @@
 	public Css3Lexer(CharStream input, RecognizerSharedState state) {
 		super(input,state);
 	}
-	@Override public String getGrammarFileName() { return "Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g"; }
+	@Override public String getGrammarFileName() { return "/home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g"; }
 
 	// $ANTLR start "GEN"
 	public final void mGEN() throws RecognitionException {
 		try {
 			int _type = GEN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1413:25: ( '@@@' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1413:27: '@@@'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1414:25: ( '@@@' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1414:27: '@@@'
 			{
 			match("@@@"); if (state.failed) return;
 
@@ -232,8 +234,8 @@
 	// $ANTLR start "HEXCHAR"
 	public final void mHEXCHAR() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1415:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
 				input.consume();
@@ -257,8 +259,8 @@
 	// $ANTLR start "NONASCII"
 	public final void mNONASCII() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1417:25: ( '\\u0080' .. '\\uFFFF' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:25: ( '\\u0080' .. '\\uFFFF' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			if ( (input.LA(1) >= '\u0080' && input.LA(1) <= '\uFFFF') ) {
 				input.consume();
@@ -282,13 +284,13 @@
 	// $ANTLR start "UNICODE"
 	public final void mUNICODE() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1419:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1419:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
 			{
 			match('\\'); if (state.failed) return;
 			mHEXCHAR(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1420:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )?
 			int alt5=2;
 			int LA5_0 = input.LA(1);
 			if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'F')||(LA5_0 >= 'a' && LA5_0 <= 'f')) ) {
@@ -296,11 +298,11 @@
 			}
 			switch (alt5) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1420:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
 					{
 					mHEXCHAR(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1421:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1422:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
 					int alt4=2;
 					int LA4_0 = input.LA(1);
 					if ( ((LA4_0 >= '0' && LA4_0 <= '9')||(LA4_0 >= 'A' && LA4_0 <= 'F')||(LA4_0 >= 'a' && LA4_0 <= 'f')) ) {
@@ -308,11 +310,11 @@
 					}
 					switch (alt4) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1421:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1422:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
 							{
 							mHEXCHAR(); if (state.failed) return;
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1422:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
 							int alt3=2;
 							int LA3_0 = input.LA(1);
 							if ( ((LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'F')||(LA3_0 >= 'a' && LA3_0 <= 'f')) ) {
@@ -320,11 +322,11 @@
 							}
 							switch (alt3) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1422:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )?
 									{
 									mHEXCHAR(); if (state.failed) return;
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1423:45: ( HEXCHAR ( HEXCHAR )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:45: ( HEXCHAR ( HEXCHAR )? )?
 									int alt2=2;
 									int LA2_0 = input.LA(1);
 									if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'F')||(LA2_0 >= 'a' && LA2_0 <= 'f')) ) {
@@ -332,11 +334,11 @@
 									}
 									switch (alt2) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1423:46: HEXCHAR ( HEXCHAR )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:46: HEXCHAR ( HEXCHAR )?
 											{
 											mHEXCHAR(); if (state.failed) return;
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1423:54: ( HEXCHAR )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:54: ( HEXCHAR )?
 											int alt1=2;
 											int LA1_0 = input.LA(1);
 											if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'F')||(LA1_0 >= 'a' && LA1_0 <= 'f')) ) {
@@ -344,7 +346,7 @@
 											}
 											switch (alt1) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 													{
 													if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
 														input.consume();
@@ -381,7 +383,7 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1427:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1428:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
 			loop6:
 			while (true) {
 				int alt6=2;
@@ -392,7 +394,7 @@
 
 				switch (alt6) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
 						input.consume();
@@ -424,7 +426,7 @@
 	// $ANTLR start "ESCAPE"
 	public final void mESCAPE() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1429:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) )
 			int alt7=2;
 			int LA7_0 = input.LA(1);
 			if ( (LA7_0=='\\') ) {
@@ -460,14 +462,14 @@
 
 			switch (alt7) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1429:27: UNICODE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:27: UNICODE
 					{
 					mUNICODE(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1429:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR )
 					{
 					match('\\'); if (state.failed) return;
 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||input.LA(1)=='\u000B'||(input.LA(1) >= '\u000E' && input.LA(1) <= '/')||(input.LA(1) >= ':' && input.LA(1) <= '@')||(input.LA(1) >= 'G' && input.LA(1) <= '`')||(input.LA(1) >= 'g' && input.LA(1) <= '\uFFFF') ) {
@@ -494,7 +496,7 @@
 	// $ANTLR start "NMSTART"
 	public final void mNMSTART() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1431:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE )
 			int alt8=5;
 			int LA8_0 = input.LA(1);
 			if ( (LA8_0=='_') ) {
@@ -522,32 +524,32 @@
 
 			switch (alt8) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1431:27: '_'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:27: '_'
 					{
 					match('_'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1432:27: 'a' .. 'z'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:27: 'a' .. 'z'
 					{
 					matchRange('a','z'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1433:27: 'A' .. 'Z'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:27: 'A' .. 'Z'
 					{
 					matchRange('A','Z'); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1434:27: NONASCII
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:27: NONASCII
 					{
 					mNONASCII(); if (state.failed) return;
 
 					}
 					break;
 				case 5 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1435:27: ESCAPE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1436:27: ESCAPE
 					{
 					mESCAPE(); if (state.failed) return;
 
@@ -565,7 +567,7 @@
 	// $ANTLR start "NMCHAR"
 	public final void mNMCHAR() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1438:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1439:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE )
 			int alt9=7;
 			int LA9_0 = input.LA(1);
 			if ( (LA9_0=='_') ) {
@@ -599,44 +601,44 @@
 
 			switch (alt9) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1438:27: '_'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1439:27: '_'
 					{
 					match('_'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1439:27: 'a' .. 'z'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:27: 'a' .. 'z'
 					{
 					matchRange('a','z'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1440:27: 'A' .. 'Z'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1441:27: 'A' .. 'Z'
 					{
 					matchRange('A','Z'); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1441:27: '0' .. '9'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:27: '0' .. '9'
 					{
 					matchRange('0','9'); if (state.failed) return;
 					}
 					break;
 				case 5 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1442:27: '-'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1443:27: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
 					break;
 				case 6 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1443:27: NONASCII
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1444:27: NONASCII
 					{
 					mNONASCII(); if (state.failed) return;
 
 					}
 					break;
 				case 7 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1444:27: ESCAPE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1445:27: ESCAPE
 					{
 					mESCAPE(); if (state.failed) return;
 
@@ -654,10 +656,10 @@
 	// $ANTLR start "NAME"
 	public final void mNAME() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1447:25: ( ( NMCHAR )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1447:27: ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:25: ( ( NMCHAR )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:27: ( NMCHAR )+
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1447:27: ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:27: ( NMCHAR )+
 			int cnt10=0;
 			loop10:
 			while (true) {
@@ -669,7 +671,7 @@
 
 				switch (alt10) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1447:27: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:27: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -697,10 +699,10 @@
 	// $ANTLR start "URL"
 	public final void mURL() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1449:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1449:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1449:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
 			int alt13=2;
 			int LA13_0 = input.LA(1);
 			if ( (LA13_0=='!'||(LA13_0 >= '#' && LA13_0 <= '&')||(LA13_0 >= '*' && LA13_0 <= ';')||LA13_0=='='||(LA13_0 >= '?' && LA13_0 <= '\\')||LA13_0=='_'||(LA13_0 >= 'a' && LA13_0 <= '~')||(LA13_0 >= '\u0080' && LA13_0 <= '\uFFFF')) ) {
@@ -708,9 +710,9 @@
 			}
 			switch (alt13) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1449:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
 					{
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1449:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR )
 					int alt11=21;
 					int LA11_0 = input.LA(1);
 					if ( (LA11_0=='[') ) {
@@ -786,127 +788,127 @@
 
 					switch (alt11) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:31: '['
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:31: '['
 							{
 							match('['); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:35: '!'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:35: '!'
 							{
 							match('!'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:39: '#'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:39: '#'
 							{
 							match('#'); if (state.failed) return;
 							}
 							break;
 						case 4 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:43: '$'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:43: '$'
 							{
 							match('$'); if (state.failed) return;
 							}
 							break;
 						case 5 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:47: '%'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:47: '%'
 							{
 							match('%'); if (state.failed) return;
 							}
 							break;
 						case 6 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:51: '&'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:51: '&'
 							{
 							match('&'); if (state.failed) return;
 							}
 							break;
 						case 7 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:55: '*'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:55: '*'
 							{
 							match('*'); if (state.failed) return;
 							}
 							break;
 						case 8 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:59: '~'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:59: '~'
 							{
 							match('~'); if (state.failed) return;
 							}
 							break;
 						case 9 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:63: '.'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:63: '.'
 							{
 							match('.'); if (state.failed) return;
 							}
 							break;
 						case 10 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:67: ':'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:67: ':'
 							{
 							match(':'); if (state.failed) return;
 							}
 							break;
 						case 11 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:71: '/'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:71: '/'
 							{
 							match('/'); if (state.failed) return;
 							}
 							break;
 						case 12 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:75: '?'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:75: '?'
 							{
 							match('?'); if (state.failed) return;
 							}
 							break;
 						case 13 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:79: '='
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:79: '='
 							{
 							match('='); if (state.failed) return;
 							}
 							break;
 						case 14 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:83: ';'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:83: ';'
 							{
 							match(';'); if (state.failed) return;
 							}
 							break;
 						case 15 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:87: ','
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:87: ','
 							{
 							match(','); if (state.failed) return;
 							}
 							break;
 						case 16 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:91: '+'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:91: '+'
 							{
 							match('+'); if (state.failed) return;
 							}
 							break;
 						case 17 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:95: '@'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:95: '@'
 							{
 							match('@'); if (state.failed) return;
 							}
 							break;
 						case 18 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:99: '|'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:99: '|'
 							{
 							match('|'); if (state.failed) return;
 							}
 							break;
 						case 19 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:105: '{'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:105: '{'
 							{
 							match('{'); if (state.failed) return;
 							}
 							break;
 						case 20 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1450:111: '}'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:111: '}'
 							{
 							match('}'); if (state.failed) return;
 							}
 							break;
 						case 21 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1451:31: NMCHAR
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:31: NMCHAR
 							{
 							mNMCHAR(); if (state.failed) return;
 
@@ -915,7 +917,7 @@
 
 					}
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1453:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1454:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
 					loop12:
 					while (true) {
 						int alt12=24;
@@ -992,140 +994,140 @@
 
 						switch (alt12) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:31: '['
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:31: '['
 							{
 							match('['); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:35: '!'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:35: '!'
 							{
 							match('!'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:39: '#'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:39: '#'
 							{
 							match('#'); if (state.failed) return;
 							}
 							break;
 						case 4 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:43: '$'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:43: '$'
 							{
 							match('$'); if (state.failed) return;
 							}
 							break;
 						case 5 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:47: '%'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:47: '%'
 							{
 							match('%'); if (state.failed) return;
 							}
 							break;
 						case 6 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:51: '&'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:51: '&'
 							{
 							match('&'); if (state.failed) return;
 							}
 							break;
 						case 7 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:55: '*'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:55: '*'
 							{
 							match('*'); if (state.failed) return;
 							}
 							break;
 						case 8 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:59: '~'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:59: '~'
 							{
 							match('~'); if (state.failed) return;
 							}
 							break;
 						case 9 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:63: '.'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:63: '.'
 							{
 							match('.'); if (state.failed) return;
 							}
 							break;
 						case 10 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:67: ':'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:67: ':'
 							{
 							match(':'); if (state.failed) return;
 							}
 							break;
 						case 11 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:71: '/'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:71: '/'
 							{
 							match('/'); if (state.failed) return;
 							}
 							break;
 						case 12 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:75: '?'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:75: '?'
 							{
 							match('?'); if (state.failed) return;
 							}
 							break;
 						case 13 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:79: '='
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:79: '='
 							{
 							match('='); if (state.failed) return;
 							}
 							break;
 						case 14 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:83: ';'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:83: ';'
 							{
 							match(';'); if (state.failed) return;
 							}
 							break;
 						case 15 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:87: ','
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:87: ','
 							{
 							match(','); if (state.failed) return;
 							}
 							break;
 						case 16 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:91: '+'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:91: '+'
 							{
 							match('+'); if (state.failed) return;
 							}
 							break;
 						case 17 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:95: '@'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:95: '@'
 							{
 							match('@'); if (state.failed) return;
 							}
 							break;
 						case 18 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:99: '|'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:99: '|'
 							{
 							match('|'); if (state.failed) return;
 							}
 							break;
 						case 19 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:105: WS
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:105: WS
 							{
 							mWS(); if (state.failed) return;
 
 							}
 							break;
 						case 20 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:111: '\\\"'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:111: '\\\"'
 							{
 							match('\"'); if (state.failed) return;
 							}
 							break;
 						case 21 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:118: '{'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:118: '{'
 							{
 							match('{'); if (state.failed) return;
 							}
 							break;
 						case 22 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1454:124: '}'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:124: '}'
 							{
 							match('}'); if (state.failed) return;
 							}
 							break;
 						case 23 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1455:31: NMCHAR
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:31: NMCHAR
 							{
 							mNMCHAR(); if (state.failed) return;
 
@@ -1154,7 +1156,7 @@
 	// $ANTLR start "A"
 	public final void mA() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1462:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1463:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' )
 			int alt18=2;
 			int LA18_0 = input.LA(1);
 			if ( (LA18_0=='A'||LA18_0=='a') ) {
@@ -1173,7 +1175,7 @@
 
 			switch (alt18) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1462:21: ( 'a' | 'A' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1463:21: ( 'a' | 'A' )
 					{
 					if ( input.LA(1)=='A'||input.LA(1)=='a' ) {
 						input.consume();
@@ -1188,10 +1190,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt17=2;
 					int LA17_0 = input.LA(1);
 					if ( (LA17_0=='0') ) {
@@ -1199,10 +1201,10 @@
 					}
 					switch (alt17) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt16=2;
 							int LA16_0 = input.LA(1);
 							if ( (LA16_0=='0') ) {
@@ -1210,10 +1212,10 @@
 							}
 							switch (alt16) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:36: ( '0' ( '0' )? )?
 									int alt15=2;
 									int LA15_0 = input.LA(1);
 									if ( (LA15_0=='0') ) {
@@ -1221,10 +1223,10 @@
 									}
 									switch (alt15) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:41: ( '0' )?
 											int alt14=2;
 											int LA14_0 = input.LA(1);
 											if ( (LA14_0=='0') ) {
@@ -1232,7 +1234,7 @@
 											}
 											switch (alt14) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1463:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1280,7 +1282,7 @@
 	// $ANTLR start "B"
 	public final void mB() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1465:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' )
 			int alt23=2;
 			int LA23_0 = input.LA(1);
 			if ( (LA23_0=='B'||LA23_0=='b') ) {
@@ -1299,7 +1301,7 @@
 
 			switch (alt23) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1465:21: ( 'b' | 'B' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:21: ( 'b' | 'B' )
 					{
 					if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
 						input.consume();
@@ -1314,10 +1316,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt22=2;
 					int LA22_0 = input.LA(1);
 					if ( (LA22_0=='0') ) {
@@ -1325,10 +1327,10 @@
 					}
 					switch (alt22) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt21=2;
 							int LA21_0 = input.LA(1);
 							if ( (LA21_0=='0') ) {
@@ -1336,10 +1338,10 @@
 							}
 							switch (alt21) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:36: ( '0' ( '0' )? )?
 									int alt20=2;
 									int LA20_0 = input.LA(1);
 									if ( (LA20_0=='0') ) {
@@ -1347,10 +1349,10 @@
 									}
 									switch (alt20) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:41: ( '0' )?
 											int alt19=2;
 											int LA19_0 = input.LA(1);
 											if ( (LA19_0=='0') ) {
@@ -1358,7 +1360,7 @@
 											}
 											switch (alt19) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1466:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1406,7 +1408,7 @@
 	// $ANTLR start "C"
 	public final void mC() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1468:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1469:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' )
 			int alt28=2;
 			int LA28_0 = input.LA(1);
 			if ( (LA28_0=='C'||LA28_0=='c') ) {
@@ -1425,7 +1427,7 @@
 
 			switch (alt28) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1468:21: ( 'c' | 'C' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1469:21: ( 'c' | 'C' )
 					{
 					if ( input.LA(1)=='C'||input.LA(1)=='c' ) {
 						input.consume();
@@ -1440,10 +1442,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt27=2;
 					int LA27_0 = input.LA(1);
 					if ( (LA27_0=='0') ) {
@@ -1451,10 +1453,10 @@
 					}
 					switch (alt27) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt26=2;
 							int LA26_0 = input.LA(1);
 							if ( (LA26_0=='0') ) {
@@ -1462,10 +1464,10 @@
 							}
 							switch (alt26) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:36: ( '0' ( '0' )? )?
 									int alt25=2;
 									int LA25_0 = input.LA(1);
 									if ( (LA25_0=='0') ) {
@@ -1473,10 +1475,10 @@
 									}
 									switch (alt25) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:41: ( '0' )?
 											int alt24=2;
 											int LA24_0 = input.LA(1);
 											if ( (LA24_0=='0') ) {
@@ -1484,7 +1486,7 @@
 											}
 											switch (alt24) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1469:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1532,7 +1534,7 @@
 	// $ANTLR start "D"
 	public final void mD() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1471:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' )
 			int alt33=2;
 			int LA33_0 = input.LA(1);
 			if ( (LA33_0=='D'||LA33_0=='d') ) {
@@ -1551,7 +1553,7 @@
 
 			switch (alt33) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1471:21: ( 'd' | 'D' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:21: ( 'd' | 'D' )
 					{
 					if ( input.LA(1)=='D'||input.LA(1)=='d' ) {
 						input.consume();
@@ -1566,10 +1568,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt32=2;
 					int LA32_0 = input.LA(1);
 					if ( (LA32_0=='0') ) {
@@ -1577,10 +1579,10 @@
 					}
 					switch (alt32) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt31=2;
 							int LA31_0 = input.LA(1);
 							if ( (LA31_0=='0') ) {
@@ -1588,10 +1590,10 @@
 							}
 							switch (alt31) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:36: ( '0' ( '0' )? )?
 									int alt30=2;
 									int LA30_0 = input.LA(1);
 									if ( (LA30_0=='0') ) {
@@ -1599,10 +1601,10 @@
 									}
 									switch (alt30) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:41: ( '0' )?
 											int alt29=2;
 											int LA29_0 = input.LA(1);
 											if ( (LA29_0=='0') ) {
@@ -1610,7 +1612,7 @@
 											}
 											switch (alt29) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1472:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1658,7 +1660,7 @@
 	// $ANTLR start "E"
 	public final void mE() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1474:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1475:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' )
 			int alt38=2;
 			int LA38_0 = input.LA(1);
 			if ( (LA38_0=='E'||LA38_0=='e') ) {
@@ -1677,7 +1679,7 @@
 
 			switch (alt38) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1474:21: ( 'e' | 'E' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1475:21: ( 'e' | 'E' )
 					{
 					if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
 						input.consume();
@@ -1692,10 +1694,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt37=2;
 					int LA37_0 = input.LA(1);
 					if ( (LA37_0=='0') ) {
@@ -1703,10 +1705,10 @@
 					}
 					switch (alt37) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt36=2;
 							int LA36_0 = input.LA(1);
 							if ( (LA36_0=='0') ) {
@@ -1714,10 +1716,10 @@
 							}
 							switch (alt36) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:36: ( '0' ( '0' )? )?
 									int alt35=2;
 									int LA35_0 = input.LA(1);
 									if ( (LA35_0=='0') ) {
@@ -1725,10 +1727,10 @@
 									}
 									switch (alt35) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:41: ( '0' )?
 											int alt34=2;
 											int LA34_0 = input.LA(1);
 											if ( (LA34_0=='0') ) {
@@ -1736,7 +1738,7 @@
 											}
 											switch (alt34) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1475:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1784,7 +1786,7 @@
 	// $ANTLR start "F"
 	public final void mF() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1477:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1478:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' )
 			int alt43=2;
 			int LA43_0 = input.LA(1);
 			if ( (LA43_0=='F'||LA43_0=='f') ) {
@@ -1803,7 +1805,7 @@
 
 			switch (alt43) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1477:21: ( 'f' | 'F' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1478:21: ( 'f' | 'F' )
 					{
 					if ( input.LA(1)=='F'||input.LA(1)=='f' ) {
 						input.consume();
@@ -1818,10 +1820,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6'
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt42=2;
 					int LA42_0 = input.LA(1);
 					if ( (LA42_0=='0') ) {
@@ -1829,10 +1831,10 @@
 					}
 					switch (alt42) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt41=2;
 							int LA41_0 = input.LA(1);
 							if ( (LA41_0=='0') ) {
@@ -1840,10 +1842,10 @@
 							}
 							switch (alt41) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:36: ( '0' ( '0' )? )?
 									int alt40=2;
 									int LA40_0 = input.LA(1);
 									if ( (LA40_0=='0') ) {
@@ -1851,10 +1853,10 @@
 									}
 									switch (alt40) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:37: '0' ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:41: ( '0' )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:41: ( '0' )?
 											int alt39=2;
 											int LA39_0 = input.LA(1);
 											if ( (LA39_0=='0') ) {
@@ -1862,7 +1864,7 @@
 											}
 											switch (alt39) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1478:41: '0'
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1910,7 +1912,7 @@
 	// $ANTLR start "G"
 	public final void mG() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1480:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1481:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) )
 			int alt49=2;
 			int LA49_0 = input.LA(1);
 			if ( (LA49_0=='G'||LA49_0=='g') ) {
@@ -1929,7 +1931,7 @@
 
 			switch (alt49) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1480:21: ( 'g' | 'G' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1481:21: ( 'g' | 'G' )
 					{
 					if ( input.LA(1)=='G'||input.LA(1)=='g' ) {
 						input.consume();
@@ -1944,10 +1946,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1481:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1482:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1483:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
 					int alt48=3;
 					switch ( input.LA(1) ) {
 					case 'g':
@@ -1975,21 +1977,21 @@
 					}
 					switch (alt48) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1483:31: 'g'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1484:31: 'g'
 							{
 							match('g'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1484:31: 'G'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1485:31: 'G'
 							{
 							match('G'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7'
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt47=2;
 							int LA47_0 = input.LA(1);
 							if ( (LA47_0=='0') ) {
@@ -1997,10 +1999,10 @@
 							}
 							switch (alt47) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt46=2;
 									int LA46_0 = input.LA(1);
 									if ( (LA46_0=='0') ) {
@@ -2008,10 +2010,10 @@
 									}
 									switch (alt46) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:41: ( '0' ( '0' )? )?
 											int alt45=2;
 											int LA45_0 = input.LA(1);
 											if ( (LA45_0=='0') ) {
@@ -2019,10 +2021,10 @@
 											}
 											switch (alt45) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:46: ( '0' )?
 													int alt44=2;
 													int LA44_0 = input.LA(1);
 													if ( (LA44_0=='0') ) {
@@ -2030,7 +2032,7 @@
 													}
 													switch (alt44) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1485:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2083,7 +2085,7 @@
 	// $ANTLR start "H"
 	public final void mH() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1488:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1489:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) )
 			int alt55=2;
 			int LA55_0 = input.LA(1);
 			if ( (LA55_0=='H'||LA55_0=='h') ) {
@@ -2102,7 +2104,7 @@
 
 			switch (alt55) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1488:21: ( 'h' | 'H' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1489:21: ( 'h' | 'H' )
 					{
 					if ( input.LA(1)=='H'||input.LA(1)=='h' ) {
 						input.consume();
@@ -2117,10 +2119,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1489:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1490:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1491:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
 					int alt54=3;
 					switch ( input.LA(1) ) {
 					case 'h':
@@ -2148,21 +2150,21 @@
 					}
 					switch (alt54) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1491:31: 'h'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1492:31: 'h'
 							{
 							match('h'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1492:31: 'H'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:31: 'H'
 							{
 							match('H'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8'
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt53=2;
 							int LA53_0 = input.LA(1);
 							if ( (LA53_0=='0') ) {
@@ -2170,10 +2172,10 @@
 							}
 							switch (alt53) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt52=2;
 									int LA52_0 = input.LA(1);
 									if ( (LA52_0=='0') ) {
@@ -2181,10 +2183,10 @@
 									}
 									switch (alt52) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:41: ( '0' ( '0' )? )?
 											int alt51=2;
 											int LA51_0 = input.LA(1);
 											if ( (LA51_0=='0') ) {
@@ -2192,10 +2194,10 @@
 											}
 											switch (alt51) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:46: ( '0' )?
 													int alt50=2;
 													int LA50_0 = input.LA(1);
 													if ( (LA50_0=='0') ) {
@@ -2203,7 +2205,7 @@
 													}
 													switch (alt50) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1493:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2256,7 +2258,7 @@
 	// $ANTLR start "I"
 	public final void mI() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1496:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1497:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) )
 			int alt61=2;
 			int LA61_0 = input.LA(1);
 			if ( (LA61_0=='I'||LA61_0=='i') ) {
@@ -2275,7 +2277,7 @@
 
 			switch (alt61) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1496:21: ( 'i' | 'I' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1497:21: ( 'i' | 'I' )
 					{
 					if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
 						input.consume();
@@ -2290,10 +2292,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1497:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1498:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1499:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
 					int alt60=3;
 					switch ( input.LA(1) ) {
 					case 'i':
@@ -2321,21 +2323,21 @@
 					}
 					switch (alt60) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1499:31: 'i'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:31: 'i'
 							{
 							match('i'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1500:31: 'I'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1501:31: 'I'
 							{
 							match('I'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9'
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt59=2;
 							int LA59_0 = input.LA(1);
 							if ( (LA59_0=='0') ) {
@@ -2343,10 +2345,10 @@
 							}
 							switch (alt59) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt58=2;
 									int LA58_0 = input.LA(1);
 									if ( (LA58_0=='0') ) {
@@ -2354,10 +2356,10 @@
 									}
 									switch (alt58) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:41: ( '0' ( '0' )? )?
 											int alt57=2;
 											int LA57_0 = input.LA(1);
 											if ( (LA57_0=='0') ) {
@@ -2365,10 +2367,10 @@
 											}
 											switch (alt57) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:46: ( '0' )?
 													int alt56=2;
 													int LA56_0 = input.LA(1);
 													if ( (LA56_0=='0') ) {
@@ -2376,7 +2378,7 @@
 													}
 													switch (alt56) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1501:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2429,7 +2431,7 @@
 	// $ANTLR start "J"
 	public final void mJ() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1504:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) )
 			int alt67=2;
 			int LA67_0 = input.LA(1);
 			if ( (LA67_0=='J'||LA67_0=='j') ) {
@@ -2448,7 +2450,7 @@
 
 			switch (alt67) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1504:21: ( 'j' | 'J' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:21: ( 'j' | 'J' )
 					{
 					if ( input.LA(1)=='J'||input.LA(1)=='j' ) {
 						input.consume();
@@ -2463,10 +2465,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1505:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1506:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1507:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
 					int alt66=3;
 					switch ( input.LA(1) ) {
 					case 'j':
@@ -2494,21 +2496,21 @@
 					}
 					switch (alt66) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1507:31: 'j'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1508:31: 'j'
 							{
 							match('j'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1508:31: 'J'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:31: 'J'
 							{
 							match('J'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt65=2;
 							int LA65_0 = input.LA(1);
 							if ( (LA65_0=='0') ) {
@@ -2516,10 +2518,10 @@
 							}
 							switch (alt65) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt64=2;
 									int LA64_0 = input.LA(1);
 									if ( (LA64_0=='0') ) {
@@ -2527,10 +2529,10 @@
 									}
 									switch (alt64) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:41: ( '0' ( '0' )? )?
 											int alt63=2;
 											int LA63_0 = input.LA(1);
 											if ( (LA63_0=='0') ) {
@@ -2538,10 +2540,10 @@
 											}
 											switch (alt63) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:46: ( '0' )?
 													int alt62=2;
 													int LA62_0 = input.LA(1);
 													if ( (LA62_0=='0') ) {
@@ -2549,7 +2551,7 @@
 													}
 													switch (alt62) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1509:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2611,7 +2613,7 @@
 	// $ANTLR start "K"
 	public final void mK() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1512:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1513:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) )
 			int alt73=2;
 			int LA73_0 = input.LA(1);
 			if ( (LA73_0=='K'||LA73_0=='k') ) {
@@ -2630,7 +2632,7 @@
 
 			switch (alt73) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1512:21: ( 'k' | 'K' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1513:21: ( 'k' | 'K' )
 					{
 					if ( input.LA(1)=='K'||input.LA(1)=='k' ) {
 						input.consume();
@@ -2645,10 +2647,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1513:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1514:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
 					int alt72=3;
 					switch ( input.LA(1) ) {
 					case 'k':
@@ -2676,21 +2678,21 @@
 					}
 					switch (alt72) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1515:31: 'k'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1516:31: 'k'
 							{
 							match('k'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1516:31: 'K'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1517:31: 'K'
 							{
 							match('K'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt71=2;
 							int LA71_0 = input.LA(1);
 							if ( (LA71_0=='0') ) {
@@ -2698,10 +2700,10 @@
 							}
 							switch (alt71) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt70=2;
 									int LA70_0 = input.LA(1);
 									if ( (LA70_0=='0') ) {
@@ -2709,10 +2711,10 @@
 									}
 									switch (alt70) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:41: ( '0' ( '0' )? )?
 											int alt69=2;
 											int LA69_0 = input.LA(1);
 											if ( (LA69_0=='0') ) {
@@ -2720,10 +2722,10 @@
 											}
 											switch (alt69) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:46: ( '0' )?
 													int alt68=2;
 													int LA68_0 = input.LA(1);
 													if ( (LA68_0=='0') ) {
@@ -2731,7 +2733,7 @@
 													}
 													switch (alt68) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1517:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2793,7 +2795,7 @@
 	// $ANTLR start "L"
 	public final void mL() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1520:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1521:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) )
 			int alt79=2;
 			int LA79_0 = input.LA(1);
 			if ( (LA79_0=='L'||LA79_0=='l') ) {
@@ -2812,7 +2814,7 @@
 
 			switch (alt79) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1520:21: ( 'l' | 'L' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1521:21: ( 'l' | 'L' )
 					{
 					if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
 						input.consume();
@@ -2827,10 +2829,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1521:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1522:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1523:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
 					int alt78=3;
 					switch ( input.LA(1) ) {
 					case 'l':
@@ -2858,21 +2860,21 @@
 					}
 					switch (alt78) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1523:31: 'l'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1524:31: 'l'
 							{
 							match('l'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1524:31: 'L'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:31: 'L'
 							{
 							match('L'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt77=2;
 							int LA77_0 = input.LA(1);
 							if ( (LA77_0=='0') ) {
@@ -2880,10 +2882,10 @@
 							}
 							switch (alt77) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt76=2;
 									int LA76_0 = input.LA(1);
 									if ( (LA76_0=='0') ) {
@@ -2891,10 +2893,10 @@
 									}
 									switch (alt76) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:41: ( '0' ( '0' )? )?
 											int alt75=2;
 											int LA75_0 = input.LA(1);
 											if ( (LA75_0=='0') ) {
@@ -2902,10 +2904,10 @@
 											}
 											switch (alt75) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:46: ( '0' )?
 													int alt74=2;
 													int LA74_0 = input.LA(1);
 													if ( (LA74_0=='0') ) {
@@ -2913,7 +2915,7 @@
 													}
 													switch (alt74) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1525:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2975,7 +2977,7 @@
 	// $ANTLR start "M"
 	public final void mM() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1528:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1529:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) )
 			int alt85=2;
 			int LA85_0 = input.LA(1);
 			if ( (LA85_0=='M'||LA85_0=='m') ) {
@@ -2994,7 +2996,7 @@
 
 			switch (alt85) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1528:21: ( 'm' | 'M' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1529:21: ( 'm' | 'M' )
 					{
 					if ( input.LA(1)=='M'||input.LA(1)=='m' ) {
 						input.consume();
@@ -3009,10 +3011,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1529:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1530:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1531:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
 					int alt84=3;
 					switch ( input.LA(1) ) {
 					case 'm':
@@ -3040,21 +3042,21 @@
 					}
 					switch (alt84) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1531:31: 'm'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:31: 'm'
 							{
 							match('m'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1532:31: 'M'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1533:31: 'M'
 							{
 							match('M'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt83=2;
 							int LA83_0 = input.LA(1);
 							if ( (LA83_0=='0') ) {
@@ -3062,10 +3064,10 @@
 							}
 							switch (alt83) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt82=2;
 									int LA82_0 = input.LA(1);
 									if ( (LA82_0=='0') ) {
@@ -3073,10 +3075,10 @@
 									}
 									switch (alt82) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:41: ( '0' ( '0' )? )?
 											int alt81=2;
 											int LA81_0 = input.LA(1);
 											if ( (LA81_0=='0') ) {
@@ -3084,10 +3086,10 @@
 											}
 											switch (alt81) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:46: ( '0' )?
 													int alt80=2;
 													int LA80_0 = input.LA(1);
 													if ( (LA80_0=='0') ) {
@@ -3095,7 +3097,7 @@
 													}
 													switch (alt80) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1533:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3157,7 +3159,7 @@
 	// $ANTLR start "N"
 	public final void mN() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1536:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) )
 			int alt91=2;
 			int LA91_0 = input.LA(1);
 			if ( (LA91_0=='N'||LA91_0=='n') ) {
@@ -3176,7 +3178,7 @@
 
 			switch (alt91) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1536:21: ( 'n' | 'N' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:21: ( 'n' | 'N' )
 					{
 					if ( input.LA(1)=='N'||input.LA(1)=='n' ) {
 						input.consume();
@@ -3191,10 +3193,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1537:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1538:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1539:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
 					int alt90=3;
 					switch ( input.LA(1) ) {
 					case 'n':
@@ -3222,21 +3224,21 @@
 					}
 					switch (alt90) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1539:31: 'n'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1540:31: 'n'
 							{
 							match('n'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1540:31: 'N'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:31: 'N'
 							{
 							match('N'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt89=2;
 							int LA89_0 = input.LA(1);
 							if ( (LA89_0=='0') ) {
@@ -3244,10 +3246,10 @@
 							}
 							switch (alt89) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt88=2;
 									int LA88_0 = input.LA(1);
 									if ( (LA88_0=='0') ) {
@@ -3255,10 +3257,10 @@
 									}
 									switch (alt88) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:41: ( '0' ( '0' )? )?
 											int alt87=2;
 											int LA87_0 = input.LA(1);
 											if ( (LA87_0=='0') ) {
@@ -3266,10 +3268,10 @@
 											}
 											switch (alt87) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:46: ( '0' )?
 													int alt86=2;
 													int LA86_0 = input.LA(1);
 													if ( (LA86_0=='0') ) {
@@ -3277,7 +3279,7 @@
 													}
 													switch (alt86) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1541:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3339,7 +3341,7 @@
 	// $ANTLR start "O"
 	public final void mO() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1544:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1545:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) )
 			int alt97=2;
 			int LA97_0 = input.LA(1);
 			if ( (LA97_0=='O'||LA97_0=='o') ) {
@@ -3358,7 +3360,7 @@
 
 			switch (alt97) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1544:21: ( 'o' | 'O' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1545:21: ( 'o' | 'O' )
 					{
 					if ( input.LA(1)=='O'||input.LA(1)=='o' ) {
 						input.consume();
@@ -3373,10 +3375,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1545:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1546:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
 					int alt96=3;
 					switch ( input.LA(1) ) {
 					case 'o':
@@ -3404,21 +3406,21 @@
 					}
 					switch (alt96) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1547:31: 'o'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1548:31: 'o'
 							{
 							match('o'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1548:31: 'O'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1549:31: 'O'
 							{
 							match('O'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt95=2;
 							int LA95_0 = input.LA(1);
 							if ( (LA95_0=='0') ) {
@@ -3426,10 +3428,10 @@
 							}
 							switch (alt95) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt94=2;
 									int LA94_0 = input.LA(1);
 									if ( (LA94_0=='0') ) {
@@ -3437,10 +3439,10 @@
 									}
 									switch (alt94) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:41: ( '0' ( '0' )? )?
 											int alt93=2;
 											int LA93_0 = input.LA(1);
 											if ( (LA93_0=='0') ) {
@@ -3448,10 +3450,10 @@
 											}
 											switch (alt93) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:46: ( '0' )?
 													int alt92=2;
 													int LA92_0 = input.LA(1);
 													if ( (LA92_0=='0') ) {
@@ -3459,7 +3461,7 @@
 													}
 													switch (alt92) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1549:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3521,7 +3523,7 @@
 	// $ANTLR start "P"
 	public final void mP() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1552:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1553:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) )
 			int alt103=2;
 			int LA103_0 = input.LA(1);
 			if ( (LA103_0=='P'||LA103_0=='p') ) {
@@ -3540,7 +3542,7 @@
 
 			switch (alt103) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1552:21: ( 'p' | 'P' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1553:21: ( 'p' | 'P' )
 					{
 					if ( input.LA(1)=='P'||input.LA(1)=='p' ) {
 						input.consume();
@@ -3555,10 +3557,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1553:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1554:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1555:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
 					int alt102=3;
 					switch ( input.LA(1) ) {
 					case 'p':
@@ -3586,21 +3588,21 @@
 					}
 					switch (alt102) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1555:31: 'p'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1556:31: 'p'
 							{
 							match('p'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1556:31: 'P'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:31: 'P'
 							{
 							match('P'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt101=2;
 							int LA101_0 = input.LA(1);
 							if ( (LA101_0=='0') ) {
@@ -3608,10 +3610,10 @@
 							}
 							switch (alt101) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt100=2;
 									int LA100_0 = input.LA(1);
 									if ( (LA100_0=='0') ) {
@@ -3619,10 +3621,10 @@
 									}
 									switch (alt100) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:41: ( '0' ( '0' )? )?
 											int alt99=2;
 											int LA99_0 = input.LA(1);
 											if ( (LA99_0=='0') ) {
@@ -3630,10 +3632,10 @@
 											}
 											switch (alt99) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:46: ( '0' )?
 													int alt98=2;
 													int LA98_0 = input.LA(1);
 													if ( (LA98_0=='0') ) {
@@ -3641,7 +3643,7 @@
 													}
 													switch (alt98) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3674,8 +3676,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:66: ( '0' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1557:67: '0'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:66: ( '0' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:67: '0'
 							{
 							match('0'); if (state.failed) return;
 							}
@@ -3699,7 +3701,7 @@
 	// $ANTLR start "Q"
 	public final void mQ() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1560:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) )
 			int alt109=2;
 			int LA109_0 = input.LA(1);
 			if ( (LA109_0=='Q'||LA109_0=='q') ) {
@@ -3718,7 +3720,7 @@
 
 			switch (alt109) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1560:21: ( 'q' | 'Q' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:21: ( 'q' | 'Q' )
 					{
 					if ( input.LA(1)=='Q'||input.LA(1)=='q' ) {
 						input.consume();
@@ -3733,10 +3735,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1561:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1562:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1563:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
 					int alt108=3;
 					switch ( input.LA(1) ) {
 					case 'q':
@@ -3764,21 +3766,21 @@
 					}
 					switch (alt108) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1563:31: 'q'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1564:31: 'q'
 							{
 							match('q'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1564:31: 'Q'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1565:31: 'Q'
 							{
 							match('Q'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt107=2;
 							int LA107_0 = input.LA(1);
 							if ( (LA107_0=='0') ) {
@@ -3786,10 +3788,10 @@
 							}
 							switch (alt107) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt106=2;
 									int LA106_0 = input.LA(1);
 									if ( (LA106_0=='0') ) {
@@ -3797,10 +3799,10 @@
 									}
 									switch (alt106) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:41: ( '0' ( '0' )? )?
 											int alt105=2;
 											int LA105_0 = input.LA(1);
 											if ( (LA105_0=='0') ) {
@@ -3808,10 +3810,10 @@
 											}
 											switch (alt105) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:46: ( '0' )?
 													int alt104=2;
 													int LA104_0 = input.LA(1);
 													if ( (LA104_0=='0') ) {
@@ -3819,7 +3821,7 @@
 													}
 													switch (alt104) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3852,8 +3854,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:66: ( '1' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1565:67: '1'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:66: ( '1' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:67: '1'
 							{
 							match('1'); if (state.failed) return;
 							}
@@ -3877,7 +3879,7 @@
 	// $ANTLR start "R"
 	public final void mR() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1568:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) )
 			int alt115=2;
 			int LA115_0 = input.LA(1);
 			if ( (LA115_0=='R'||LA115_0=='r') ) {
@@ -3896,7 +3898,7 @@
 
 			switch (alt115) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1568:21: ( 'r' | 'R' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:21: ( 'r' | 'R' )
 					{
 					if ( input.LA(1)=='R'||input.LA(1)=='r' ) {
 						input.consume();
@@ -3911,10 +3913,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1569:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1570:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1570:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
 					int alt114=3;
 					switch ( input.LA(1) ) {
 					case 'r':
@@ -3942,21 +3944,21 @@
 					}
 					switch (alt114) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1571:31: 'r'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1572:31: 'r'
 							{
 							match('r'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1572:31: 'R'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1573:31: 'R'
 							{
 							match('R'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt113=2;
 							int LA113_0 = input.LA(1);
 							if ( (LA113_0=='0') ) {
@@ -3964,10 +3966,10 @@
 							}
 							switch (alt113) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt112=2;
 									int LA112_0 = input.LA(1);
 									if ( (LA112_0=='0') ) {
@@ -3975,10 +3977,10 @@
 									}
 									switch (alt112) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:41: ( '0' ( '0' )? )?
 											int alt111=2;
 											int LA111_0 = input.LA(1);
 											if ( (LA111_0=='0') ) {
@@ -3986,10 +3988,10 @@
 											}
 											switch (alt111) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:46: ( '0' )?
 													int alt110=2;
 													int LA110_0 = input.LA(1);
 													if ( (LA110_0=='0') ) {
@@ -3997,7 +3999,7 @@
 													}
 													switch (alt110) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4030,8 +4032,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:66: ( '2' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1573:67: '2'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:66: ( '2' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:67: '2'
 							{
 							match('2'); if (state.failed) return;
 							}
@@ -4055,7 +4057,7 @@
 	// $ANTLR start "S"
 	public final void mS() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1576:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) )
 			int alt121=2;
 			int LA121_0 = input.LA(1);
 			if ( (LA121_0=='S'||LA121_0=='s') ) {
@@ -4074,7 +4076,7 @@
 
 			switch (alt121) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1576:21: ( 's' | 'S' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:21: ( 's' | 'S' )
 					{
 					if ( input.LA(1)=='S'||input.LA(1)=='s' ) {
 						input.consume();
@@ -4089,10 +4091,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1577:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1578:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1578:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1579:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
 					int alt120=3;
 					switch ( input.LA(1) ) {
 					case 's':
@@ -4120,21 +4122,21 @@
 					}
 					switch (alt120) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1579:31: 's'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:31: 's'
 							{
 							match('s'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1580:31: 'S'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:31: 'S'
 							{
 							match('S'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt119=2;
 							int LA119_0 = input.LA(1);
 							if ( (LA119_0=='0') ) {
@@ -4142,10 +4144,10 @@
 							}
 							switch (alt119) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt118=2;
 									int LA118_0 = input.LA(1);
 									if ( (LA118_0=='0') ) {
@@ -4153,10 +4155,10 @@
 									}
 									switch (alt118) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:41: ( '0' ( '0' )? )?
 											int alt117=2;
 											int LA117_0 = input.LA(1);
 											if ( (LA117_0=='0') ) {
@@ -4164,10 +4166,10 @@
 											}
 											switch (alt117) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:46: ( '0' )?
 													int alt116=2;
 													int LA116_0 = input.LA(1);
 													if ( (LA116_0=='0') ) {
@@ -4175,7 +4177,7 @@
 													}
 													switch (alt116) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4208,8 +4210,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:66: ( '3' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1581:67: '3'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:66: ( '3' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:67: '3'
 							{
 							match('3'); if (state.failed) return;
 							}
@@ -4233,7 +4235,7 @@
 	// $ANTLR start "T"
 	public final void mT() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1584:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) )
 			int alt127=2;
 			int LA127_0 = input.LA(1);
 			if ( (LA127_0=='T'||LA127_0=='t') ) {
@@ -4252,7 +4254,7 @@
 
 			switch (alt127) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1584:21: ( 't' | 'T' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:21: ( 't' | 'T' )
 					{
 					if ( input.LA(1)=='T'||input.LA(1)=='t' ) {
 						input.consume();
@@ -4267,10 +4269,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1585:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1586:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1586:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1587:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
 					int alt126=3;
 					switch ( input.LA(1) ) {
 					case 't':
@@ -4298,21 +4300,21 @@
 					}
 					switch (alt126) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1587:31: 't'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1588:31: 't'
 							{
 							match('t'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1588:31: 'T'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1589:31: 'T'
 							{
 							match('T'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt125=2;
 							int LA125_0 = input.LA(1);
 							if ( (LA125_0=='0') ) {
@@ -4320,10 +4322,10 @@
 							}
 							switch (alt125) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt124=2;
 									int LA124_0 = input.LA(1);
 									if ( (LA124_0=='0') ) {
@@ -4331,10 +4333,10 @@
 									}
 									switch (alt124) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:41: ( '0' ( '0' )? )?
 											int alt123=2;
 											int LA123_0 = input.LA(1);
 											if ( (LA123_0=='0') ) {
@@ -4342,10 +4344,10 @@
 											}
 											switch (alt123) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:46: ( '0' )?
 													int alt122=2;
 													int LA122_0 = input.LA(1);
 													if ( (LA122_0=='0') ) {
@@ -4353,7 +4355,7 @@
 													}
 													switch (alt122) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4386,8 +4388,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:66: ( '4' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1589:67: '4'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:66: ( '4' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:67: '4'
 							{
 							match('4'); if (state.failed) return;
 							}
@@ -4411,7 +4413,7 @@
 	// $ANTLR start "U"
 	public final void mU() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1592:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) )
 			int alt133=2;
 			int LA133_0 = input.LA(1);
 			if ( (LA133_0=='U'||LA133_0=='u') ) {
@@ -4430,7 +4432,7 @@
 
 			switch (alt133) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1592:21: ( 'u' | 'U' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:21: ( 'u' | 'U' )
 					{
 					if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
 						input.consume();
@@ -4445,10 +4447,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1593:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1594:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1594:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1595:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
 					int alt132=3;
 					switch ( input.LA(1) ) {
 					case 'u':
@@ -4476,21 +4478,21 @@
 					}
 					switch (alt132) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1595:31: 'u'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1596:31: 'u'
 							{
 							match('u'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1596:31: 'U'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1597:31: 'U'
 							{
 							match('U'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt131=2;
 							int LA131_0 = input.LA(1);
 							if ( (LA131_0=='0') ) {
@@ -4498,10 +4500,10 @@
 							}
 							switch (alt131) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt130=2;
 									int LA130_0 = input.LA(1);
 									if ( (LA130_0=='0') ) {
@@ -4509,10 +4511,10 @@
 									}
 									switch (alt130) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:41: ( '0' ( '0' )? )?
 											int alt129=2;
 											int LA129_0 = input.LA(1);
 											if ( (LA129_0=='0') ) {
@@ -4520,10 +4522,10 @@
 											}
 											switch (alt129) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:46: ( '0' )?
 													int alt128=2;
 													int LA128_0 = input.LA(1);
 													if ( (LA128_0=='0') ) {
@@ -4531,7 +4533,7 @@
 													}
 													switch (alt128) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4564,8 +4566,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:66: ( '5' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1597:67: '5'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:66: ( '5' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1598:67: '5'
 							{
 							match('5'); if (state.failed) return;
 							}
@@ -4589,7 +4591,7 @@
 	// $ANTLR start "V"
 	public final void mV() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1600:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1601:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) )
 			int alt139=2;
 			int LA139_0 = input.LA(1);
 			if ( (LA139_0=='V'||LA139_0=='v') ) {
@@ -4608,7 +4610,7 @@
 
 			switch (alt139) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1600:21: ( 'v' | 'V' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1601:21: ( 'v' | 'V' )
 					{
 					if ( input.LA(1)=='V'||input.LA(1)=='v' ) {
 						input.consume();
@@ -4623,10 +4625,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1601:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1602:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1602:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
 					int alt138=3;
 					switch ( input.LA(1) ) {
 					case 'v':
@@ -4654,21 +4656,21 @@
 					}
 					switch (alt138) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1602:31: 'v'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:31: 'v'
 							{
 							match('v'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1603:31: 'V'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1604:31: 'V'
 							{
 							match('V'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt137=2;
 							int LA137_0 = input.LA(1);
 							if ( (LA137_0=='0') ) {
@@ -4676,10 +4678,10 @@
 							}
 							switch (alt137) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt136=2;
 									int LA136_0 = input.LA(1);
 									if ( (LA136_0=='0') ) {
@@ -4687,10 +4689,10 @@
 									}
 									switch (alt136) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:41: ( '0' ( '0' )? )?
 											int alt135=2;
 											int LA135_0 = input.LA(1);
 											if ( (LA135_0=='0') ) {
@@ -4698,10 +4700,10 @@
 											}
 											switch (alt135) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:46: ( '0' )?
 													int alt134=2;
 													int LA134_0 = input.LA(1);
 													if ( (LA134_0=='0') ) {
@@ -4709,7 +4711,7 @@
 													}
 													switch (alt134) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4742,8 +4744,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:66: ( '6' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1604:67: '6'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:66: ( '6' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:67: '6'
 							{
 							match('6'); if (state.failed) return;
 							}
@@ -4767,7 +4769,7 @@
 	// $ANTLR start "W"
 	public final void mW() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1607:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1608:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) )
 			int alt145=2;
 			int LA145_0 = input.LA(1);
 			if ( (LA145_0=='W'||LA145_0=='w') ) {
@@ -4786,7 +4788,7 @@
 
 			switch (alt145) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1607:21: ( 'w' | 'W' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1608:21: ( 'w' | 'W' )
 					{
 					if ( input.LA(1)=='W'||input.LA(1)=='w' ) {
 						input.consume();
@@ -4801,10 +4803,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1608:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1609:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1609:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1610:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
 					int alt144=3;
 					switch ( input.LA(1) ) {
 					case 'w':
@@ -4832,21 +4834,21 @@
 					}
 					switch (alt144) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1610:31: 'w'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1611:31: 'w'
 							{
 							match('w'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1611:31: 'W'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1612:31: 'W'
 							{
 							match('W'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt143=2;
 							int LA143_0 = input.LA(1);
 							if ( (LA143_0=='0') ) {
@@ -4854,10 +4856,10 @@
 							}
 							switch (alt143) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt142=2;
 									int LA142_0 = input.LA(1);
 									if ( (LA142_0=='0') ) {
@@ -4865,10 +4867,10 @@
 									}
 									switch (alt142) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:41: ( '0' ( '0' )? )?
 											int alt141=2;
 											int LA141_0 = input.LA(1);
 											if ( (LA141_0=='0') ) {
@@ -4876,10 +4878,10 @@
 											}
 											switch (alt141) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:46: ( '0' )?
 													int alt140=2;
 													int LA140_0 = input.LA(1);
 													if ( (LA140_0=='0') ) {
@@ -4887,7 +4889,7 @@
 													}
 													switch (alt140) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4920,8 +4922,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:66: ( '7' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1612:67: '7'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:66: ( '7' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1613:67: '7'
 							{
 							match('7'); if (state.failed) return;
 							}
@@ -4945,7 +4947,7 @@
 	// $ANTLR start "X"
 	public final void mX() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1615:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1616:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) )
 			int alt151=2;
 			int LA151_0 = input.LA(1);
 			if ( (LA151_0=='X'||LA151_0=='x') ) {
@@ -4964,7 +4966,7 @@
 
 			switch (alt151) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1615:21: ( 'x' | 'X' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1616:21: ( 'x' | 'X' )
 					{
 					if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
 						input.consume();
@@ -4979,10 +4981,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1616:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1617:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1617:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1618:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
 					int alt150=3;
 					switch ( input.LA(1) ) {
 					case 'x':
@@ -5010,21 +5012,21 @@
 					}
 					switch (alt150) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1618:31: 'x'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1619:31: 'x'
 							{
 							match('x'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1619:31: 'X'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1620:31: 'X'
 							{
 							match('X'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt149=2;
 							int LA149_0 = input.LA(1);
 							if ( (LA149_0=='0') ) {
@@ -5032,10 +5034,10 @@
 							}
 							switch (alt149) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt148=2;
 									int LA148_0 = input.LA(1);
 									if ( (LA148_0=='0') ) {
@@ -5043,10 +5045,10 @@
 									}
 									switch (alt148) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:41: ( '0' ( '0' )? )?
 											int alt147=2;
 											int LA147_0 = input.LA(1);
 											if ( (LA147_0=='0') ) {
@@ -5054,10 +5056,10 @@
 											}
 											switch (alt147) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:46: ( '0' )?
 													int alt146=2;
 													int LA146_0 = input.LA(1);
 													if ( (LA146_0=='0') ) {
@@ -5065,7 +5067,7 @@
 													}
 													switch (alt146) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5098,8 +5100,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:66: ( '8' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1620:67: '8'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:66: ( '8' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1621:67: '8'
 							{
 							match('8'); if (state.failed) return;
 							}
@@ -5123,7 +5125,7 @@
 	// $ANTLR start "Y"
 	public final void mY() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1623:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1624:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) )
 			int alt157=2;
 			int LA157_0 = input.LA(1);
 			if ( (LA157_0=='Y'||LA157_0=='y') ) {
@@ -5142,7 +5144,7 @@
 
 			switch (alt157) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1623:21: ( 'y' | 'Y' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1624:21: ( 'y' | 'Y' )
 					{
 					if ( input.LA(1)=='Y'||input.LA(1)=='y' ) {
 						input.consume();
@@ -5157,10 +5159,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1624:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1625:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1625:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1626:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
 					int alt156=3;
 					switch ( input.LA(1) ) {
 					case 'y':
@@ -5188,21 +5190,21 @@
 					}
 					switch (alt156) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1626:31: 'y'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1627:31: 'y'
 							{
 							match('y'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1627:31: 'Y'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1628:31: 'Y'
 							{
 							match('Y'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt155=2;
 							int LA155_0 = input.LA(1);
 							if ( (LA155_0=='0') ) {
@@ -5210,10 +5212,10 @@
 							}
 							switch (alt155) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt154=2;
 									int LA154_0 = input.LA(1);
 									if ( (LA154_0=='0') ) {
@@ -5221,10 +5223,10 @@
 									}
 									switch (alt154) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:41: ( '0' ( '0' )? )?
 											int alt153=2;
 											int LA153_0 = input.LA(1);
 											if ( (LA153_0=='0') ) {
@@ -5232,10 +5234,10 @@
 											}
 											switch (alt153) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:46: ( '0' )?
 													int alt152=2;
 													int LA152_0 = input.LA(1);
 													if ( (LA152_0=='0') ) {
@@ -5243,7 +5245,7 @@
 													}
 													switch (alt152) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5276,8 +5278,8 @@
 								recover(mse);
 								throw mse;
 							}
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:66: ( '9' )
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1628:67: '9'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:66: ( '9' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:67: '9'
 							{
 							match('9'); if (state.failed) return;
 							}
@@ -5301,7 +5303,7 @@
 	// $ANTLR start "Z"
 	public final void mZ() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1631:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) )
 			int alt163=2;
 			int LA163_0 = input.LA(1);
 			if ( (LA163_0=='Z'||LA163_0=='z') ) {
@@ -5320,7 +5322,7 @@
 
 			switch (alt163) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1631:21: ( 'z' | 'Z' )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:21: ( 'z' | 'Z' )
 					{
 					if ( input.LA(1)=='Z'||input.LA(1)=='z' ) {
 						input.consume();
@@ -5335,10 +5337,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1632:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1633:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1633:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1634:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
 					int alt162=3;
 					switch ( input.LA(1) ) {
 					case 'z':
@@ -5366,21 +5368,21 @@
 					}
 					switch (alt162) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1634:31: 'z'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1635:31: 'z'
 							{
 							match('z'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1635:31: 'Z'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1636:31: 'Z'
 							{
 							match('Z'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' )
 							{
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt161=2;
 							int LA161_0 = input.LA(1);
 							if ( (LA161_0=='0') ) {
@@ -5388,10 +5390,10 @@
 							}
 							switch (alt161) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt160=2;
 									int LA160_0 = input.LA(1);
 									if ( (LA160_0=='0') ) {
@@ -5399,10 +5401,10 @@
 									}
 									switch (alt160) {
 										case 1 :
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:41: ( '0' ( '0' )? )?
 											int alt159=2;
 											int LA159_0 = input.LA(1);
 											if ( (LA159_0=='0') ) {
@@ -5410,10 +5412,10 @@
 											}
 											switch (alt159) {
 												case 1 :
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:42: '0' ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:46: ( '0' )?
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:46: ( '0' )?
 													int alt158=2;
 													int LA158_0 = input.LA(1);
 													if ( (LA158_0=='0') ) {
@@ -5421,7 +5423,7 @@
 													}
 													switch (alt158) {
 														case 1 :
-															// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1636:46: '0'
+															// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5485,8 +5487,8 @@
 		try {
 			int _type = CDO;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1648:17: ( '<!--' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1648:19: '<!--'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:17: ( '<!--' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:19: '<!--'
 			{
 			match("<!--"); if (state.failed) return;
 
@@ -5509,8 +5511,8 @@
 		try {
 			int _type = CDC;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1661:17: ( '-->' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1661:19: '-->'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1662:17: ( '-->' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1662:19: '-->'
 			{
 			match("-->"); if (state.failed) return;
 
@@ -5533,8 +5535,8 @@
 		try {
 			int _type = INCLUDES;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1668:17: ( '~=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1668:19: '~='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:17: ( '~=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:19: '~='
 			{
 			match("~="); if (state.failed) return;
 
@@ -5554,8 +5556,8 @@
 		try {
 			int _type = DASHMATCH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1669:17: ( '|=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1669:19: '|='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:17: ( '|=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:19: '|='
 			{
 			match("|="); if (state.failed) return;
 
@@ -5575,8 +5577,8 @@
 		try {
 			int _type = BEGINS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1670:17: ( '^=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1670:19: '^='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:17: ( '^=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:19: '^='
 			{
 			match("^="); if (state.failed) return;
 
@@ -5596,8 +5598,8 @@
 		try {
 			int _type = ENDS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1671:17: ( '$=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1671:19: '$='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1672:17: ( '$=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1672:19: '$='
 			{
 			match("$="); if (state.failed) return;
 
@@ -5617,8 +5619,8 @@
 		try {
 			int _type = CONTAINS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1672:17: ( '*=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1672:19: '*='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:17: ( '*=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:19: '*='
 			{
 			match("*="); if (state.failed) return;
 
@@ -5638,8 +5640,8 @@
 		try {
 			int _type = GREATER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1674:17: ( '>' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1674:19: '>'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1675:17: ( '>' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1675:19: '>'
 			{
 			match('>'); if (state.failed) return;
 			}
@@ -5658,8 +5660,8 @@
 		try {
 			int _type = LBRACE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1675:17: ( '{' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1675:19: '{'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:17: ( '{' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:19: '{'
 			{
 			match('{'); if (state.failed) return;
 			}
@@ -5678,8 +5680,8 @@
 		try {
 			int _type = RBRACE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1676:17: ( '}' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1676:19: '}'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1677:17: ( '}' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1677:19: '}'
 			{
 			match('}'); if (state.failed) return;
 			}
@@ -5698,8 +5700,8 @@
 		try {
 			int _type = LBRACKET;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1677:17: ( '[' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1677:19: '['
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:17: ( '[' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:19: '['
 			{
 			match('['); if (state.failed) return;
 			}
@@ -5718,8 +5720,8 @@
 		try {
 			int _type = RBRACKET;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1678:17: ( ']' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1678:19: ']'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1679:17: ( ']' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1679:19: ']'
 			{
 			match(']'); if (state.failed) return;
 			}
@@ -5738,8 +5740,8 @@
 		try {
 			int _type = OPEQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1679:17: ( '=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1679:19: '='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:17: ( '=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:19: '='
 			{
 			match('='); if (state.failed) return;
 			}
@@ -5758,8 +5760,8 @@
 		try {
 			int _type = SEMI;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1680:17: ( ';' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1680:19: ';'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:17: ( ';' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:19: ';'
 			{
 			match(';'); if (state.failed) return;
 			}
@@ -5778,8 +5780,8 @@
 		try {
 			int _type = COLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1681:17: ( ':' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1681:19: ':'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1682:17: ( ':' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1682:19: ':'
 			{
 			match(':'); if (state.failed) return;
 			}
@@ -5798,8 +5800,8 @@
 		try {
 			int _type = DCOLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1682:17: ( '::' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1682:19: '::'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1683:17: ( '::' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1683:19: '::'
 			{
 			match("::"); if (state.failed) return;
 
@@ -5819,8 +5821,8 @@
 		try {
 			int _type = SOLIDUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1683:17: ( '/' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1683:19: '/'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1684:17: ( '/' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1684:19: '/'
 			{
 			match('/'); if (state.failed) return;
 			}
@@ -5839,8 +5841,8 @@
 		try {
 			int _type = MINUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1684:17: ( '-' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1684:19: '-'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:17: ( '-' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:19: '-'
 			{
 			match('-'); if (state.failed) return;
 			}
@@ -5859,8 +5861,8 @@
 		try {
 			int _type = PLUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1685:17: ( '+' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1685:19: '+'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1686:17: ( '+' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1686:19: '+'
 			{
 			match('+'); if (state.failed) return;
 			}
@@ -5879,8 +5881,8 @@
 		try {
 			int _type = STAR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1686:17: ( '*' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1686:19: '*'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1687:17: ( '*' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1687:19: '*'
 			{
 			match('*'); if (state.failed) return;
 			}
@@ -5899,8 +5901,8 @@
 		try {
 			int _type = LPAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1687:17: ( '(' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1687:19: '('
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1688:17: ( '(' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1688:19: '('
 			{
 			match('('); if (state.failed) return;
 			}
@@ -5919,8 +5921,8 @@
 		try {
 			int _type = RPAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1688:17: ( ')' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1688:19: ')'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:17: ( ')' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:19: ')'
 			{
 			match(')'); if (state.failed) return;
 			}
@@ -5939,8 +5941,8 @@
 		try {
 			int _type = COMMA;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1689:17: ( ',' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1689:19: ','
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:17: ( ',' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:19: ','
 			{
 			match(','); if (state.failed) return;
 			}
@@ -5959,8 +5961,8 @@
 		try {
 			int _type = DOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1690:17: ( '.' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1690:19: '.'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:17: ( '.' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:19: '.'
 			{
 			match('.'); if (state.failed) return;
 			}
@@ -5979,8 +5981,8 @@
 		try {
 			int _type = TILDE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1691:8: ( '~' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1691:10: '~'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:8: ( '~' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:10: '~'
 			{
 			match('~'); if (state.failed) return;
 			}
@@ -5999,8 +6001,8 @@
 		try {
 			int _type = PIPE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1692:17: ( '|' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1692:19: '|'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1693:17: ( '|' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1693:19: '|'
 			{
 			match('|'); if (state.failed) return;
 			}
@@ -6019,8 +6021,8 @@
 		try {
 			int _type = PERCENTAGE_SYMBOL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1694:17: ( '%' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1694:19: '%'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1695:17: ( '%' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1695:19: '%'
 			{
 			match('%'); if (state.failed) return;
 			}
@@ -6039,8 +6041,8 @@
 		try {
 			int _type = EXCLAMATION_MARK;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1695:17: ( '!' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1695:19: '!'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:17: ( '!' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:19: '!'
 			{
 			match('!'); if (state.failed) return;
 			}
@@ -6059,8 +6061,8 @@
 		try {
 			int _type = CP_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1697:17: ( '==' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1697:19: '=='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:17: ( '==' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:19: '=='
 			{
 			match("=="); if (state.failed) return;
 
@@ -6080,8 +6082,8 @@
 		try {
 			int _type = CP_NOT_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1698:17: ( '!=' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1698:19: '!='
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1699:17: ( '!=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1699:19: '!='
 			{
 			match("!="); if (state.failed) return;
 
@@ -6101,8 +6103,8 @@
 		try {
 			int _type = LESS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1699:17: ( '<' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1699:19: '<'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1700:17: ( '<' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1700:19: '<'
 			{
 			match('<'); if (state.failed) return;
 			}
@@ -6121,7 +6123,7 @@
 		try {
 			int _type = GREATER_OR_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1700:17: ( '>=' | '=>' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:17: ( '>=' | '=>' )
 			int alt164=2;
 			int LA164_0 = input.LA(1);
 			if ( (LA164_0=='>') ) {
@@ -6140,14 +6142,14 @@
 
 			switch (alt164) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1700:19: '>='
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:19: '>='
 					{
 					match(">="); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1700:26: '=>'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:26: '=>'
 					{
 					match("=>"); if (state.failed) return;
 
@@ -6169,7 +6171,7 @@
 		try {
 			int _type = LESS_OR_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1701:17: ( '=<' | '<=' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:17: ( '=<' | '<=' )
 			int alt165=2;
 			int LA165_0 = input.LA(1);
 			if ( (LA165_0=='=') ) {
@@ -6188,14 +6190,14 @@
 
 			switch (alt165) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1701:19: '=<'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:19: '=<'
 					{
 					match("=<"); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1701:26: '<='
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:26: '<='
 					{
 					match("<="); if (state.failed) return;
 
@@ -6217,11 +6219,11 @@
 		try {
 			int _type = LESS_AND;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1702:17: ( '&' ( '-' )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1702:19: '&' ( '-' )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:17: ( '&' ( '-' )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:19: '&' ( '-' )*
 			{
 			match('&'); if (state.failed) return;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1702:23: ( '-' )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:23: ( '-' )*
 			loop166:
 			while (true) {
 				int alt166=2;
@@ -6232,7 +6234,7 @@
 
 				switch (alt166) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1702:23: '-'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:23: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
@@ -6259,8 +6261,8 @@
 		try {
 			int _type = CP_DOTS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1703:17: ( '...' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1703:19: '...'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:17: ( '...' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:19: '...'
 			{
 			match("..."); if (state.failed) return;
 
@@ -6280,8 +6282,8 @@
 		try {
 			int _type = LESS_REST;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1704:17: ( '@rest...' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1704:19: '@rest...'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:17: ( '@rest...' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:19: '@rest...'
 			{
 			match("@rest..."); if (state.failed) return;
 
@@ -6299,8 +6301,8 @@
 	// $ANTLR start "INVALID"
 	public final void mINVALID() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1709:21: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1709:22: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:21: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:22: 
 			{
 			}
 
@@ -6316,7 +6318,7 @@
 		try {
 			int _type = STRING;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1710:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) )
 			int alt171=2;
 			int LA171_0 = input.LA(1);
 			if ( (LA171_0=='\'') ) {
@@ -6335,10 +6337,10 @@
 
 			switch (alt171) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1710:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |)
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |)
 					{
 					match('\''); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1710:24: (~ ( '\\r' | '\\f' | '\\'' ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:24: (~ ( '\\r' | '\\f' | '\\'' ) )*
 					loop167:
 					while (true) {
 						int alt167=2;
@@ -6349,7 +6351,7 @@
 
 						switch (alt167) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\u000B')||(input.LA(1) >= '\u000E' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) {
 								input.consume();
@@ -6369,7 +6371,7 @@
 						}
 					}
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1711:21: ( '\\'' |)
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:21: ( '\\'' |)
 					int alt168=2;
 					int LA168_0 = input.LA(1);
 					if ( (LA168_0=='\'') ) {
@@ -6382,13 +6384,13 @@
 
 					switch (alt168) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1712:27: '\\''
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:27: '\\''
 							{
 							match('\''); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1713:27: 
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:27: 
 							{
 							if ( state.backtracking==0 ) { _type = INVALID; }
 							}
@@ -6399,10 +6401,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |)
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |)
 					{
 					match('\"'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )*
 					loop169:
 					while (true) {
 						int alt169=4;
@@ -6444,21 +6446,21 @@
 
 						switch (alt169) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:26: ( '\\\\\\\"' )=> '\\\\\\\"'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:26: ( '\\\\\\\"' )=> '\\\\\\\"'
 							{
 							match("\\\""); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:47: ( '\\\\\\\\' )=> '\\\\\\\\'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:47: ( '\\\\\\\\' )=> '\\\\\\\\'
 							{
 							match("\\\\"); if (state.failed) return;
 
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:68: ~ ( '\\r' | '\\f' | '\"' )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:68: ~ ( '\\r' | '\\f' | '\"' )
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\u000B')||(input.LA(1) >= '\u000E' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) {
 								input.consume();
@@ -6478,7 +6480,7 @@
 						}
 					}
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1717:21: ( '\"' |)
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:21: ( '\"' |)
 					int alt170=2;
 					int LA170_0 = input.LA(1);
 					if ( (LA170_0=='\"') ) {
@@ -6491,13 +6493,13 @@
 
 					switch (alt170) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1718:27: '\"'
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:27: '\"'
 							{
 							match('\"'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1719:27: 
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:27: 
 							{
 							if ( state.backtracking==0 ) { _type = INVALID; }
 							}
@@ -6523,11 +6525,11 @@
 		try {
 			int _type = LESS_JS_STRING;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1723:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1723:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |)
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |)
 			{
 			match('`'); if (state.failed) return;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1723:23: (~ ( '\\r' | '\\f' | '`' ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:23: (~ ( '\\r' | '\\f' | '`' ) )*
 			loop172:
 			while (true) {
 				int alt172=2;
@@ -6538,7 +6540,7 @@
 
 				switch (alt172) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\u000B')||(input.LA(1) >= '\u000E' && input.LA(1) <= '_')||(input.LA(1) >= 'a' && input.LA(1) <= '\uFFFF') ) {
 						input.consume();
@@ -6558,7 +6560,7 @@
 				}
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1724:21: ( '`' |)
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:21: ( '`' |)
 			int alt173=2;
 			int LA173_0 = input.LA(1);
 			if ( (LA173_0=='`') ) {
@@ -6571,13 +6573,13 @@
 
 			switch (alt173) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1725:27: '`'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:27: '`'
 					{
 					match('`'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1726:27: 
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:27: 
 					{
 					if ( state.backtracking==0 ) { _type = INVALID; }
 					}
@@ -6601,8 +6603,8 @@
 		try {
 			int _type = NOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1730:6: ( 'NOT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1730:8: 'NOT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:6: ( 'NOT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:8: 'NOT'
 			{
 			match("NOT"); if (state.failed) return;
 
@@ -6622,14 +6624,14 @@
 		try {
 			int _type = VARIABLE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1734:17: ( '--' NMSTART ( NMCHAR )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1734:19: '--' NMSTART ( NMCHAR )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:17: ( '--' NMSTART ( NMCHAR )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:19: '--' NMSTART ( NMCHAR )*
 			{
 			match("--"); if (state.failed) return;
 
 			mNMSTART(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1734:32: ( NMCHAR )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:32: ( NMCHAR )*
 			loop174:
 			while (true) {
 				int alt174=2;
@@ -6640,7 +6642,7 @@
 
 				switch (alt174) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1734:32: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:32: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -6668,10 +6670,10 @@
 		try {
 			int _type = IDENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:17: ( ( '-' )? NMSTART ( NMCHAR )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:19: ( '-' )? NMSTART ( NMCHAR )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:17: ( ( '-' )? NMSTART ( NMCHAR )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:19: ( '-' )? NMSTART ( NMCHAR )*
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:19: ( '-' )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:19: ( '-' )?
 			int alt175=2;
 			int LA175_0 = input.LA(1);
 			if ( (LA175_0=='-') ) {
@@ -6679,7 +6681,7 @@
 			}
 			switch (alt175) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:19: '-'
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:19: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
@@ -6689,7 +6691,7 @@
 
 			mNMSTART(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:32: ( NMCHAR )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:32: ( NMCHAR )*
 			loop176:
 			while (true) {
 				int alt176=2;
@@ -6700,7 +6702,7 @@
 
 				switch (alt176) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1739:32: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:32: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -6728,8 +6730,8 @@
 		try {
 			int _type = HASH_SYMBOL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1744:17: ( '#' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1744:19: '#'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:17: ( '#' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:19: '#'
 			{
 			match('#'); if (state.failed) return;
 			}
@@ -6748,8 +6750,8 @@
 		try {
 			int _type = HASH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1745:17: ( HASH_SYMBOL NAME )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1745:19: HASH_SYMBOL NAME
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:17: ( HASH_SYMBOL NAME )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:19: HASH_SYMBOL NAME
 			{
 			mHASH_SYMBOL(); if (state.failed) return;
 
@@ -6771,12 +6773,12 @@
 		try {
 			int _type = IMPORTANT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1747:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1747:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT'
 			{
 			mEXCLAMATION_MARK(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1747:36: ( WS | COMMENT )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:36: ( WS | COMMENT )*
 			loop177:
 			while (true) {
 				int alt177=3;
@@ -6790,14 +6792,14 @@
 
 				switch (alt177) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1747:37: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:37: WS
 					{
 					mWS(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1747:40: COMMENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:40: COMMENT
 					{
 					mCOMMENT(); if (state.failed) return;
 
@@ -6827,8 +6829,8 @@
 		try {
 			int _type = IMPORT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1749:21: ( '@IMPORT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1749:23: '@IMPORT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:21: ( '@IMPORT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:23: '@IMPORT'
 			{
 			match("@IMPORT"); if (state.failed) return;
 
@@ -6848,8 +6850,8 @@
 		try {
 			int _type = PAGE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1750:21: ( '@PAGE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1750:23: '@PAGE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:21: ( '@PAGE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:23: '@PAGE'
 			{
 			match("@PAGE"); if (state.failed) return;
 
@@ -6869,8 +6871,8 @@
 		try {
 			int _type = MEDIA_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1751:21: ( '@MEDIA' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1751:23: '@MEDIA'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1752:21: ( '@MEDIA' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1752:23: '@MEDIA'
 			{
 			match("@MEDIA"); if (state.failed) return;
 
@@ -6890,8 +6892,8 @@
 		try {
 			int _type = NAMESPACE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1752:21: ( '@NAMESPACE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1752:23: '@NAMESPACE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:21: ( '@NAMESPACE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:23: '@NAMESPACE'
 			{
 			match("@NAMESPACE"); if (state.failed) return;
 
@@ -6911,8 +6913,8 @@
 		try {
 			int _type = CHARSET_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1753:21: ( '@CHARSET' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1753:23: '@CHARSET'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:21: ( '@CHARSET' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:23: '@CHARSET'
 			{
 			match("@CHARSET"); if (state.failed) return;
 
@@ -6932,8 +6934,8 @@
 		try {
 			int _type = COUNTER_STYLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1754:21: ( '@COUNTER-STYLE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1754:23: '@COUNTER-STYLE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1755:21: ( '@COUNTER-STYLE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1755:23: '@COUNTER-STYLE'
 			{
 			match("@COUNTER-STYLE"); if (state.failed) return;
 
@@ -6953,8 +6955,8 @@
 		try {
 			int _type = FONT_FACE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1755:21: ( '@FONT-FACE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1755:23: '@FONT-FACE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:21: ( '@FONT-FACE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:23: '@FONT-FACE'
 			{
 			match("@FONT-FACE"); if (state.failed) return;
 
@@ -6974,8 +6976,8 @@
 		try {
 			int _type = SUPPORTS_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1756:21: ( '@SUPPORTS' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1756:23: '@SUPPORTS'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1757:21: ( '@SUPPORTS' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1757:23: '@SUPPORTS'
 			{
 			match("@SUPPORTS"); if (state.failed) return;
 
@@ -6995,8 +6997,8 @@
 		try {
 			int _type = TOPLEFTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1758:23: ( '@TOP-LEFT-CORNER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1758:24: '@TOP-LEFT-CORNER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:23: ( '@TOP-LEFT-CORNER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:24: '@TOP-LEFT-CORNER'
 			{
 			match("@TOP-LEFT-CORNER"); if (state.failed) return;
 
@@ -7016,8 +7018,8 @@
 		try {
 			int _type = TOPLEFT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1759:23: ( '@TOP-LEFT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1759:24: '@TOP-LEFT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1760:23: ( '@TOP-LEFT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1760:24: '@TOP-LEFT'
 			{
 			match("@TOP-LEFT"); if (state.failed) return;
 
@@ -7037,8 +7039,8 @@
 		try {
 			int _type = TOPCENTER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1760:23: ( '@TOP-CENTER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1760:24: '@TOP-CENTER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1761:23: ( '@TOP-CENTER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1761:24: '@TOP-CENTER'
 			{
 			match("@TOP-CENTER"); if (state.failed) return;
 
@@ -7058,8 +7060,8 @@
 		try {
 			int _type = TOPRIGHT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1761:23: ( '@TOP-RIGHT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1761:24: '@TOP-RIGHT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:23: ( '@TOP-RIGHT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:24: '@TOP-RIGHT'
 			{
 			match("@TOP-RIGHT"); if (state.failed) return;
 
@@ -7079,8 +7081,8 @@
 		try {
 			int _type = TOPRIGHTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1762:23: ( '@TOP-RIGHT-CORNER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1762:24: '@TOP-RIGHT-CORNER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1763:23: ( '@TOP-RIGHT-CORNER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1763:24: '@TOP-RIGHT-CORNER'
 			{
 			match("@TOP-RIGHT-CORNER"); if (state.failed) return;
 
@@ -7100,8 +7102,8 @@
 		try {
 			int _type = BOTTOMLEFTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1763:23: ( '@BOTTOM-LEFT-CORNER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1763:24: '@BOTTOM-LEFT-CORNER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:23: ( '@BOTTOM-LEFT-CORNER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:24: '@BOTTOM-LEFT-CORNER'
 			{
 			match("@BOTTOM-LEFT-CORNER"); if (state.failed) return;
 
@@ -7121,8 +7123,8 @@
 		try {
 			int _type = BOTTOMLEFT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1764:23: ( '@BOTTOM-LEFT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1764:24: '@BOTTOM-LEFT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1765:23: ( '@BOTTOM-LEFT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1765:24: '@BOTTOM-LEFT'
 			{
 			match("@BOTTOM-LEFT"); if (state.failed) return;
 
@@ -7142,8 +7144,8 @@
 		try {
 			int _type = BOTTOMCENTER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1765:23: ( '@BOTTOM-CENTER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1765:24: '@BOTTOM-CENTER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1766:23: ( '@BOTTOM-CENTER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1766:24: '@BOTTOM-CENTER'
 			{
 			match("@BOTTOM-CENTER"); if (state.failed) return;
 
@@ -7163,8 +7165,8 @@
 		try {
 			int _type = BOTTOMRIGHT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1766:23: ( '@BOTTOM-RIGHT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1766:24: '@BOTTOM-RIGHT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:23: ( '@BOTTOM-RIGHT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:24: '@BOTTOM-RIGHT'
 			{
 			match("@BOTTOM-RIGHT"); if (state.failed) return;
 
@@ -7184,8 +7186,8 @@
 		try {
 			int _type = BOTTOMRIGHTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1767:23: ( '@BOTTOM-RIGHT-CORNER' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1767:24: '@BOTTOM-RIGHT-CORNER'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1768:23: ( '@BOTTOM-RIGHT-CORNER' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1768:24: '@BOTTOM-RIGHT-CORNER'
 			{
 			match("@BOTTOM-RIGHT-CORNER"); if (state.failed) return;
 
@@ -7205,8 +7207,8 @@
 		try {
 			int _type = LEFTTOP_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1768:23: ( '@LEFT-TOP' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1768:24: '@LEFT-TOP'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1769:23: ( '@LEFT-TOP' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1769:24: '@LEFT-TOP'
 			{
 			match("@LEFT-TOP"); if (state.failed) return;
 
@@ -7226,8 +7228,8 @@
 		try {
 			int _type = LEFTMIDDLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1769:23: ( '@LEFT-MIDDLE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1769:24: '@LEFT-MIDDLE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:23: ( '@LEFT-MIDDLE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:24: '@LEFT-MIDDLE'
 			{
 			match("@LEFT-MIDDLE"); if (state.failed) return;
 
@@ -7247,8 +7249,8 @@
 		try {
 			int _type = LEFTBOTTOM_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1770:23: ( '@LEFT-BOTTOM' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1770:24: '@LEFT-BOTTOM'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:23: ( '@LEFT-BOTTOM' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:24: '@LEFT-BOTTOM'
 			{
 			match("@LEFT-BOTTOM"); if (state.failed) return;
 
@@ -7268,8 +7270,8 @@
 		try {
 			int _type = RIGHTTOP_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1771:23: ( '@RIGHT-TOP' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1771:24: '@RIGHT-TOP'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:23: ( '@RIGHT-TOP' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:24: '@RIGHT-TOP'
 			{
 			match("@RIGHT-TOP"); if (state.failed) return;
 
@@ -7289,8 +7291,8 @@
 		try {
 			int _type = RIGHTMIDDLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1772:23: ( '@RIGHT-MIDDLE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1772:24: '@RIGHT-MIDDLE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1773:23: ( '@RIGHT-MIDDLE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1773:24: '@RIGHT-MIDDLE'
 			{
 			match("@RIGHT-MIDDLE"); if (state.failed) return;
 
@@ -7310,8 +7312,8 @@
 		try {
 			int _type = RIGHTBOTTOM_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1773:23: ( '@RIGHT-BOTTOM' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1773:24: '@RIGHT-BOTTOM'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:23: ( '@RIGHT-BOTTOM' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:24: '@RIGHT-BOTTOM'
 			{
 			match("@RIGHT-BOTTOM"); if (state.failed) return;
 
@@ -7331,8 +7333,8 @@
 		try {
 			int _type = MOZ_DOCUMENT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1775:23: ( '@-MOZ-DOCUMENT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1775:25: '@-MOZ-DOCUMENT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:23: ( '@-MOZ-DOCUMENT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:25: '@-MOZ-DOCUMENT'
 			{
 			match("@-MOZ-DOCUMENT"); if (state.failed) return;
 
@@ -7352,8 +7354,8 @@
 		try {
 			int _type = WEBKIT_KEYFRAMES_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1776:23: ( '@-WEBKIT-KEYFRAMES' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1776:25: '@-WEBKIT-KEYFRAMES'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:23: ( '@-WEBKIT-KEYFRAMES' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:25: '@-WEBKIT-KEYFRAMES'
 			{
 			match("@-WEBKIT-KEYFRAMES"); if (state.failed) return;
 
@@ -7373,8 +7375,8 @@
 		try {
 			int _type = SASS_CONTENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1779:21: ( '@CONTENT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1779:23: '@CONTENT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:21: ( '@CONTENT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:23: '@CONTENT'
 			{
 			match("@CONTENT"); if (state.failed) return;
 
@@ -7394,8 +7396,8 @@
 		try {
 			int _type = SASS_MIXIN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1780:21: ( '@MIXIN' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1780:23: '@MIXIN'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:21: ( '@MIXIN' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:23: '@MIXIN'
 			{
 			match("@MIXIN"); if (state.failed) return;
 
@@ -7415,8 +7417,8 @@
 		try {
 			int _type = SASS_INCLUDE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1781:21: ( '@INCLUDE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1781:23: '@INCLUDE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:21: ( '@INCLUDE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:23: '@INCLUDE'
 			{
 			match("@INCLUDE"); if (state.failed) return;
 
@@ -7436,8 +7438,8 @@
 		try {
 			int _type = SASS_EXTEND;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1782:21: ( '@EXTEND' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1782:23: '@EXTEND'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:21: ( '@EXTEND' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:23: '@EXTEND'
 			{
 			match("@EXTEND"); if (state.failed) return;
 
@@ -7457,8 +7459,8 @@
 		try {
 			int _type = SASS_DEBUG;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1783:21: ( '@DEBUG' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1783:23: '@DEBUG'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1784:21: ( '@DEBUG' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1784:23: '@DEBUG'
 			{
 			match("@DEBUG"); if (state.failed) return;
 
@@ -7478,8 +7480,8 @@
 		try {
 			int _type = SASS_ERROR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1784:21: ( '@ERROR' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1784:23: '@ERROR'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:21: ( '@ERROR' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:23: '@ERROR'
 			{
 			match("@ERROR"); if (state.failed) return;
 
@@ -7499,8 +7501,8 @@
 		try {
 			int _type = SASS_WARN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1785:21: ( '@WARN' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1785:23: '@WARN'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:21: ( '@WARN' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:23: '@WARN'
 			{
 			match("@WARN"); if (state.failed) return;
 
@@ -7520,8 +7522,8 @@
 		try {
 			int _type = SASS_IF;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1786:21: ( '@IF' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1786:23: '@IF'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:21: ( '@IF' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:23: '@IF'
 			{
 			match("@IF"); if (state.failed) return;
 
@@ -7541,8 +7543,8 @@
 		try {
 			int _type = SASS_ELSE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1787:21: ( '@ELSE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1787:23: '@ELSE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:21: ( '@ELSE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:23: '@ELSE'
 			{
 			match("@ELSE"); if (state.failed) return;
 
@@ -7562,8 +7564,8 @@
 		try {
 			int _type = SASS_ELSEIF;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1788:21: ( '@ELSEIF' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1788:23: '@ELSEIF'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1789:21: ( '@ELSEIF' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1789:23: '@ELSEIF'
 			{
 			match("@ELSEIF"); if (state.failed) return;
 
@@ -7583,8 +7585,8 @@
 		try {
 			int _type = SASS_FOR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1789:21: ( '@FOR' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1789:23: '@FOR'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1790:21: ( '@FOR' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1790:23: '@FOR'
 			{
 			match("@FOR"); if (state.failed) return;
 
@@ -7604,8 +7606,8 @@
 		try {
 			int _type = SASS_FUNCTION;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1790:21: ( '@FUNCTION' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1790:23: '@FUNCTION'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:21: ( '@FUNCTION' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:23: '@FUNCTION'
 			{
 			match("@FUNCTION"); if (state.failed) return;
 
@@ -7625,8 +7627,8 @@
 		try {
 			int _type = SASS_RETURN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1791:21: ( '@RETURN' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1791:23: '@RETURN'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:21: ( '@RETURN' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:23: '@RETURN'
 			{
 			match("@RETURN"); if (state.failed) return;
 
@@ -7646,8 +7648,8 @@
 		try {
 			int _type = SASS_EACH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1793:21: ( '@EACH' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1793:23: '@EACH'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:21: ( '@EACH' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:23: '@EACH'
 			{
 			match("@EACH"); if (state.failed) return;
 
@@ -7667,8 +7669,8 @@
 		try {
 			int _type = SASS_WHILE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1794:21: ( '@WHILE' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1794:23: '@WHILE'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1795:21: ( '@WHILE' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1795:23: '@WHILE'
 			{
 			match("@WHILE"); if (state.failed) return;
 
@@ -7688,8 +7690,8 @@
 		try {
 			int _type = SASS_AT_ROOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1795:21: ( '@AT-ROOT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1795:23: '@AT-ROOT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:21: ( '@AT-ROOT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:23: '@AT-ROOT'
 			{
 			match("@AT-ROOT"); if (state.failed) return;
 
@@ -7709,8 +7711,8 @@
 		try {
 			int _type = AT_SIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1797:21: ( '@' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1797:23: '@'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:21: ( '@' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:23: '@'
 			{
 			match('@'); if (state.failed) return;
 			}
@@ -7729,10 +7731,10 @@
 		try {
 			int _type = AT_IDENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) )
 			int alt178=2;
 			int LA178_0 = input.LA(1);
 			if ( (LA178_0=='@') ) {
@@ -7768,17 +7770,17 @@
 
 			switch (alt178) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:17: AT_SIGN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:17: AT_SIGN
 					{
 					mAT_SIGN(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:27: ( AT_SIGN AT_SIGN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:27: ( AT_SIGN AT_SIGN )
 					{
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:27: ( AT_SIGN AT_SIGN )
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:28: AT_SIGN AT_SIGN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:27: ( AT_SIGN AT_SIGN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:28: AT_SIGN AT_SIGN
 					{
 					mAT_SIGN(); if (state.failed) return;
 
@@ -7791,7 +7793,7 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:46: ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:46: ( NMCHAR )+
 			int cnt179=0;
 			loop179:
 			while (true) {
@@ -7803,7 +7805,7 @@
 
 				switch (alt179) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1798:46: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:46: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7835,11 +7837,11 @@
 		try {
 			int _type = SASS_VAR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1800:21: ( '$' ( NMCHAR )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1800:23: '$' ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:21: ( '$' ( NMCHAR )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:23: '$' ( NMCHAR )+
 			{
 			match('$'); if (state.failed) return;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1800:27: ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:27: ( NMCHAR )+
 			int cnt180=0;
 			loop180:
 			while (true) {
@@ -7851,7 +7853,7 @@
 
 				switch (alt180) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1800:27: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:27: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7883,8 +7885,8 @@
 		try {
 			int _type = SASS_DEFAULT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1801:21: ( '!DEFAULT' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1801:23: '!DEFAULT'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:21: ( '!DEFAULT' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:23: '!DEFAULT'
 			{
 			match("!DEFAULT"); if (state.failed) return;
 
@@ -7904,8 +7906,8 @@
 		try {
 			int _type = SASS_OPTIONAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1802:21: ( '!OPTIONAL' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1802:23: '!OPTIONAL'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1803:21: ( '!OPTIONAL' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1803:23: '!OPTIONAL'
 			{
 			match("!OPTIONAL"); if (state.failed) return;
 
@@ -7925,8 +7927,8 @@
 		try {
 			int _type = SASS_GLOBAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1803:21: ( '!GLOBAL' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1803:23: '!GLOBAL'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:21: ( '!GLOBAL' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:23: '!GLOBAL'
 			{
 			match("!GLOBAL"); if (state.failed) return;
 
@@ -7946,12 +7948,12 @@
 		try {
 			int _type = SASS_EXTEND_ONLY_SELECTOR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1806:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1806:23: PERCENTAGE_SYMBOL ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:23: PERCENTAGE_SYMBOL ( NMCHAR )+
 			{
 			mPERCENTAGE_SYMBOL(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1806:41: ( NMCHAR )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:41: ( NMCHAR )+
 			int cnt181=0;
 			loop181:
 			while (true) {
@@ -7963,7 +7965,7 @@
 
 				switch (alt181) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1806:41: NMCHAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:41: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7993,8 +7995,8 @@
 	// $ANTLR start "EMS"
 	public final void mEMS() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1818:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1818:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1819:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1819:26: 
 			{
 			}
 
@@ -8008,8 +8010,8 @@
 	// $ANTLR start "EXS"
 	public final void mEXS() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1819:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1819:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:26: 
 			{
 			}
 
@@ -8023,8 +8025,8 @@
 	// $ANTLR start "LENGTH"
 	public final void mLENGTH() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1820:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1820:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1821:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1821:26: 
 			{
 			}
 
@@ -8038,8 +8040,8 @@
 	// $ANTLR start "REM"
 	public final void mREM() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1821:18: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1821:19: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1822:18: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1822:19: 
 			{
 			}
 
@@ -8053,8 +8055,8 @@
 	// $ANTLR start "ANGLE"
 	public final void mANGLE() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1822:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1822:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:26: 
 			{
 			}
 
@@ -8068,8 +8070,8 @@
 	// $ANTLR start "TIME"
 	public final void mTIME() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1823:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1823:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1824:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1824:26: 
 			{
 			}
 
@@ -8083,8 +8085,8 @@
 	// $ANTLR start "FREQ"
 	public final void mFREQ() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1824:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1824:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1825:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1825:26: 
 			{
 			}
 
@@ -8098,8 +8100,8 @@
 	// $ANTLR start "DIMENSION"
 	public final void mDIMENSION() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1825:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1825:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:26: 
 			{
 			}
 
@@ -8113,8 +8115,8 @@
 	// $ANTLR start "PERCENTAGE"
 	public final void mPERCENTAGE() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1826:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1826:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1827:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1827:26: 
 			{
 			}
 
@@ -8128,8 +8130,8 @@
 	// $ANTLR start "RESOLUTION"
 	public final void mRESOLUTION() throws RecognitionException {
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1827:25: ()
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1827:26: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:25: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:26: 
 			{
 			}
 
@@ -8145,10 +8147,10 @@
 		try {
 			int _type = NUMBER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1830:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1830:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1830:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ )
 			int alt186=2;
 			int LA186_0 = input.LA(1);
 			if ( ((LA186_0 >= '0' && LA186_0 <= '9')) ) {
@@ -8167,9 +8169,9 @@
 
 			switch (alt186) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1831:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )?
 					{
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1831:15: ( '0' .. '9' )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:15: ( '0' .. '9' )+
 					int cnt182=0;
 					loop182:
 					while (true) {
@@ -8181,7 +8183,7 @@
 
 						switch (alt182) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -8205,7 +8207,7 @@
 						cnt182++;
 					}
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1831:25: ( '.' ( '0' .. '9' )+ )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:25: ( '.' ( '0' .. '9' )+ )?
 					int alt184=2;
 					int LA184_0 = input.LA(1);
 					if ( (LA184_0=='.') ) {
@@ -8213,10 +8215,10 @@
 					}
 					switch (alt184) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1831:26: '.' ( '0' .. '9' )+
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:26: '.' ( '0' .. '9' )+
 							{
 							match('.'); if (state.failed) return;
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1831:30: ( '0' .. '9' )+
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:30: ( '0' .. '9' )+
 							int cnt183=0;
 							loop183:
 							while (true) {
@@ -8228,7 +8230,7 @@
 
 								switch (alt183) {
 								case 1 :
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 									{
 									if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 										input.consume();
@@ -8260,10 +8262,10 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1832:15: '.' ( '0' .. '9' )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:15: '.' ( '0' .. '9' )+
 					{
 					match('.'); if (state.failed) return;
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1832:19: ( '0' .. '9' )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:19: ( '0' .. '9' )+
 					int cnt185=0;
 					loop185:
 					while (true) {
@@ -8275,7 +8277,7 @@
 
 						switch (alt185) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
 								input.consume();
@@ -8304,18 +8306,18 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1834:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1835:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
 			int alt193=13;
 			alt193 = dfa193.predict(input);
 			switch (alt193) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:15: ( D P ( I | C ) )=> D P ( I | C M )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:15: ( D P ( I | C ) )=> D P ( I | C M )
 					{
 					mD(); if (state.failed) return;
 
 					mP(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1837:17: ( I | C M )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1838:17: ( I | C M )
 					int alt187=2;
 					switch ( input.LA(1) ) {
 					case 'I':
@@ -8567,14 +8569,14 @@
 					}
 					switch (alt187) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1838:22: I
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:22: I
 							{
 							mI(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1838:26: C M
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:26: C M
 							{
 							mC(); if (state.failed) return;
 
@@ -8589,11 +8591,11 @@
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:15: ( E ( M | X ) )=> E ( M | X )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:15: ( E ( M | X ) )=> E ( M | X )
 					{
 					mE(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1844:17: ( M | X )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1845:17: ( M | X )
 					int alt188=2;
 					switch ( input.LA(1) ) {
 					case 'M':
@@ -8769,7 +8771,7 @@
 					}
 					switch (alt188) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1845:23: M
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:23: M
 							{
 							mM(); if (state.failed) return;
 
@@ -8777,7 +8779,7 @@
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1846:23: X
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1847:23: X
 							{
 							mX(); if (state.failed) return;
 
@@ -8790,11 +8792,11 @@
 					}
 					break;
 				case 3 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:15: ( P ( X | T | C ) )=> P ( X | T | C )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:15: ( P ( X | T | C ) )=> P ( X | T | C )
 					{
 					mP(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1850:17: ( X | T | C )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:17: ( X | T | C )
 					int alt189=3;
 					switch ( input.LA(1) ) {
 					case 'X':
@@ -9094,21 +9096,21 @@
 					}
 					switch (alt189) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1851:23: X
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1852:23: X
 							{
 							mX(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1852:23: T
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1853:23: T
 							{
 							mT(); if (state.failed) return;
 
 							}
 							break;
 						case 3 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1853:23: C
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:23: C
 							{
 							mC(); if (state.failed) return;
 
@@ -9121,7 +9123,7 @@
 					}
 					break;
 				case 4 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1856:15: ( C M )=> C M
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:15: ( C M )=> C M
 					{
 					mC(); if (state.failed) return;
 
@@ -9131,11 +9133,11 @@
 					}
 					break;
 				case 5 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:15: ( M ( M | S ) )=> M ( M | S )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:15: ( M ( M | S ) )=> M ( M | S )
 					{
 					mM(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1860:17: ( M | S )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:17: ( M | S )
 					int alt190=2;
 					switch ( input.LA(1) ) {
 					case 'M':
@@ -9311,7 +9313,7 @@
 					}
 					switch (alt190) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1861:23: M
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:23: M
 							{
 							mM(); if (state.failed) return;
 
@@ -9319,7 +9321,7 @@
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1863:23: S
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1864:23: S
 							{
 							mS(); if (state.failed) return;
 
@@ -9332,7 +9334,7 @@
 					}
 					break;
 				case 6 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1865:15: ( I N )=> I N
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1866:15: ( I N )=> I N
 					{
 					mI(); if (state.failed) return;
 
@@ -9342,7 +9344,7 @@
 					}
 					break;
 				case 7 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1868:15: ( D E G )=> D E G
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:15: ( D E G )=> D E G
 					{
 					mD(); if (state.failed) return;
 
@@ -9354,11 +9356,11 @@
 					}
 					break;
 				case 8 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:15: ( R ( A | E ) )=> R ( A D | E M )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:15: ( R ( A | E ) )=> R ( A D | E M )
 					{
 					mR(); if (state.failed) return;
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1875:17: ( A D | E M )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1876:17: ( A D | E M )
 					int alt191=2;
 					switch ( input.LA(1) ) {
 					case 'A':
@@ -9601,7 +9603,7 @@
 					}
 					switch (alt191) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1876:20: A D
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:20: A D
 							{
 							mA(); if (state.failed) return;
 
@@ -9611,7 +9613,7 @@
 							}
 							break;
 						case 2 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1877:20: E M
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:20: E M
 							{
 							mE(); if (state.failed) return;
 
@@ -9626,7 +9628,7 @@
 					}
 					break;
 				case 9 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1880:15: ( S )=> S
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1881:15: ( S )=> S
 					{
 					mS(); if (state.failed) return;
 
@@ -9634,9 +9636,9 @@
 					}
 					break;
 				case 10 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1882:15: ( ( K )? H Z )=> ( K )? H Z
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:15: ( ( K )? H Z )=> ( K )? H Z
 					{
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1883:17: ( K )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1884:17: ( K )?
 					int alt192=2;
 					int LA192_0 = input.LA(1);
 					if ( (LA192_0=='K'||LA192_0=='k') ) {
@@ -9701,7 +9703,7 @@
 					}
 					switch (alt192) {
 						case 1 :
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1883:17: K
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1884:17: K
 							{
 							mK(); if (state.failed) return;
 
@@ -9718,7 +9720,7 @@
 					}
 					break;
 				case 11 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1885:15: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1886:15: IDENT
 					{
 					mIDENT(); if (state.failed) return;
 
@@ -9726,7 +9728,7 @@
 					}
 					break;
 				case 12 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1887:15: PERCENTAGE_SYMBOL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1888:15: PERCENTAGE_SYMBOL
 					{
 					mPERCENTAGE_SYMBOL(); if (state.failed) return;
 
@@ -9734,7 +9736,7 @@
 					}
 					break;
 				case 13 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1890:9: 
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1891:9: 
 					{
 					}
 					break;
@@ -9757,8 +9759,8 @@
 		try {
 			int _type = URI;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1896:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1896:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1897:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1897:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			mU(); if (state.failed) return;
 
@@ -9767,7 +9769,7 @@
 			mL(); if (state.failed) return;
 
 			match('('); if (state.failed) return;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:13: ( ( WS )=> WS )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:13: ( ( WS )=> WS )?
 			int alt194=2;
 			int LA194_0 = input.LA(1);
 			if ( (LA194_0=='\t'||LA194_0==' ') ) {
@@ -9778,7 +9780,7 @@
 			}
 			switch (alt194) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:14: ( WS )=> WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9787,7 +9789,7 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:25: ( URL | STRING )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:25: ( URL | STRING )
 			int alt195=2;
 			int LA195_0 = input.LA(1);
 			if ( (LA195_0=='\t'||(LA195_0 >= ' ' && LA195_0 <= '!')||(LA195_0 >= '#' && LA195_0 <= '&')||(LA195_0 >= ')' && LA195_0 <= ';')||LA195_0=='='||(LA195_0 >= '?' && LA195_0 <= '\\')||LA195_0=='_'||(LA195_0 >= 'a' && LA195_0 <= '~')||(LA195_0 >= '\u0080' && LA195_0 <= '\uFFFF')) ) {
@@ -9806,14 +9808,14 @@
 
 			switch (alt195) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:26: URL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:30: STRING
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -9822,7 +9824,7 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:38: ( WS )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:38: ( WS )?
 			int alt196=2;
 			int LA196_0 = input.LA(1);
 			if ( (LA196_0=='\t'||LA196_0==' ') ) {
@@ -9830,7 +9832,7 @@
 			}
 			switch (alt196) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:38: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9851,28 +9853,173 @@
 	}
 	// $ANTLR end "URI"
 
+	// $ANTLR start "HEXCHAR_WILDCARD"
+	public final void mHEXCHAR_WILDCARD() throws RecognitionException {
+		try {
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1903:26: ( '?' | HEXCHAR )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
+			{
+			if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
+				input.consume();
+				state.failed=false;
+			}
+			else {
+				if (state.backtracking>0) {state.failed=true; return;}
+				MismatchedSetException mse = new MismatchedSetException(null,input);
+				recover(mse);
+				throw mse;
+			}
+			}
+
+		}
+		finally {
+			// do for sure before leaving
+		}
+	}
+	// $ANTLR end "HEXCHAR_WILDCARD"
+
+	// $ANTLR start "URANGE"
+	public final void mURANGE() throws RecognitionException {
+		try {
+			int _type = URANGE;
+			int _channel = DEFAULT_TOKEN_CHANNEL;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:7: ( ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:9: ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )?
+			{
+			if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
+				input.consume();
+				state.failed=false;
+			}
+			else {
+				if (state.backtracking>0) {state.failed=true; return;}
+				MismatchedSetException mse = new MismatchedSetException(null,input);
+				recover(mse);
+				throw mse;
+			}
+			mPLUS(); if (state.failed) return;
+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:24: ( HEXCHAR_WILDCARD )+
+			int cnt197=0;
+			loop197:
+			while (true) {
+				int alt197=2;
+				int LA197_0 = input.LA(1);
+				if ( ((LA197_0 >= '0' && LA197_0 <= '9')||LA197_0=='?'||(LA197_0 >= 'A' && LA197_0 <= 'F')||(LA197_0 >= 'a' && LA197_0 <= 'f')) ) {
+					alt197=1;
+				}
+
+				switch (alt197) {
+				case 1 :
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
+					{
+					if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
+						input.consume();
+						state.failed=false;
+					}
+					else {
+						if (state.backtracking>0) {state.failed=true; return;}
+						MismatchedSetException mse = new MismatchedSetException(null,input);
+						recover(mse);
+						throw mse;
+					}
+					}
+					break;
+
+				default :
+					if ( cnt197 >= 1 ) break loop197;
+					if (state.backtracking>0) {state.failed=true; return;}
+					EarlyExitException eee = new EarlyExitException(197, input);
+					throw eee;
+				}
+				cnt197++;
+			}
+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:42: ( MINUS ( HEXCHAR_WILDCARD )+ )?
+			int alt199=2;
+			int LA199_0 = input.LA(1);
+			if ( (LA199_0=='-') ) {
+				alt199=1;
+			}
+			switch (alt199) {
+				case 1 :
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:43: MINUS ( HEXCHAR_WILDCARD )+
+					{
+					mMINUS(); if (state.failed) return;
+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1905:49: ( HEXCHAR_WILDCARD )+
+					int cnt198=0;
+					loop198:
+					while (true) {
+						int alt198=2;
+						int LA198_0 = input.LA(1);
+						if ( ((LA198_0 >= '0' && LA198_0 <= '9')||LA198_0=='?'||(LA198_0 >= 'A' && LA198_0 <= 'F')||(LA198_0 >= 'a' && LA198_0 <= 'f')) ) {
+							alt198=1;
+						}
+
+						switch (alt198) {
+						case 1 :
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
+							{
+							if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
+								input.consume();
+								state.failed=false;
+							}
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								MismatchedSetException mse = new MismatchedSetException(null,input);
+								recover(mse);
+								throw mse;
+							}
+							}
+							break;
+
+						default :
+							if ( cnt198 >= 1 ) break loop198;
+							if (state.backtracking>0) {state.failed=true; return;}
+							EarlyExitException eee = new EarlyExitException(198, input);
+							throw eee;
+						}
+						cnt198++;
+					}
+
+					}
+					break;
+
+			}
+
+			}
+
+			state.type = _type;
+			state.channel = _channel;
+		}
+		finally {
+			// do for sure before leaving
+		}
+	}
+	// $ANTLR end "URANGE"
+
 	// $ANTLR start "MOZ_URL_PREFIX"
 	public final void mMOZ_URL_PREFIX() throws RecognitionException {
 		try {
 			int _type = MOZ_URL_PREFIX;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1903:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1904:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1908:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1909:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			match("URL-PREFIX("); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:13: ( ( WS )=> WS )?
-			int alt197=2;
-			int LA197_0 = input.LA(1);
-			if ( (LA197_0=='\t'||LA197_0==' ') ) {
-				int LA197_1 = input.LA(2);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:13: ( ( WS )=> WS )?
+			int alt200=2;
+			int LA200_0 = input.LA(1);
+			if ( (LA200_0=='\t'||LA200_0==' ') ) {
+				int LA200_1 = input.LA(2);
 				if ( (synpred14_Css3()) ) {
-					alt197=1;
+					alt200=1;
 				}
 			}
-			switch (alt197) {
+			switch (alt200) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:14: ( WS )=> WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9881,33 +10028,33 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:25: ( URL | STRING )
-			int alt198=2;
-			int LA198_0 = input.LA(1);
-			if ( (LA198_0=='\t'||(LA198_0 >= ' ' && LA198_0 <= '!')||(LA198_0 >= '#' && LA198_0 <= '&')||(LA198_0 >= ')' && LA198_0 <= ';')||LA198_0=='='||(LA198_0 >= '?' && LA198_0 <= '\\')||LA198_0=='_'||(LA198_0 >= 'a' && LA198_0 <= '~')||(LA198_0 >= '\u0080' && LA198_0 <= '\uFFFF')) ) {
-				alt198=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:25: ( URL | STRING )
+			int alt201=2;
+			int LA201_0 = input.LA(1);
+			if ( (LA201_0=='\t'||(LA201_0 >= ' ' && LA201_0 <= '!')||(LA201_0 >= '#' && LA201_0 <= '&')||(LA201_0 >= ')' && LA201_0 <= ';')||LA201_0=='='||(LA201_0 >= '?' && LA201_0 <= '\\')||LA201_0=='_'||(LA201_0 >= 'a' && LA201_0 <= '~')||(LA201_0 >= '\u0080' && LA201_0 <= '\uFFFF')) ) {
+				alt201=1;
 			}
-			else if ( (LA198_0=='\"'||LA198_0=='\'') ) {
-				alt198=2;
+			else if ( (LA201_0=='\"'||LA201_0=='\'') ) {
+				alt201=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 198, 0, input);
+					new NoViableAltException("", 201, 0, input);
 				throw nvae;
 			}
 
-			switch (alt198) {
+			switch (alt201) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:26: URL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:30: STRING
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -9916,15 +10063,15 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:38: ( WS )?
-			int alt199=2;
-			int LA199_0 = input.LA(1);
-			if ( (LA199_0=='\t'||LA199_0==' ') ) {
-				alt199=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:38: ( WS )?
+			int alt202=2;
+			int LA202_0 = input.LA(1);
+			if ( (LA202_0=='\t'||LA202_0==' ') ) {
+				alt202=1;
 			}
-			switch (alt199) {
+			switch (alt202) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:38: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9950,23 +10097,23 @@
 		try {
 			int _type = MOZ_DOMAIN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1911:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1912:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1916:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1917:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			match("DOMAIN("); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:13: ( ( WS )=> WS )?
-			int alt200=2;
-			int LA200_0 = input.LA(1);
-			if ( (LA200_0=='\t'||LA200_0==' ') ) {
-				int LA200_1 = input.LA(2);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:13: ( ( WS )=> WS )?
+			int alt203=2;
+			int LA203_0 = input.LA(1);
+			if ( (LA203_0=='\t'||LA203_0==' ') ) {
+				int LA203_1 = input.LA(2);
 				if ( (synpred15_Css3()) ) {
-					alt200=1;
+					alt203=1;
 				}
 			}
-			switch (alt200) {
+			switch (alt203) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:14: ( WS )=> WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9975,33 +10122,33 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:25: ( URL | STRING )
-			int alt201=2;
-			int LA201_0 = input.LA(1);
-			if ( (LA201_0=='\t'||(LA201_0 >= ' ' && LA201_0 <= '!')||(LA201_0 >= '#' && LA201_0 <= '&')||(LA201_0 >= ')' && LA201_0 <= ';')||LA201_0=='='||(LA201_0 >= '?' && LA201_0 <= '\\')||LA201_0=='_'||(LA201_0 >= 'a' && LA201_0 <= '~')||(LA201_0 >= '\u0080' && LA201_0 <= '\uFFFF')) ) {
-				alt201=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:25: ( URL | STRING )
+			int alt204=2;
+			int LA204_0 = input.LA(1);
+			if ( (LA204_0=='\t'||(LA204_0 >= ' ' && LA204_0 <= '!')||(LA204_0 >= '#' && LA204_0 <= '&')||(LA204_0 >= ')' && LA204_0 <= ';')||LA204_0=='='||(LA204_0 >= '?' && LA204_0 <= '\\')||LA204_0=='_'||(LA204_0 >= 'a' && LA204_0 <= '~')||(LA204_0 >= '\u0080' && LA204_0 <= '\uFFFF')) ) {
+				alt204=1;
 			}
-			else if ( (LA201_0=='\"'||LA201_0=='\'') ) {
-				alt201=2;
+			else if ( (LA204_0=='\"'||LA204_0=='\'') ) {
+				alt204=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 201, 0, input);
+					new NoViableAltException("", 204, 0, input);
 				throw nvae;
 			}
 
-			switch (alt201) {
+			switch (alt204) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:26: URL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:30: STRING
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -10010,15 +10157,15 @@
 
 			}
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:38: ( WS )?
-			int alt202=2;
-			int LA202_0 = input.LA(1);
-			if ( (LA202_0=='\t'||LA202_0==' ') ) {
-				alt202=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:38: ( WS )?
+			int alt205=2;
+			int LA205_0 = input.LA(1);
+			if ( (LA205_0=='\t'||LA205_0==' ') ) {
+				alt205=1;
 			}
-			switch (alt202) {
+			switch (alt205) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:38: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -10044,20 +10191,20 @@
 		try {
 			int _type = MOZ_REGEXP;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1919:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1920:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1924:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1925:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')'
 			{
 			match("REGEXP("); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:13: ( ( WS )=> WS )?
-			int alt203=2;
-			int LA203_0 = input.LA(1);
-			if ( (LA203_0=='\t'||LA203_0==' ') && (synpred16_Css3())) {
-				alt203=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:13: ( ( WS )=> WS )?
+			int alt206=2;
+			int LA206_0 = input.LA(1);
+			if ( (LA206_0=='\t'||LA206_0==' ') && (synpred16_Css3())) {
+				alt206=1;
 			}
-			switch (alt203) {
+			switch (alt206) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:14: ( WS )=> WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -10068,15 +10215,15 @@
 
 			mSTRING(); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:32: ( WS )?
-			int alt204=2;
-			int LA204_0 = input.LA(1);
-			if ( (LA204_0=='\t'||LA204_0==' ') ) {
-				alt204=1;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:32: ( WS )?
+			int alt207=2;
+			int LA207_0 = input.LA(1);
+			if ( (LA207_0=='\t'||LA207_0==' ') ) {
+				alt207=1;
 			}
-			switch (alt204) {
+			switch (alt207) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:32: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:32: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -10102,22 +10249,22 @@
 		try {
 			int _type = WS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1932:5: ( ( ' ' | '\\t' )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1933:5: ( ' ' | '\\t' )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1937:5: ( ( ' ' | '\\t' )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1938:5: ( ' ' | '\\t' )+
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1933:5: ( ' ' | '\\t' )+
-			int cnt205=0;
-			loop205:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1938:5: ( ' ' | '\\t' )+
+			int cnt208=0;
+			loop208:
 			while (true) {
-				int alt205=2;
-				int LA205_0 = input.LA(1);
-				if ( (LA205_0=='\t'||LA205_0==' ') ) {
-					alt205=1;
+				int alt208=2;
+				int LA208_0 = input.LA(1);
+				if ( (LA208_0=='\t'||LA208_0==' ') ) {
+					alt208=1;
 				}
 
-				switch (alt205) {
+				switch (alt208) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
 						input.consume();
@@ -10133,12 +10280,12 @@
 					break;
 
 				default :
-					if ( cnt205 >= 1 ) break loop205;
+					if ( cnt208 >= 1 ) break loop208;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(205, input);
+					EarlyExitException eee = new EarlyExitException(208, input);
 					throw eee;
 				}
-				cnt205++;
+				cnt208++;
 			}
 
 			}
@@ -10157,22 +10304,22 @@
 		try {
 			int _type = NL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1937:5: ( ( '\\r' | '\\n' )+ )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1939:5: ( '\\r' | '\\n' )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:5: ( ( '\\r' | '\\n' )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:5: ( '\\r' | '\\n' )+
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1939:5: ( '\\r' | '\\n' )+
-			int cnt206=0;
-			loop206:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:5: ( '\\r' | '\\n' )+
+			int cnt209=0;
+			loop209:
 			while (true) {
-				int alt206=2;
-				int LA206_0 = input.LA(1);
-				if ( (LA206_0=='\n'||LA206_0=='\r') ) {
-					alt206=1;
+				int alt209=2;
+				int LA209_0 = input.LA(1);
+				if ( (LA209_0=='\n'||LA209_0=='\r') ) {
+					alt209=1;
 				}
 
-				switch (alt206) {
+				switch (alt209) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
 						input.consume();
@@ -10188,12 +10335,12 @@
 					break;
 
 				default :
-					if ( cnt206 >= 1 ) break loop206;
+					if ( cnt209 >= 1 ) break loop209;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(206, input);
+					EarlyExitException eee = new EarlyExitException(209, input);
 					throw eee;
 				}
-				cnt206++;
+				cnt209++;
 			}
 
 			}
@@ -10212,43 +10359,43 @@
 		try {
 			int _type = COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1945:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1946:5: '/*' ( options {greedy=false; } : ( . )* ) '*/'
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1950:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:5: '/*' ( options {greedy=false; } : ( . )* ) '*/'
 			{
 			match("/*"); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1946:10: ( options {greedy=false; } : ( . )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1946:40: ( . )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:10: ( options {greedy=false; } : ( . )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:40: ( . )*
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1946:40: ( . )*
-			loop207:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:40: ( . )*
+			loop210:
 			while (true) {
-				int alt207=2;
-				int LA207_0 = input.LA(1);
-				if ( (LA207_0=='*') ) {
-					int LA207_1 = input.LA(2);
-					if ( (LA207_1=='/') ) {
-						alt207=2;
+				int alt210=2;
+				int LA210_0 = input.LA(1);
+				if ( (LA210_0=='*') ) {
+					int LA210_1 = input.LA(2);
+					if ( (LA210_1=='/') ) {
+						alt210=2;
 					}
-					else if ( ((LA207_1 >= '\u0000' && LA207_1 <= '.')||(LA207_1 >= '0' && LA207_1 <= '\uFFFF')) ) {
-						alt207=1;
+					else if ( ((LA210_1 >= '\u0000' && LA210_1 <= '.')||(LA210_1 >= '0' && LA210_1 <= '\uFFFF')) ) {
+						alt210=1;
 					}
 
 				}
-				else if ( ((LA207_0 >= '\u0000' && LA207_0 <= ')')||(LA207_0 >= '+' && LA207_0 <= '\uFFFF')) ) {
-					alt207=1;
+				else if ( ((LA210_0 >= '\u0000' && LA210_0 <= ')')||(LA210_0 >= '+' && LA210_0 <= '\uFFFF')) ) {
+					alt210=1;
 				}
 
-				switch (alt207) {
+				switch (alt210) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1946:40: .
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:40: .
 					{
 					matchAny(); if (state.failed) return;
 					}
 					break;
 
 				default :
-					break loop207;
+					break loop210;
 				}
 			}
 
@@ -10272,26 +10419,26 @@
 		try {
 			int _type = LINE_COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1950:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1951:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1955:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
 			{
 			match("//"); if (state.failed) return;
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1951:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1951:39: (~ ( '\\r' | '\\n' ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:39: (~ ( '\\r' | '\\n' ) )*
 			{
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1951:39: (~ ( '\\r' | '\\n' ) )*
-			loop208:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:39: (~ ( '\\r' | '\\n' ) )*
+			loop211:
 			while (true) {
-				int alt208=2;
-				int LA208_0 = input.LA(1);
-				if ( ((LA208_0 >= '\u0000' && LA208_0 <= '\t')||(LA208_0 >= '\u000B' && LA208_0 <= '\f')||(LA208_0 >= '\u000E' && LA208_0 <= '\uFFFF')) ) {
-					alt208=1;
+				int alt211=2;
+				int LA211_0 = input.LA(1);
+				if ( ((LA211_0 >= '\u0000' && LA211_0 <= '\t')||(LA211_0 >= '\u000B' && LA211_0 <= '\f')||(LA211_0 >= '\u000E' && LA211_0 <= '\uFFFF')) ) {
+					alt211=1;
 				}
 
-				switch (alt208) {
+				switch (alt211) {
 				case 1 :
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					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();
@@ -10307,7 +10454,7 @@
 					break;
 
 				default :
-					break loop208;
+					break loop211;
 				}
 			}
 
@@ -10329,726 +10476,733 @@
 
 	@Override
 	public void mTokens() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT )
-		int alt209=103;
-		alt209 = dfa209.predict(input);
-		switch (alt209) {
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT )
+		int alt212=104;
+		alt212 = dfa212.predict(input);
+		switch (alt212) {
 			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:10: GEN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:10: GEN
 				{
 				mGEN(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:14: CDO
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:14: CDO
 				{
 				mCDO(); if (state.failed) return;
 
 				}
 				break;
 			case 3 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:18: CDC
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:18: CDC
 				{
 				mCDC(); if (state.failed) return;
 
 				}
 				break;
 			case 4 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:22: INCLUDES
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:22: INCLUDES
 				{
 				mINCLUDES(); if (state.failed) return;
 
 				}
 				break;
 			case 5 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:31: DASHMATCH
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:31: DASHMATCH
 				{
 				mDASHMATCH(); if (state.failed) return;
 
 				}
 				break;
 			case 6 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:41: BEGINS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:41: BEGINS
 				{
 				mBEGINS(); if (state.failed) return;
 
 				}
 				break;
 			case 7 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:48: ENDS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:48: ENDS
 				{
 				mENDS(); if (state.failed) return;
 
 				}
 				break;
 			case 8 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:53: CONTAINS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:53: CONTAINS
 				{
 				mCONTAINS(); if (state.failed) return;
 
 				}
 				break;
 			case 9 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:62: GREATER
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:62: GREATER
 				{
 				mGREATER(); if (state.failed) return;
 
 				}
 				break;
 			case 10 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:70: LBRACE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:70: LBRACE
 				{
 				mLBRACE(); if (state.failed) return;
 
 				}
 				break;
 			case 11 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:77: RBRACE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:77: RBRACE
 				{
 				mRBRACE(); if (state.failed) return;
 
 				}
 				break;
 			case 12 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:84: LBRACKET
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:84: LBRACKET
 				{
 				mLBRACKET(); if (state.failed) return;
 
 				}
 				break;
 			case 13 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:93: RBRACKET
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:93: RBRACKET
 				{
 				mRBRACKET(); if (state.failed) return;
 
 				}
 				break;
 			case 14 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:102: OPEQ
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:102: OPEQ
 				{
 				mOPEQ(); if (state.failed) return;
 
 				}
 				break;
 			case 15 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:107: SEMI
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:107: SEMI
 				{
 				mSEMI(); if (state.failed) return;
 
 				}
 				break;
 			case 16 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:112: COLON
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:112: COLON
 				{
 				mCOLON(); if (state.failed) return;
 
 				}
 				break;
 			case 17 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:118: DCOLON
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:118: DCOLON
 				{
 				mDCOLON(); if (state.failed) return;
 
 				}
 				break;
 			case 18 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:125: SOLIDUS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:125: SOLIDUS
 				{
 				mSOLIDUS(); if (state.failed) return;
 
 				}
 				break;
 			case 19 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:133: MINUS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:133: MINUS
 				{
 				mMINUS(); if (state.failed) return;
 
 				}
 				break;
 			case 20 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:139: PLUS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:139: PLUS
 				{
 				mPLUS(); if (state.failed) return;
 
 				}
 				break;
 			case 21 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:144: STAR
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:144: STAR
 				{
 				mSTAR(); if (state.failed) return;
 
 				}
 				break;
 			case 22 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:149: LPAREN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:149: LPAREN
 				{
 				mLPAREN(); if (state.failed) return;
 
 				}
 				break;
 			case 23 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:156: RPAREN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:156: RPAREN
 				{
 				mRPAREN(); if (state.failed) return;
 
 				}
 				break;
 			case 24 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:163: COMMA
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:163: COMMA
 				{
 				mCOMMA(); if (state.failed) return;
 
 				}
 				break;
 			case 25 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:169: DOT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:169: DOT
 				{
 				mDOT(); if (state.failed) return;
 
 				}
 				break;
 			case 26 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:173: TILDE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:173: TILDE
 				{
 				mTILDE(); if (state.failed) return;
 
 				}
 				break;
 			case 27 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:179: PIPE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:179: PIPE
 				{
 				mPIPE(); if (state.failed) return;
 
 				}
 				break;
 			case 28 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:184: PERCENTAGE_SYMBOL
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:184: PERCENTAGE_SYMBOL
 				{
 				mPERCENTAGE_SYMBOL(); if (state.failed) return;
 
 				}
 				break;
 			case 29 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:202: EXCLAMATION_MARK
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:202: EXCLAMATION_MARK
 				{
 				mEXCLAMATION_MARK(); if (state.failed) return;
 
 				}
 				break;
 			case 30 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:219: CP_EQ
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:219: CP_EQ
 				{
 				mCP_EQ(); if (state.failed) return;
 
 				}
 				break;
 			case 31 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:225: CP_NOT_EQ
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:225: CP_NOT_EQ
 				{
 				mCP_NOT_EQ(); if (state.failed) return;
 
 				}
 				break;
 			case 32 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:235: LESS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:235: LESS
 				{
 				mLESS(); if (state.failed) return;
 
 				}
 				break;
 			case 33 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:240: GREATER_OR_EQ
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:240: GREATER_OR_EQ
 				{
 				mGREATER_OR_EQ(); if (state.failed) return;
 
 				}
 				break;
 			case 34 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:254: LESS_OR_EQ
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:254: LESS_OR_EQ
 				{
 				mLESS_OR_EQ(); if (state.failed) return;
 
 				}
 				break;
 			case 35 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:265: LESS_AND
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:265: LESS_AND
 				{
 				mLESS_AND(); if (state.failed) return;
 
 				}
 				break;
 			case 36 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:274: CP_DOTS
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:274: CP_DOTS
 				{
 				mCP_DOTS(); if (state.failed) return;
 
 				}
 				break;
 			case 37 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:282: LESS_REST
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:282: LESS_REST
 				{
 				mLESS_REST(); if (state.failed) return;
 
 				}
 				break;
 			case 38 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:292: STRING
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:292: STRING
 				{
 				mSTRING(); if (state.failed) return;
 
 				}
 				break;
 			case 39 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:299: LESS_JS_STRING
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:299: LESS_JS_STRING
 				{
 				mLESS_JS_STRING(); if (state.failed) return;
 
 				}
 				break;
 			case 40 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:314: NOT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:314: NOT
 				{
 				mNOT(); if (state.failed) return;
 
 				}
 				break;
 			case 41 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:318: VARIABLE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:318: VARIABLE
 				{
 				mVARIABLE(); if (state.failed) return;
 
 				}
 				break;
 			case 42 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:327: IDENT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:327: IDENT
 				{
 				mIDENT(); if (state.failed) return;
 
 				}
 				break;
 			case 43 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:333: HASH_SYMBOL
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:333: HASH_SYMBOL
 				{
 				mHASH_SYMBOL(); if (state.failed) return;
 
 				}
 				break;
 			case 44 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:345: HASH
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:345: HASH
 				{
 				mHASH(); if (state.failed) return;
 
 				}
 				break;
 			case 45 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:350: IMPORTANT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:350: IMPORTANT_SYM
 				{
 				mIMPORTANT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 46 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:364: IMPORT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:364: IMPORT_SYM
 				{
 				mIMPORT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 47 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:375: PAGE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:375: PAGE_SYM
 				{
 				mPAGE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 48 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:384: MEDIA_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:384: MEDIA_SYM
 				{
 				mMEDIA_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 49 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:394: NAMESPACE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:394: NAMESPACE_SYM
 				{
 				mNAMESPACE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 50 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:408: CHARSET_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:408: CHARSET_SYM
 				{
 				mCHARSET_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 51 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:420: COUNTER_STYLE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:420: COUNTER_STYLE_SYM
 				{
 				mCOUNTER_STYLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 52 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:438: FONT_FACE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:438: FONT_FACE_SYM
 				{
 				mFONT_FACE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 53 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:452: SUPPORTS_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:452: SUPPORTS_SYM
 				{
 				mSUPPORTS_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 54 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:465: TOPLEFTCORNER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:465: TOPLEFTCORNER_SYM
 				{
 				mTOPLEFTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 55 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:483: TOPLEFT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:483: TOPLEFT_SYM
 				{
 				mTOPLEFT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 56 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:495: TOPCENTER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:495: TOPCENTER_SYM
 				{
 				mTOPCENTER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 57 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:509: TOPRIGHT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:509: TOPRIGHT_SYM
 				{
 				mTOPRIGHT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 58 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:522: TOPRIGHTCORNER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:522: TOPRIGHTCORNER_SYM
 				{
 				mTOPRIGHTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 59 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:541: BOTTOMLEFTCORNER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:541: BOTTOMLEFTCORNER_SYM
 				{
 				mBOTTOMLEFTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 60 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:562: BOTTOMLEFT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:562: BOTTOMLEFT_SYM
 				{
 				mBOTTOMLEFT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 61 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:577: BOTTOMCENTER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:577: BOTTOMCENTER_SYM
 				{
 				mBOTTOMCENTER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 62 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:594: BOTTOMRIGHT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:594: BOTTOMRIGHT_SYM
 				{
 				mBOTTOMRIGHT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 63 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:610: BOTTOMRIGHTCORNER_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:610: BOTTOMRIGHTCORNER_SYM
 				{
 				mBOTTOMRIGHTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 64 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:632: LEFTTOP_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:632: LEFTTOP_SYM
 				{
 				mLEFTTOP_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 65 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:644: LEFTMIDDLE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:644: LEFTMIDDLE_SYM
 				{
 				mLEFTMIDDLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 66 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:659: LEFTBOTTOM_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:659: LEFTBOTTOM_SYM
 				{
 				mLEFTBOTTOM_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 67 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:674: RIGHTTOP_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:674: RIGHTTOP_SYM
 				{
 				mRIGHTTOP_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 68 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:687: RIGHTMIDDLE_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:687: RIGHTMIDDLE_SYM
 				{
 				mRIGHTMIDDLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 69 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:703: RIGHTBOTTOM_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:703: RIGHTBOTTOM_SYM
 				{
 				mRIGHTBOTTOM_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 70 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:719: MOZ_DOCUMENT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:719: MOZ_DOCUMENT_SYM
 				{
 				mMOZ_DOCUMENT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 71 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:736: WEBKIT_KEYFRAMES_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:736: WEBKIT_KEYFRAMES_SYM
 				{
 				mWEBKIT_KEYFRAMES_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 72 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:757: SASS_CONTENT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:757: SASS_CONTENT
 				{
 				mSASS_CONTENT(); if (state.failed) return;
 
 				}
 				break;
 			case 73 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:770: SASS_MIXIN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:770: SASS_MIXIN
 				{
 				mSASS_MIXIN(); if (state.failed) return;
 
 				}
 				break;
 			case 74 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:781: SASS_INCLUDE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:781: SASS_INCLUDE
 				{
 				mSASS_INCLUDE(); if (state.failed) return;
 
 				}
 				break;
 			case 75 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:794: SASS_EXTEND
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:794: SASS_EXTEND
 				{
 				mSASS_EXTEND(); if (state.failed) return;
 
 				}
 				break;
 			case 76 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:806: SASS_DEBUG
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:806: SASS_DEBUG
 				{
 				mSASS_DEBUG(); if (state.failed) return;
 
 				}
 				break;
 			case 77 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:817: SASS_ERROR
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:817: SASS_ERROR
 				{
 				mSASS_ERROR(); if (state.failed) return;
 
 				}
 				break;
 			case 78 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:828: SASS_WARN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:828: SASS_WARN
 				{
 				mSASS_WARN(); if (state.failed) return;
 
 				}
 				break;
 			case 79 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:838: SASS_IF
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:838: SASS_IF
 				{
 				mSASS_IF(); if (state.failed) return;
 
 				}
 				break;
 			case 80 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:846: SASS_ELSE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:846: SASS_ELSE
 				{
 				mSASS_ELSE(); if (state.failed) return;
 
 				}
 				break;
 			case 81 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:856: SASS_ELSEIF
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:856: SASS_ELSEIF
 				{
 				mSASS_ELSEIF(); if (state.failed) return;
 
 				}
 				break;
 			case 82 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:868: SASS_FOR
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:868: SASS_FOR
 				{
 				mSASS_FOR(); if (state.failed) return;
 
 				}
 				break;
 			case 83 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:877: SASS_FUNCTION
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:877: SASS_FUNCTION
 				{
 				mSASS_FUNCTION(); if (state.failed) return;
 
 				}
 				break;
 			case 84 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:891: SASS_RETURN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:891: SASS_RETURN
 				{
 				mSASS_RETURN(); if (state.failed) return;
 
 				}
 				break;
 			case 85 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:903: SASS_EACH
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:903: SASS_EACH
 				{
 				mSASS_EACH(); if (state.failed) return;
 
 				}
 				break;
 			case 86 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:913: SASS_WHILE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:913: SASS_WHILE
 				{
 				mSASS_WHILE(); if (state.failed) return;
 
 				}
 				break;
 			case 87 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:924: SASS_AT_ROOT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:924: SASS_AT_ROOT
 				{
 				mSASS_AT_ROOT(); if (state.failed) return;
 
 				}
 				break;
 			case 88 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:937: AT_SIGN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:937: AT_SIGN
 				{
 				mAT_SIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 89 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:945: AT_IDENT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:945: AT_IDENT
 				{
 				mAT_IDENT(); if (state.failed) return;
 
 				}
 				break;
 			case 90 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:954: SASS_VAR
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:954: SASS_VAR
 				{
 				mSASS_VAR(); if (state.failed) return;
 
 				}
 				break;
 			case 91 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:963: SASS_DEFAULT
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:963: SASS_DEFAULT
 				{
 				mSASS_DEFAULT(); if (state.failed) return;
 
 				}
 				break;
 			case 92 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:976: SASS_OPTIONAL
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:976: SASS_OPTIONAL
 				{
 				mSASS_OPTIONAL(); if (state.failed) return;
 
 				}
 				break;
 			case 93 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:990: SASS_GLOBAL
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:990: SASS_GLOBAL
 				{
 				mSASS_GLOBAL(); if (state.failed) return;
 
 				}
 				break;
 			case 94 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1002: SASS_EXTEND_ONLY_SELECTOR
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1002: SASS_EXTEND_ONLY_SELECTOR
 				{
 				mSASS_EXTEND_ONLY_SELECTOR(); if (state.failed) return;
 
 				}
 				break;
 			case 95 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1028: NUMBER
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1028: NUMBER
 				{
 				mNUMBER(); if (state.failed) return;
 
 				}
 				break;
 			case 96 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1035: URI
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1035: URI
 				{
 				mURI(); if (state.failed) return;
 
 				}
 				break;
 			case 97 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1039: MOZ_URL_PREFIX
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1039: URANGE
+				{
+				mURANGE(); if (state.failed) return;
+
+				}
+				break;
+			case 98 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1046: MOZ_URL_PREFIX
 				{
 				mMOZ_URL_PREFIX(); if (state.failed) return;
 
 				}
 				break;
-			case 98 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1054: MOZ_DOMAIN
+			case 99 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1061: MOZ_DOMAIN
 				{
 				mMOZ_DOMAIN(); if (state.failed) return;
 
 				}
 				break;
-			case 99 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1065: MOZ_REGEXP
+			case 100 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1072: MOZ_REGEXP
 				{
 				mMOZ_REGEXP(); if (state.failed) return;
 
 				}
 				break;
-			case 100 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1076: WS
+			case 101 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1083: WS
 				{
 				mWS(); if (state.failed) return;
 
 				}
 				break;
-			case 101 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1079: NL
+			case 102 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1086: NL
 				{
 				mNL(); if (state.failed) return;
 
 				}
 				break;
-			case 102 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1082: COMMENT
+			case 103 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1089: COMMENT
 				{
 				mCOMMENT(); if (state.failed) return;
 
 				}
 				break;
-			case 103 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1:1090: LINE_COMMENT
+			case 104 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1097: LINE_COMMENT
 				{
 				mLINE_COMMENT(); if (state.failed) return;
 
@@ -11060,8 +11214,8 @@
 
 	// $ANTLR start synpred1_Css3
 	public final void synpred1_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:26: ( '\\\\\\\"' )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:27: '\\\\\\\"'
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:26: ( '\\\\\\\"' )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:27: '\\\\\\\"'
 		{
 		match("\\\""); if (state.failed) return;
 
@@ -11072,8 +11226,8 @@
 
 	// $ANTLR start synpred2_Css3
 	public final void synpred2_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:47: ( '\\\\\\\\' )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1716:48: '\\\\\\\\'
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:47: ( '\\\\\\\\' )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:48: '\\\\\\\\'
 		{
 		match("\\\\"); if (state.failed) return;
 
@@ -11084,20 +11238,20 @@
 
 	// $ANTLR start synpred3_Css3
 	public final void synpred3_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:15: ( D P ( I | C ) )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:16: D P ( I | C )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:15: ( D P ( I | C ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:16: D P ( I | C )
 		{
 		mD(); if (state.failed) return;
 
 		mP(); if (state.failed) return;
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:20: ( I | C )
-		int alt210=2;
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:20: ( I | C )
+		int alt213=2;
 		switch ( input.LA(1) ) {
 		case 'I':
 		case 'i':
 			{
-			alt210=1;
+			alt213=1;
 			}
 			break;
 		case '\\':
@@ -11106,860 +11260,66 @@
 			case 'I':
 			case 'i':
 				{
-				alt210=1;
-				}
-				break;
-			case '0':
-				{
-				int LA210_4 = input.LA(3);
-				if ( (LA210_4=='0') ) {
-					int LA210_6 = input.LA(4);
-					if ( (LA210_6=='0') ) {
-						int LA210_7 = input.LA(5);
-						if ( (LA210_7=='0') ) {
-							int LA210_8 = input.LA(6);
-							if ( (LA210_8=='4'||LA210_8=='6') ) {
-								int LA210_5 = input.LA(7);
-								if ( (LA210_5=='9') ) {
-									alt210=1;
-								}
-								else if ( (LA210_5=='3') ) {
-									alt210=2;
-								}
-
-								else {
-									if (state.backtracking>0) {state.failed=true; return;}
-									int nvaeMark = input.mark();
-									try {
-										for (int nvaeConsume = 0; nvaeConsume < 7 - 1; nvaeConsume++) {
-											input.consume();
-										}
-										NoViableAltException nvae =
-											new NoViableAltException("", 210, 5, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-							}
-
-							else {
-								if (state.backtracking>0) {state.failed=true; return;}
-								int nvaeMark = input.mark();
-								try {
-									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
-										input.consume();
-									}
-									NoViableAltException nvae =
-										new NoViableAltException("", 210, 8, input);
-									throw nvae;
-								} finally {
-									input.rewind(nvaeMark);
-								}
-							}
-
-						}
-						else if ( (LA210_7=='4'||LA210_7=='6') ) {
-							int LA210_5 = input.LA(6);
-							if ( (LA210_5=='9') ) {
-								alt210=1;
-							}
-							else if ( (LA210_5=='3') ) {
-								alt210=2;
-							}
-
-							else {
-								if (state.backtracking>0) {state.failed=true; return;}
-								int nvaeMark = input.mark();
-								try {
-									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
-										input.consume();
-									}
-									NoViableAltException nvae =
-										new NoViableAltException("", 210, 5, input);
-									throw nvae;
-								} finally {
-									input.rewind(nvaeMark);
-								}
-							}
-
-						}
-
-						else {
-							if (state.backtracking>0) {state.failed=true; return;}
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 210, 7, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-					}
-					else if ( (LA210_6=='4'||LA210_6=='6') ) {
-						int LA210_5 = input.LA(5);
-						if ( (LA210_5=='9') ) {
-							alt210=1;
-						}
-						else if ( (LA210_5=='3') ) {
-							alt210=2;
-						}
-
-						else {
-							if (state.backtracking>0) {state.failed=true; return;}
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 210, 5, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-					}
-
-					else {
-						if (state.backtracking>0) {state.failed=true; return;}
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 210, 6, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-
-				}
-				else if ( (LA210_4=='4'||LA210_4=='6') ) {
-					int LA210_5 = input.LA(4);
-					if ( (LA210_5=='9') ) {
-						alt210=1;
-					}
-					else if ( (LA210_5=='3') ) {
-						alt210=2;
-					}
-
-					else {
-						if (state.backtracking>0) {state.failed=true; return;}
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 210, 5, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-							input.consume();
-						}
-						NoViableAltException nvae =
-							new NoViableAltException("", 210, 4, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			case '4':
-			case '6':
-				{
-				int LA210_5 = input.LA(3);
-				if ( (LA210_5=='9') ) {
-					alt210=1;
-				}
-				else if ( (LA210_5=='3') ) {
-					alt210=2;
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-							input.consume();
-						}
-						NoViableAltException nvae =
-							new NoViableAltException("", 210, 5, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			default:
-				if (state.backtracking>0) {state.failed=true; return;}
-				int nvaeMark = input.mark();
-				try {
-					input.consume();
-					NoViableAltException nvae =
-						new NoViableAltException("", 210, 2, input);
-					throw nvae;
-				} finally {
-					input.rewind(nvaeMark);
-				}
-			}
-			}
-			break;
-		case 'C':
-		case 'c':
-			{
-			alt210=2;
-			}
-			break;
-		default:
-			if (state.backtracking>0) {state.failed=true; return;}
-			NoViableAltException nvae =
-				new NoViableAltException("", 210, 0, input);
-			throw nvae;
-		}
-		switch (alt210) {
-			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:21: I
-				{
-				mI(); if (state.failed) return;
-
-				}
-				break;
-			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1835:23: C
-				{
-				mC(); if (state.failed) return;
-
-				}
-				break;
-
-		}
-
-		}
-
-	}
-	// $ANTLR end synpred3_Css3
-
-	// $ANTLR start synpred4_Css3
-	public final void synpred4_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:15: ( E ( M | X ) )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:16: E ( M | X )
-		{
-		mE(); if (state.failed) return;
-
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:18: ( M | X )
-		int alt211=2;
-		switch ( input.LA(1) ) {
-		case 'M':
-		case 'm':
-			{
-			alt211=1;
-			}
-			break;
-		case '\\':
-			{
-			switch ( input.LA(2) ) {
-			case '4':
-			case '6':
-			case 'M':
-			case 'm':
-				{
-				alt211=1;
-				}
-				break;
-			case '0':
-				{
-				switch ( input.LA(3) ) {
-				case '0':
-					{
-					switch ( input.LA(4) ) {
-					case '0':
-						{
-						switch ( input.LA(5) ) {
-						case '0':
-							{
-							int LA211_7 = input.LA(6);
-							if ( (LA211_7=='4'||LA211_7=='6') ) {
-								alt211=1;
-							}
-							else if ( (LA211_7=='5'||LA211_7=='7') ) {
-								alt211=2;
-							}
-
-							else {
-								if (state.backtracking>0) {state.failed=true; return;}
-								int nvaeMark = input.mark();
-								try {
-									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
-										input.consume();
-									}
-									NoViableAltException nvae =
-										new NoViableAltException("", 211, 7, input);
-									throw nvae;
-								} finally {
-									input.rewind(nvaeMark);
-								}
-							}
-
-							}
-							break;
-						case '4':
-						case '6':
-							{
-							alt211=1;
-							}
-							break;
-						case '5':
-						case '7':
-							{
-							alt211=2;
-							}
-							break;
-						default:
-							if (state.backtracking>0) {state.failed=true; return;}
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 211, 6, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-						}
-						break;
-					case '4':
-					case '6':
-						{
-						alt211=1;
-						}
-						break;
-					case '5':
-					case '7':
-						{
-						alt211=2;
-						}
-						break;
-					default:
-						if (state.backtracking>0) {state.failed=true; return;}
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 211, 5, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-					}
-					break;
-				case '4':
-				case '6':
-					{
-					alt211=1;
-					}
-					break;
-				case '5':
-				case '7':
-					{
-					alt211=2;
-					}
-					break;
-				default:
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-							input.consume();
-						}
-						NoViableAltException nvae =
-							new NoViableAltException("", 211, 4, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-				}
-				break;
-			case '5':
-			case '7':
-			case 'X':
-			case 'x':
-				{
-				alt211=2;
-				}
-				break;
-			default:
-				if (state.backtracking>0) {state.failed=true; return;}
-				int nvaeMark = input.mark();
-				try {
-					input.consume();
-					NoViableAltException nvae =
-						new NoViableAltException("", 211, 2, input);
-					throw nvae;
-				} finally {
-					input.rewind(nvaeMark);
-				}
-			}
-			}
-			break;
-		case 'X':
-		case 'x':
-			{
-			alt211=2;
-			}
-			break;
-		default:
-			if (state.backtracking>0) {state.failed=true; return;}
-			NoViableAltException nvae =
-				new NoViableAltException("", 211, 0, input);
-			throw nvae;
-		}
-		switch (alt211) {
-			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:19: M
-				{
-				mM(); if (state.failed) return;
-
-				}
-				break;
-			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1842:21: X
-				{
-				mX(); if (state.failed) return;
-
-				}
-				break;
-
-		}
-
-		}
-
-	}
-	// $ANTLR end synpred4_Css3
-
-	// $ANTLR start synpred5_Css3
-	public final void synpred5_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:15: ( P ( X | T | C ) )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:16: P ( X | T | C )
-		{
-		mP(); if (state.failed) return;
-
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:17: ( X | T | C )
-		int alt212=3;
-		switch ( input.LA(1) ) {
-		case 'X':
-		case 'x':
-			{
-			alt212=1;
-			}
-			break;
-		case '\\':
-			{
-			switch ( input.LA(2) ) {
-			case 'X':
-			case 'x':
-				{
-				alt212=1;
-				}
-				break;
-			case '0':
-				{
-				switch ( input.LA(3) ) {
-				case '0':
-					{
-					switch ( input.LA(4) ) {
-					case '0':
-						{
-						switch ( input.LA(5) ) {
-						case '0':
-							{
-							int LA212_9 = input.LA(6);
-							if ( (LA212_9=='5'||LA212_9=='7') ) {
-								int LA212_6 = input.LA(7);
-								if ( (LA212_6=='8') ) {
-									alt212=1;
-								}
-								else if ( (LA212_6=='4') ) {
-									alt212=2;
-								}
-
-								else {
-									if (state.backtracking>0) {state.failed=true; return;}
-									int nvaeMark = input.mark();
-									try {
-										for (int nvaeConsume = 0; nvaeConsume < 7 - 1; nvaeConsume++) {
-											input.consume();
-										}
-										NoViableAltException nvae =
-											new NoViableAltException("", 212, 6, input);
-										throw nvae;
-									} finally {
-										input.rewind(nvaeMark);
-									}
-								}
-
-							}
-							else if ( (LA212_9=='4'||LA212_9=='6') ) {
-								alt212=3;
-							}
-
-							else {
-								if (state.backtracking>0) {state.failed=true; return;}
-								int nvaeMark = input.mark();
-								try {
-									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
-										input.consume();
-									}
-									NoViableAltException nvae =
-										new NoViableAltException("", 212, 9, input);
-									throw nvae;
-								} finally {
-									input.rewind(nvaeMark);
-								}
-							}
-
-							}
-							break;
-						case '5':
-						case '7':
-							{
-							int LA212_6 = input.LA(6);
-							if ( (LA212_6=='8') ) {
-								alt212=1;
-							}
-							else if ( (LA212_6=='4') ) {
-								alt212=2;
-							}
-
-							else {
-								if (state.backtracking>0) {state.failed=true; return;}
-								int nvaeMark = input.mark();
-								try {
-									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
-										input.consume();
-									}
-									NoViableAltException nvae =
-										new NoViableAltException("", 212, 6, input);
-									throw nvae;
-								} finally {
-									input.rewind(nvaeMark);
-								}
-							}
-
-							}
-							break;
-						case '4':
-						case '6':
-							{
-							alt212=3;
-							}
-							break;
-						default:
-							if (state.backtracking>0) {state.failed=true; return;}
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 212, 8, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-						}
-						break;
-					case '5':
-					case '7':
-						{
-						int LA212_6 = input.LA(5);
-						if ( (LA212_6=='8') ) {
-							alt212=1;
-						}
-						else if ( (LA212_6=='4') ) {
-							alt212=2;
-						}
-
-						else {
-							if (state.backtracking>0) {state.failed=true; return;}
-							int nvaeMark = input.mark();
-							try {
-								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
-									input.consume();
-								}
-								NoViableAltException nvae =
-									new NoViableAltException("", 212, 6, input);
-								throw nvae;
-							} finally {
-								input.rewind(nvaeMark);
-							}
-						}
-
-						}
-						break;
-					case '4':
-					case '6':
-						{
-						alt212=3;
-						}
-						break;
-					default:
-						if (state.backtracking>0) {state.failed=true; return;}
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 212, 7, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-					}
-					break;
-				case '5':
-				case '7':
-					{
-					int LA212_6 = input.LA(4);
-					if ( (LA212_6=='8') ) {
-						alt212=1;
-					}
-					else if ( (LA212_6=='4') ) {
-						alt212=2;
-					}
-
-					else {
-						if (state.backtracking>0) {state.failed=true; return;}
-						int nvaeMark = input.mark();
-						try {
-							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
-								input.consume();
-							}
-							NoViableAltException nvae =
-								new NoViableAltException("", 212, 6, input);
-							throw nvae;
-						} finally {
-							input.rewind(nvaeMark);
-						}
-					}
-
-					}
-					break;
-				case '4':
-				case '6':
-					{
-					alt212=3;
-					}
-					break;
-				default:
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-							input.consume();
-						}
-						NoViableAltException nvae =
-							new NoViableAltException("", 212, 5, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-				}
-				break;
-			case '5':
-			case '7':
-				{
-				int LA212_6 = input.LA(3);
-				if ( (LA212_6=='8') ) {
-					alt212=1;
-				}
-				else if ( (LA212_6=='4') ) {
-					alt212=2;
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
-							input.consume();
-						}
-						NoViableAltException nvae =
-							new NoViableAltException("", 212, 6, input);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			case 'T':
-			case 't':
-				{
-				alt212=2;
-				}
-				break;
-			case '4':
-			case '6':
-				{
-				alt212=3;
-				}
-				break;
-			default:
-				if (state.backtracking>0) {state.failed=true; return;}
-				int nvaeMark = input.mark();
-				try {
-					input.consume();
-					NoViableAltException nvae =
-						new NoViableAltException("", 212, 2, input);
-					throw nvae;
-				} finally {
-					input.rewind(nvaeMark);
-				}
-			}
-			}
-			break;
-		case 'T':
-		case 't':
-			{
-			alt212=2;
-			}
-			break;
-		case 'C':
-		case 'c':
-			{
-			alt212=3;
-			}
-			break;
-		default:
-			if (state.backtracking>0) {state.failed=true; return;}
-			NoViableAltException nvae =
-				new NoViableAltException("", 212, 0, input);
-			throw nvae;
-		}
-		switch (alt212) {
-			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:18: X
-				{
-				mX(); if (state.failed) return;
-
-				}
-				break;
-			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:20: T
-				{
-				mT(); if (state.failed) return;
-
-				}
-				break;
-			case 3 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1848:22: C
-				{
-				mC(); if (state.failed) return;
-
-				}
-				break;
-
-		}
-
-		}
-
-	}
-	// $ANTLR end synpred5_Css3
-
-	// $ANTLR start synpred6_Css3
-	public final void synpred6_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1856:15: ( C M )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1856:16: C M
-		{
-		mC(); if (state.failed) return;
-
-		mM(); if (state.failed) return;
-
-		}
-
-	}
-	// $ANTLR end synpred6_Css3
-
-	// $ANTLR start synpred7_Css3
-	public final void synpred7_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:15: ( M ( M | S ) )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:16: M ( M | S )
-		{
-		mM(); if (state.failed) return;
-
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:18: ( M | S )
-		int alt213=2;
-		switch ( input.LA(1) ) {
-		case 'M':
-		case 'm':
-			{
-			alt213=1;
-			}
-			break;
-		case '\\':
-			{
-			switch ( input.LA(2) ) {
-			case '4':
-			case '6':
-			case 'M':
-			case 'm':
-				{
 				alt213=1;
 				}
 				break;
 			case '0':
 				{
-				switch ( input.LA(3) ) {
-				case '0':
-					{
-					switch ( input.LA(4) ) {
-					case '0':
-						{
-						switch ( input.LA(5) ) {
-						case '0':
-							{
-							int LA213_7 = input.LA(6);
-							if ( (LA213_7=='4'||LA213_7=='6') ) {
+				int LA213_4 = input.LA(3);
+				if ( (LA213_4=='0') ) {
+					int LA213_6 = input.LA(4);
+					if ( (LA213_6=='0') ) {
+						int LA213_7 = input.LA(5);
+						if ( (LA213_7=='0') ) {
+							int LA213_8 = input.LA(6);
+							if ( (LA213_8=='4'||LA213_8=='6') ) {
+								int LA213_5 = input.LA(7);
+								if ( (LA213_5=='9') ) {
+									alt213=1;
+								}
+								else if ( (LA213_5=='3') ) {
+									alt213=2;
+								}
+
+								else {
+									if (state.backtracking>0) {state.failed=true; return;}
+									int nvaeMark = input.mark();
+									try {
+										for (int nvaeConsume = 0; nvaeConsume < 7 - 1; nvaeConsume++) {
+											input.consume();
+										}
+										NoViableAltException nvae =
+											new NoViableAltException("", 213, 5, input);
+										throw nvae;
+									} finally {
+										input.rewind(nvaeMark);
+									}
+								}
+
+							}
+
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								int nvaeMark = input.mark();
+								try {
+									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
+										input.consume();
+									}
+									NoViableAltException nvae =
+										new NoViableAltException("", 213, 8, input);
+									throw nvae;
+								} finally {
+									input.rewind(nvaeMark);
+								}
+							}
+
+						}
+						else if ( (LA213_7=='4'||LA213_7=='6') ) {
+							int LA213_5 = input.LA(6);
+							if ( (LA213_5=='9') ) {
 								alt213=1;
 							}
-							else if ( (LA213_7=='5'||LA213_7=='7') ) {
+							else if ( (LA213_5=='3') ) {
 								alt213=2;
 							}
 
@@ -11971,28 +11331,16 @@
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 213, 7, input);
+										new NoViableAltException("", 213, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
 								}
 							}
 
-							}
-							break;
-						case '4':
-						case '6':
-							{
-							alt213=1;
-							}
-							break;
-						case '5':
-						case '7':
-							{
-							alt213=2;
-							}
-							break;
-						default:
+						}
+
+						else {
 							if (state.backtracking>0) {state.failed=true; return;}
 							int nvaeMark = input.mark();
 							try {
@@ -12000,27 +11348,66 @@
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 213, 6, input);
+									new NoViableAltException("", 213, 7, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
 							}
 						}
+
+					}
+					else if ( (LA213_6=='4'||LA213_6=='6') ) {
+						int LA213_5 = input.LA(5);
+						if ( (LA213_5=='9') ) {
+							alt213=1;
 						}
-						break;
-					case '4':
-					case '6':
-						{
+						else if ( (LA213_5=='3') ) {
+							alt213=2;
+						}
+
+						else {
+							if (state.backtracking>0) {state.failed=true; return;}
+							int nvaeMark = input.mark();
+							try {
+								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
+									input.consume();
+								}
+								NoViableAltException nvae =
+									new NoViableAltException("", 213, 5, input);
+								throw nvae;
+							} finally {
+								input.rewind(nvaeMark);
+							}
+						}
+
+					}
+
+					else {
+						if (state.backtracking>0) {state.failed=true; return;}
+						int nvaeMark = input.mark();
+						try {
+							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
+								input.consume();
+							}
+							NoViableAltException nvae =
+								new NoViableAltException("", 213, 6, input);
+							throw nvae;
+						} finally {
+							input.rewind(nvaeMark);
+						}
+					}
+
+				}
+				else if ( (LA213_4=='4'||LA213_4=='6') ) {
+					int LA213_5 = input.LA(4);
+					if ( (LA213_5=='9') ) {
 						alt213=1;
-						}
-						break;
-					case '5':
-					case '7':
-						{
+					}
+					else if ( (LA213_5=='3') ) {
 						alt213=2;
-						}
-						break;
-					default:
+					}
+
+					else {
 						if (state.backtracking>0) {state.failed=true; return;}
 						int nvaeMark = input.mark();
 						try {
@@ -12034,21 +11421,10 @@
 							input.rewind(nvaeMark);
 						}
 					}
-					}
-					break;
-				case '4':
-				case '6':
-					{
-					alt213=1;
-					}
-					break;
-				case '5':
-				case '7':
-					{
-					alt213=2;
-					}
-					break;
-				default:
+
+				}
+
+				else {
 					if (state.backtracking>0) {state.failed=true; return;}
 					int nvaeMark = input.mark();
 					try {
@@ -12062,14 +11438,35 @@
 						input.rewind(nvaeMark);
 					}
 				}
+
 				}
 				break;
-			case '5':
-			case '7':
-			case 'S':
-			case 's':
+			case '4':
+			case '6':
 				{
-				alt213=2;
+				int LA213_5 = input.LA(3);
+				if ( (LA213_5=='9') ) {
+					alt213=1;
+				}
+				else if ( (LA213_5=='3') ) {
+					alt213=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+							input.consume();
+						}
+						NoViableAltException nvae =
+							new NoViableAltException("", 213, 5, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
 				}
 				break;
 			default:
@@ -12086,8 +11483,8 @@
 			}
 			}
 			break;
-		case 'S':
-		case 's':
+		case 'C':
+		case 'c':
 			{
 			alt213=2;
 			}
@@ -12100,14 +11497,771 @@
 		}
 		switch (alt213) {
 			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:19: M
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:21: I
+				{
+				mI(); if (state.failed) return;
+
+				}
+				break;
+			case 2 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:23: C
+				{
+				mC(); if (state.failed) return;
+
+				}
+				break;
+
+		}
+
+		}
+
+	}
+	// $ANTLR end synpred3_Css3
+
+	// $ANTLR start synpred4_Css3
+	public final void synpred4_Css3_fragment() throws RecognitionException {
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:15: ( E ( M | X ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:16: E ( M | X )
+		{
+		mE(); if (state.failed) return;
+
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:18: ( M | X )
+		int alt214=2;
+		switch ( input.LA(1) ) {
+		case 'M':
+		case 'm':
+			{
+			alt214=1;
+			}
+			break;
+		case '\\':
+			{
+			switch ( input.LA(2) ) {
+			case '4':
+			case '6':
+			case 'M':
+			case 'm':
+				{
+				alt214=1;
+				}
+				break;
+			case '0':
+				{
+				switch ( input.LA(3) ) {
+				case '0':
+					{
+					switch ( input.LA(4) ) {
+					case '0':
+						{
+						switch ( input.LA(5) ) {
+						case '0':
+							{
+							int LA214_7 = input.LA(6);
+							if ( (LA214_7=='4'||LA214_7=='6') ) {
+								alt214=1;
+							}
+							else if ( (LA214_7=='5'||LA214_7=='7') ) {
+								alt214=2;
+							}
+
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								int nvaeMark = input.mark();
+								try {
+									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
+										input.consume();
+									}
+									NoViableAltException nvae =
+										new NoViableAltException("", 214, 7, input);
+									throw nvae;
+								} finally {
+									input.rewind(nvaeMark);
+								}
+							}
+
+							}
+							break;
+						case '4':
+						case '6':
+							{
+							alt214=1;
+							}
+							break;
+						case '5':
+						case '7':
+							{
+							alt214=2;
+							}
+							break;
+						default:
+							if (state.backtracking>0) {state.failed=true; return;}
+							int nvaeMark = input.mark();
+							try {
+								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
+									input.consume();
+								}
+								NoViableAltException nvae =
+									new NoViableAltException("", 214, 6, input);
+								throw nvae;
+							} finally {
+								input.rewind(nvaeMark);
+							}
+						}
+						}
+						break;
+					case '4':
+					case '6':
+						{
+						alt214=1;
+						}
+						break;
+					case '5':
+					case '7':
+						{
+						alt214=2;
+						}
+						break;
+					default:
+						if (state.backtracking>0) {state.failed=true; return;}
+						int nvaeMark = input.mark();
+						try {
+							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
+								input.consume();
+							}
+							NoViableAltException nvae =
+								new NoViableAltException("", 214, 5, input);
+							throw nvae;
+						} finally {
+							input.rewind(nvaeMark);
+						}
+					}
+					}
+					break;
+				case '4':
+				case '6':
+					{
+					alt214=1;
+					}
+					break;
+				case '5':
+				case '7':
+					{
+					alt214=2;
+					}
+					break;
+				default:
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+							input.consume();
+						}
+						NoViableAltException nvae =
+							new NoViableAltException("", 214, 4, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+				}
+				break;
+			case '5':
+			case '7':
+			case 'X':
+			case 'x':
+				{
+				alt214=2;
+				}
+				break;
+			default:
+				if (state.backtracking>0) {state.failed=true; return;}
+				int nvaeMark = input.mark();
+				try {
+					input.consume();
+					NoViableAltException nvae =
+						new NoViableAltException("", 214, 2, input);
+					throw nvae;
+				} finally {
+					input.rewind(nvaeMark);
+				}
+			}
+			}
+			break;
+		case 'X':
+		case 'x':
+			{
+			alt214=2;
+			}
+			break;
+		default:
+			if (state.backtracking>0) {state.failed=true; return;}
+			NoViableAltException nvae =
+				new NoViableAltException("", 214, 0, input);
+			throw nvae;
+		}
+		switch (alt214) {
+			case 1 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:19: M
 				{
 				mM(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1858:21: S
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:21: X
+				{
+				mX(); if (state.failed) return;
+
+				}
+				break;
+
+		}
+
+		}
+
+	}
+	// $ANTLR end synpred4_Css3
+
+	// $ANTLR start synpred5_Css3
+	public final void synpred5_Css3_fragment() throws RecognitionException {
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:15: ( P ( X | T | C ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:16: P ( X | T | C )
+		{
+		mP(); if (state.failed) return;
+
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:17: ( X | T | C )
+		int alt215=3;
+		switch ( input.LA(1) ) {
+		case 'X':
+		case 'x':
+			{
+			alt215=1;
+			}
+			break;
+		case '\\':
+			{
+			switch ( input.LA(2) ) {
+			case 'X':
+			case 'x':
+				{
+				alt215=1;
+				}
+				break;
+			case '0':
+				{
+				switch ( input.LA(3) ) {
+				case '0':
+					{
+					switch ( input.LA(4) ) {
+					case '0':
+						{
+						switch ( input.LA(5) ) {
+						case '0':
+							{
+							int LA215_9 = input.LA(6);
+							if ( (LA215_9=='5'||LA215_9=='7') ) {
+								int LA215_6 = input.LA(7);
+								if ( (LA215_6=='8') ) {
+									alt215=1;
+								}
+								else if ( (LA215_6=='4') ) {
+									alt215=2;
+								}
+
+								else {
+									if (state.backtracking>0) {state.failed=true; return;}
+									int nvaeMark = input.mark();
+									try {
+										for (int nvaeConsume = 0; nvaeConsume < 7 - 1; nvaeConsume++) {
+											input.consume();
+										}
+										NoViableAltException nvae =
+											new NoViableAltException("", 215, 6, input);
+										throw nvae;
+									} finally {
+										input.rewind(nvaeMark);
+									}
+								}
+
+							}
+							else if ( (LA215_9=='4'||LA215_9=='6') ) {
+								alt215=3;
+							}
+
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								int nvaeMark = input.mark();
+								try {
+									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
+										input.consume();
+									}
+									NoViableAltException nvae =
+										new NoViableAltException("", 215, 9, input);
+									throw nvae;
+								} finally {
+									input.rewind(nvaeMark);
+								}
+							}
+
+							}
+							break;
+						case '5':
+						case '7':
+							{
+							int LA215_6 = input.LA(6);
+							if ( (LA215_6=='8') ) {
+								alt215=1;
+							}
+							else if ( (LA215_6=='4') ) {
+								alt215=2;
+							}
+
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								int nvaeMark = input.mark();
+								try {
+									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
+										input.consume();
+									}
+									NoViableAltException nvae =
+										new NoViableAltException("", 215, 6, input);
+									throw nvae;
+								} finally {
+									input.rewind(nvaeMark);
+								}
+							}
+
+							}
+							break;
+						case '4':
+						case '6':
+							{
+							alt215=3;
+							}
+							break;
+						default:
+							if (state.backtracking>0) {state.failed=true; return;}
+							int nvaeMark = input.mark();
+							try {
+								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
+									input.consume();
+								}
+								NoViableAltException nvae =
+									new NoViableAltException("", 215, 8, input);
+								throw nvae;
+							} finally {
+								input.rewind(nvaeMark);
+							}
+						}
+						}
+						break;
+					case '5':
+					case '7':
+						{
+						int LA215_6 = input.LA(5);
+						if ( (LA215_6=='8') ) {
+							alt215=1;
+						}
+						else if ( (LA215_6=='4') ) {
+							alt215=2;
+						}
+
+						else {
+							if (state.backtracking>0) {state.failed=true; return;}
+							int nvaeMark = input.mark();
+							try {
+								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
+									input.consume();
+								}
+								NoViableAltException nvae =
+									new NoViableAltException("", 215, 6, input);
+								throw nvae;
+							} finally {
+								input.rewind(nvaeMark);
+							}
+						}
+
+						}
+						break;
+					case '4':
+					case '6':
+						{
+						alt215=3;
+						}
+						break;
+					default:
+						if (state.backtracking>0) {state.failed=true; return;}
+						int nvaeMark = input.mark();
+						try {
+							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
+								input.consume();
+							}
+							NoViableAltException nvae =
+								new NoViableAltException("", 215, 7, input);
+							throw nvae;
+						} finally {
+							input.rewind(nvaeMark);
+						}
+					}
+					}
+					break;
+				case '5':
+				case '7':
+					{
+					int LA215_6 = input.LA(4);
+					if ( (LA215_6=='8') ) {
+						alt215=1;
+					}
+					else if ( (LA215_6=='4') ) {
+						alt215=2;
+					}
+
+					else {
+						if (state.backtracking>0) {state.failed=true; return;}
+						int nvaeMark = input.mark();
+						try {
+							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
+								input.consume();
+							}
+							NoViableAltException nvae =
+								new NoViableAltException("", 215, 6, input);
+							throw nvae;
+						} finally {
+							input.rewind(nvaeMark);
+						}
+					}
+
+					}
+					break;
+				case '4':
+				case '6':
+					{
+					alt215=3;
+					}
+					break;
+				default:
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+							input.consume();
+						}
+						NoViableAltException nvae =
+							new NoViableAltException("", 215, 5, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+				}
+				break;
+			case '5':
+			case '7':
+				{
+				int LA215_6 = input.LA(3);
+				if ( (LA215_6=='8') ) {
+					alt215=1;
+				}
+				else if ( (LA215_6=='4') ) {
+					alt215=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+							input.consume();
+						}
+						NoViableAltException nvae =
+							new NoViableAltException("", 215, 6, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			case 'T':
+			case 't':
+				{
+				alt215=2;
+				}
+				break;
+			case '4':
+			case '6':
+				{
+				alt215=3;
+				}
+				break;
+			default:
+				if (state.backtracking>0) {state.failed=true; return;}
+				int nvaeMark = input.mark();
+				try {
+					input.consume();
+					NoViableAltException nvae =
+						new NoViableAltException("", 215, 2, input);
+					throw nvae;
+				} finally {
+					input.rewind(nvaeMark);
+				}
+			}
+			}
+			break;
+		case 'T':
+		case 't':
+			{
+			alt215=2;
+			}
+			break;
+		case 'C':
+		case 'c':
+			{
+			alt215=3;
+			}
+			break;
+		default:
+			if (state.backtracking>0) {state.failed=true; return;}
+			NoViableAltException nvae =
+				new NoViableAltException("", 215, 0, input);
+			throw nvae;
+		}
+		switch (alt215) {
+			case 1 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:18: X
+				{
+				mX(); if (state.failed) return;
+
+				}
+				break;
+			case 2 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:20: T
+				{
+				mT(); if (state.failed) return;
+
+				}
+				break;
+			case 3 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:22: C
+				{
+				mC(); if (state.failed) return;
+
+				}
+				break;
+
+		}
+
+		}
+
+	}
+	// $ANTLR end synpred5_Css3
+
+	// $ANTLR start synpred6_Css3
+	public final void synpred6_Css3_fragment() throws RecognitionException {
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:15: ( C M )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:16: C M
+		{
+		mC(); if (state.failed) return;
+
+		mM(); if (state.failed) return;
+
+		}
+
+	}
+	// $ANTLR end synpred6_Css3
+
+	// $ANTLR start synpred7_Css3
+	public final void synpred7_Css3_fragment() throws RecognitionException {
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:15: ( M ( M | S ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:16: M ( M | S )
+		{
+		mM(); if (state.failed) return;
+
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:18: ( M | S )
+		int alt216=2;
+		switch ( input.LA(1) ) {
+		case 'M':
+		case 'm':
+			{
+			alt216=1;
+			}
+			break;
+		case '\\':
+			{
+			switch ( input.LA(2) ) {
+			case '4':
+			case '6':
+			case 'M':
+			case 'm':
+				{
+				alt216=1;
+				}
+				break;
+			case '0':
+				{
+				switch ( input.LA(3) ) {
+				case '0':
+					{
+					switch ( input.LA(4) ) {
+					case '0':
+						{
+						switch ( input.LA(5) ) {
+						case '0':
+							{
+							int LA216_7 = input.LA(6);
+							if ( (LA216_7=='4'||LA216_7=='6') ) {
+								alt216=1;
+							}
+							else if ( (LA216_7=='5'||LA216_7=='7') ) {
+								alt216=2;
+							}
+
+							else {
+								if (state.backtracking>0) {state.failed=true; return;}
+								int nvaeMark = input.mark();
+								try {
+									for (int nvaeConsume = 0; nvaeConsume < 6 - 1; nvaeConsume++) {
+										input.consume();
+									}
+									NoViableAltException nvae =
+										new NoViableAltException("", 216, 7, input);
+									throw nvae;
+								} finally {
+									input.rewind(nvaeMark);
+								}
+							}
+
+							}
+							break;
+						case '4':
+						case '6':
+							{
+							alt216=1;
+							}
+							break;
+						case '5':
+						case '7':
+							{
+							alt216=2;
+							}
+							break;
+						default:
+							if (state.backtracking>0) {state.failed=true; return;}
+							int nvaeMark = input.mark();
+							try {
+								for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) {
+									input.consume();
+								}
+								NoViableAltException nvae =
+									new NoViableAltException("", 216, 6, input);
+								throw nvae;
+							} finally {
+								input.rewind(nvaeMark);
+							}
+						}
+						}
+						break;
+					case '4':
+					case '6':
+						{
+						alt216=1;
+						}
+						break;
+					case '5':
+					case '7':
+						{
+						alt216=2;
+						}
+						break;
+					default:
+						if (state.backtracking>0) {state.failed=true; return;}
+						int nvaeMark = input.mark();
+						try {
+							for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) {
+								input.consume();
+							}
+							NoViableAltException nvae =
+								new NoViableAltException("", 216, 5, input);
+							throw nvae;
+						} finally {
+							input.rewind(nvaeMark);
+						}
+					}
+					}
+					break;
+				case '4':
+				case '6':
+					{
+					alt216=1;
+					}
+					break;
+				case '5':
+				case '7':
+					{
+					alt216=2;
+					}
+					break;
+				default:
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
+							input.consume();
+						}
+						NoViableAltException nvae =
+							new NoViableAltException("", 216, 4, input);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+				}
+				break;
+			case '5':
+			case '7':
+			case 'S':
+			case 's':
+				{
+				alt216=2;
+				}
+				break;
+			default:
+				if (state.backtracking>0) {state.failed=true; return;}
+				int nvaeMark = input.mark();
+				try {
+					input.consume();
+					NoViableAltException nvae =
+						new NoViableAltException("", 216, 2, input);
+					throw nvae;
+				} finally {
+					input.rewind(nvaeMark);
+				}
+			}
+			}
+			break;
+		case 'S':
+		case 's':
+			{
+			alt216=2;
+			}
+			break;
+		default:
+			if (state.backtracking>0) {state.failed=true; return;}
+			NoViableAltException nvae =
+				new NoViableAltException("", 216, 0, input);
+			throw nvae;
+		}
+		switch (alt216) {
+			case 1 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:19: M
+				{
+				mM(); if (state.failed) return;
+
+				}
+				break;
+			case 2 :
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:21: S
 				{
 				mS(); if (state.failed) return;
 
@@ -12123,8 +12277,8 @@
 
 	// $ANTLR start synpred8_Css3
 	public final void synpred8_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1865:15: ( I N )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1865:16: I N
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1866:15: ( I N )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1866:16: I N
 		{
 		mI(); if (state.failed) return;
 
@@ -12137,8 +12291,8 @@
 
 	// $ANTLR start synpred9_Css3
 	public final void synpred9_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1868:15: ( D E G )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1868:16: D E G
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:15: ( D E G )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:16: D E G
 		{
 		mD(); if (state.failed) return;
 
@@ -12153,38 +12307,38 @@
 
 	// $ANTLR start synpred10_Css3
 	public final void synpred10_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:15: ( R ( A | E ) )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:16: R ( A | E )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:15: ( R ( A | E ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:16: R ( A | E )
 		{
 		mR(); if (state.failed) return;
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:18: ( A | E )
-		int alt214=2;
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:18: ( A | E )
+		int alt217=2;
 		switch ( input.LA(1) ) {
 		case 'A':
 		case 'a':
 			{
-			alt214=1;
+			alt217=1;
 			}
 			break;
 		case '\\':
 			{
-			int LA214_2 = input.LA(2);
-			if ( (LA214_2=='0') ) {
-				int LA214_4 = input.LA(3);
-				if ( (LA214_4=='0') ) {
-					int LA214_6 = input.LA(4);
-					if ( (LA214_6=='0') ) {
-						int LA214_7 = input.LA(5);
-						if ( (LA214_7=='0') ) {
-							int LA214_8 = input.LA(6);
-							if ( (LA214_8=='4'||LA214_8=='6') ) {
-								int LA214_5 = input.LA(7);
-								if ( (LA214_5=='1') ) {
-									alt214=1;
+			int LA217_2 = input.LA(2);
+			if ( (LA217_2=='0') ) {
+				int LA217_4 = input.LA(3);
+				if ( (LA217_4=='0') ) {
+					int LA217_6 = input.LA(4);
+					if ( (LA217_6=='0') ) {
+						int LA217_7 = input.LA(5);
+						if ( (LA217_7=='0') ) {
+							int LA217_8 = input.LA(6);
+							if ( (LA217_8=='4'||LA217_8=='6') ) {
+								int LA217_5 = input.LA(7);
+								if ( (LA217_5=='1') ) {
+									alt217=1;
 								}
-								else if ( (LA214_5=='5') ) {
-									alt214=2;
+								else if ( (LA217_5=='5') ) {
+									alt217=2;
 								}
 
 								else {
@@ -12195,7 +12349,7 @@
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 214, 5, input);
+											new NoViableAltException("", 217, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -12212,7 +12366,7 @@
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 214, 8, input);
+										new NoViableAltException("", 217, 8, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -12220,13 +12374,13 @@
 							}
 
 						}
-						else if ( (LA214_7=='4'||LA214_7=='6') ) {
-							int LA214_5 = input.LA(6);
-							if ( (LA214_5=='1') ) {
-								alt214=1;
+						else if ( (LA217_7=='4'||LA217_7=='6') ) {
+							int LA217_5 = input.LA(6);
+							if ( (LA217_5=='1') ) {
+								alt217=1;
 							}
-							else if ( (LA214_5=='5') ) {
-								alt214=2;
+							else if ( (LA217_5=='5') ) {
+								alt217=2;
 							}
 
 							else {
@@ -12237,7 +12391,7 @@
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 214, 5, input);
+										new NoViableAltException("", 217, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -12254,7 +12408,7 @@
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 214, 7, input);
+									new NoViableAltException("", 217, 7, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -12262,13 +12416,13 @@
 						}
 
 					}
-					else if ( (LA214_6=='4'||LA214_6=='6') ) {
-						int LA214_5 = input.LA(5);
-						if ( (LA214_5=='1') ) {
-							alt214=1;
+					else if ( (LA217_6=='4'||LA217_6=='6') ) {
+						int LA217_5 = input.LA(5);
+						if ( (LA217_5=='1') ) {
+							alt217=1;
 						}
-						else if ( (LA214_5=='5') ) {
-							alt214=2;
+						else if ( (LA217_5=='5') ) {
+							alt217=2;
 						}
 
 						else {
@@ -12279,7 +12433,7 @@
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 214, 5, input);
+									new NoViableAltException("", 217, 5, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -12296,7 +12450,7 @@
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 214, 6, input);
+								new NoViableAltException("", 217, 6, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -12304,13 +12458,13 @@
 					}
 
 				}
-				else if ( (LA214_4=='4'||LA214_4=='6') ) {
-					int LA214_5 = input.LA(4);
-					if ( (LA214_5=='1') ) {
-						alt214=1;
+				else if ( (LA217_4=='4'||LA217_4=='6') ) {
+					int LA217_5 = input.LA(4);
+					if ( (LA217_5=='1') ) {
+						alt217=1;
 					}
-					else if ( (LA214_5=='5') ) {
-						alt214=2;
+					else if ( (LA217_5=='5') ) {
+						alt217=2;
 					}
 
 					else {
@@ -12321,7 +12475,7 @@
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 214, 5, input);
+								new NoViableAltException("", 217, 5, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -12338,7 +12492,7 @@
 							input.consume();
 						}
 						NoViableAltException nvae =
-							new NoViableAltException("", 214, 4, input);
+							new NoViableAltException("", 217, 4, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -12346,13 +12500,13 @@
 				}
 
 			}
-			else if ( (LA214_2=='4'||LA214_2=='6') ) {
-				int LA214_5 = input.LA(3);
-				if ( (LA214_5=='1') ) {
-					alt214=1;
+			else if ( (LA217_2=='4'||LA217_2=='6') ) {
+				int LA217_5 = input.LA(3);
+				if ( (LA217_5=='1') ) {
+					alt217=1;
 				}
-				else if ( (LA214_5=='5') ) {
-					alt214=2;
+				else if ( (LA217_5=='5') ) {
+					alt217=2;
 				}
 
 				else {
@@ -12363,7 +12517,7 @@
 							input.consume();
 						}
 						NoViableAltException nvae =
-							new NoViableAltException("", 214, 5, input);
+							new NoViableAltException("", 217, 5, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -12378,7 +12532,7 @@
 				try {
 					input.consume();
 					NoViableAltException nvae =
-						new NoViableAltException("", 214, 2, input);
+						new NoViableAltException("", 217, 2, input);
 					throw nvae;
 				} finally {
 					input.rewind(nvaeMark);
@@ -12390,25 +12544,25 @@
 		case 'E':
 		case 'e':
 			{
-			alt214=2;
+			alt217=2;
 			}
 			break;
 		default:
 			if (state.backtracking>0) {state.failed=true; return;}
 			NoViableAltException nvae =
-				new NoViableAltException("", 214, 0, input);
+				new NoViableAltException("", 217, 0, input);
 			throw nvae;
 		}
-		switch (alt214) {
+		switch (alt217) {
 			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:19: A
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:19: A
 				{
 				mA(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1873:21: E
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:21: E
 				{
 				mE(); if (state.failed) return;
 
@@ -12424,8 +12578,8 @@
 
 	// $ANTLR start synpred11_Css3
 	public final void synpred11_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1880:15: ( S )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1880:16: S
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1881:15: ( S )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1881:16: S
 		{
 		mS(); if (state.failed) return;
 
@@ -12436,57 +12590,57 @@
 
 	// $ANTLR start synpred12_Css3
 	public final void synpred12_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1882:15: ( ( K )? H Z )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1882:16: ( K )? H Z
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:15: ( ( K )? H Z )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:16: ( K )? H Z
 		{
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1882:16: ( K )?
-		int alt215=2;
-		int LA215_0 = input.LA(1);
-		if ( (LA215_0=='K'||LA215_0=='k') ) {
-			alt215=1;
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:16: ( K )?
+		int alt218=2;
+		int LA218_0 = input.LA(1);
+		if ( (LA218_0=='K'||LA218_0=='k') ) {
+			alt218=1;
 		}
-		else if ( (LA215_0=='\\') ) {
+		else if ( (LA218_0=='\\') ) {
 			switch ( input.LA(2) ) {
 				case 'K':
 				case 'k':
 					{
-					alt215=1;
+					alt218=1;
 					}
 					break;
 				case '0':
 					{
-					int LA215_4 = input.LA(3);
-					if ( (LA215_4=='0') ) {
-						int LA215_6 = input.LA(4);
-						if ( (LA215_6=='0') ) {
-							int LA215_7 = input.LA(5);
-							if ( (LA215_7=='0') ) {
-								int LA215_8 = input.LA(6);
-								if ( (LA215_8=='4'||LA215_8=='6') ) {
-									int LA215_5 = input.LA(7);
-									if ( (LA215_5=='B'||LA215_5=='b') ) {
-										alt215=1;
+					int LA218_4 = input.LA(3);
+					if ( (LA218_4=='0') ) {
+						int LA218_6 = input.LA(4);
+						if ( (LA218_6=='0') ) {
+							int LA218_7 = input.LA(5);
+							if ( (LA218_7=='0') ) {
+								int LA218_8 = input.LA(6);
+								if ( (LA218_8=='4'||LA218_8=='6') ) {
+									int LA218_5 = input.LA(7);
+									if ( (LA218_5=='B'||LA218_5=='b') ) {
+										alt218=1;
 									}
 								}
 							}
-							else if ( (LA215_7=='4'||LA215_7=='6') ) {
-								int LA215_5 = input.LA(6);
-								if ( (LA215_5=='B'||LA215_5=='b') ) {
-									alt215=1;
+							else if ( (LA218_7=='4'||LA218_7=='6') ) {
+								int LA218_5 = input.LA(6);
+								if ( (LA218_5=='B'||LA218_5=='b') ) {
+									alt218=1;
 								}
 							}
 						}
-						else if ( (LA215_6=='4'||LA215_6=='6') ) {
-							int LA215_5 = input.LA(5);
-							if ( (LA215_5=='B'||LA215_5=='b') ) {
-								alt215=1;
+						else if ( (LA218_6=='4'||LA218_6=='6') ) {
+							int LA218_5 = input.LA(5);
+							if ( (LA218_5=='B'||LA218_5=='b') ) {
+								alt218=1;
 							}
 						}
 					}
-					else if ( (LA215_4=='4'||LA215_4=='6') ) {
-						int LA215_5 = input.LA(4);
-						if ( (LA215_5=='B'||LA215_5=='b') ) {
-							alt215=1;
+					else if ( (LA218_4=='4'||LA218_4=='6') ) {
+						int LA218_5 = input.LA(4);
+						if ( (LA218_5=='B'||LA218_5=='b') ) {
+							alt218=1;
 						}
 					}
 					}
@@ -12494,17 +12648,17 @@
 				case '4':
 				case '6':
 					{
-					int LA215_5 = input.LA(3);
-					if ( (LA215_5=='B'||LA215_5=='b') ) {
-						alt215=1;
+					int LA218_5 = input.LA(3);
+					if ( (LA218_5=='B'||LA218_5=='b') ) {
+						alt218=1;
 					}
 					}
 					break;
 			}
 		}
-		switch (alt215) {
+		switch (alt218) {
 			case 1 :
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1882:16: K
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:16: K
 				{
 				mK(); if (state.failed) return;
 
@@ -12524,8 +12678,8 @@
 
 	// $ANTLR start synpred13_Css3
 	public final void synpred13_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:14: ( WS )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1898:15: WS
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:14: ( WS )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1899:15: WS
 		{
 		mWS(); if (state.failed) return;
 
@@ -12536,8 +12690,8 @@
 
 	// $ANTLR start synpred14_Css3
 	public final void synpred14_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:14: ( WS )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1905:15: WS
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:14: ( WS )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:15: WS
 		{
 		mWS(); if (state.failed) return;
 
@@ -12548,8 +12702,8 @@
 
 	// $ANTLR start synpred15_Css3
 	public final void synpred15_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:14: ( WS )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1913:15: WS
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:14: ( WS )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:15: WS
 		{
 		mWS(); if (state.failed) return;
 
@@ -12560,8 +12714,8 @@
 
 	// $ANTLR start synpred16_Css3
 	public final void synpred16_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:14: ( WS )
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1921:15: WS
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:14: ( WS )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:15: WS
 		{
 		mWS(); if (state.failed) return;
 
@@ -12797,7 +12951,7 @@
 
 
 	protected DFA193 dfa193 = new DFA193(this);
-	protected DFA209 dfa209 = new DFA209(this);
+	protected DFA212 dfa212 = new DFA212(this);
 	static final String DFA193_eotS =
 		"\1\30\1\14\1\uffff\6\14\1\uffff\2\14\1\uffff\7\14\1\uffff\2\14\2\uffff"+
 		"\1\14\1\uffff\16\14\2\uffff\4\14\27\uffff\1\14\1\uffff\3\14\1\uffff\1"+
@@ -12896,71 +13050,71 @@
 		"\1\3\7\uffff\1\4\4\uffff\1\5\7\uffff\1\6\30\uffff\1\12\4\uffff\1\1\22"+
 		"\uffff\1\7\113\uffff\1\10\u020c\uffff";
 	static final String DFA193_specialS =
-		"\2\uffff\1\44\6\uffff\1\u00ac\12\uffff\1\u00ad\5\uffff\1\25\16\uffff\1"+
-		"\u00cc\1\u00cd\4\uffff\1\u00f7\1\u0178\1\u01e9\1\u00fe\1\u01f0\1\1\1\u0175"+
-		"\1\u017b\1\120\1\12\1\u0183\1\125\1\u008e\1\u015f\1\u0095\1\u011a\1\u01ab"+
-		"\1\u018d\1\u0126\1\u019c\1\u00b0\1\u01bc\1\u00b9\1\uffff\1\u01c1\5\uffff"+
-		"\1\u0174\1\uffff\1\u01c5\1\141\1\u01d5\1\u00f6\1\u01ea\1\u00ff\1\u01f1"+
-		"\1\2\1\u017c\1\121\1\13\1\u0184\1\126\1\u008f\1\u0096\1\u011b\1\u018c"+
-		"\1\u0127\1\u019e\1\u00af\1\u00ba\1\u01c7\1\u01d6\1\174\1\u00f5\1\uffff"+
-		"\1\u0084\6\uffff\1\56\1\u010b\1\74\1\175\1\u0085\1\57\1\75\1\3\1\14\1"+
-		"\u017a\1\u0185\1\122\1\127\14\uffff\1\4\1\11\1\u017e\1\u0186\1\123\1\130"+
-		"\1\u011c\1\u0128\1\u018f\1\u019b\2\uffff\1\u008d\1\u011d\1\u0129\1\u0190"+
-		"\1\u019f\1\u00b1\1\u00bb\1\u00b2\1\u00bc\1\u01c4\1\u01d7\1\u01c3\1\u01d8"+
-		"\1\uffff\1\u00c8\1\u00c9\1\34\2\uffff\1\35\2\uffff\1\46\1\47\1\u01b8\2"+
-		"\uffff\1\u01b9\2\uffff\1\145\1\146\3\uffff\1\u00f2\1\u00f4\1\u01b2\2\uffff"+
-		"\1\u01b3\2\uffff\1\u009c\1\u009d\2\uffff\1\155\1\u00a4\1\163\2\uffff\1"+
-		"\u013b\1\u0164\1\u014a\1\156\1\164\1\u013c\1\u014b\1\u01c8\1\u01d9\4\uffff"+
-		"\1\u01cc\1\u01da\1\uffff\1\50\1\51\3\uffff\1\116\1\117\2\uffff\1\u00d4"+
-		"\1\u015c\1\u00e3\1\u00d6\1\u00e4\1\176\1\u0086\1\173\1\u0087\6\uffff\1"+
-		"\u01e7\1\u01e8\20\uffff\1\u0105\2\uffff\1\u00f8\1\u01eb\1\u0100\1\u01f2"+
-		"\1\u0090\1\u0097\1\u0119\1\u0191\1\u0130\1\u01a0\1\u00b3\1\u00bd\1\u01ce"+
-		"\1\u01de\1\u011f\1\u0192\1\u0131\1\u01a1\1\5\1\u017f\1\u00c4\1\15\1\u0187"+
-		"\1\u00c5\7\uffff\1\134\1\135\1\u01ba\3\uffff\1\u01bd\1\u015b\1\u00a3\2"+
-		"\uffff\1\30\1\31\3\uffff\1\152\1\153\1\u013a\2\uffff\1\52\1\53\7\uffff"+
-		"\1\u0115\1\u0116\2\uffff\1\u01d1\1\u01e0\1\u01d3\1\u01e2\5\uffff\1\u01be"+
-		"\1\u01bf\2\uffff\1\u01f7\1\uffff\1\u00ae\1\u00b8\7\uffff\1\u0081\1\uffff"+
-		"\1\u0088\1\uffff\1\60\1\76\2\uffff\1\u0172\16\uffff\1\u0167\2\uffff\1"+
-		"\u00f9\1\u01ec\1\u0101\1\u01f3\1\u0091\1\u0098\1\u0120\1\u0195\1\u0132"+
-		"\1\u019a\1\u00b4\1\u00be\1\u01ca\1\u01e6\1\u0124\1\u0196\1\u0133\1\u01a4"+
-		"\1\6\1\u0180\1\u0136\1\16\1\u0188\1\u0137\4\uffff\1\55\1\77\1\62\1\106"+
-		"\1\u016e\1\u0170\1\u013d\1\u014c\1\u016f\1\u0171\1\u0141\1\u014d\3\uffff"+
-		"\1\u00aa\1\u00ab\1\32\3\uffff\1\36\1\u01b0\1\u0114\2\uffff\1\137\1\140"+
-		"\3\uffff\1\u00cf\1\u00d0\1\u01a8\2\uffff\1\154\1\162\2\uffff\1\u00fd\4"+
-		"\uffff\1\u0160\1\u0161\1\u0143\1\u014e\2\uffff\1\u009f\1\u00a0\3\uffff"+
-		"\1\u01c6\1\u01df\2\uffff\1\37\1\40\2\uffff\1\113\1\uffff\1\u00d8\1\u00e8"+
-		"\2\uffff\1\132\1\133\5\uffff\1\u0082\1\uffff\1\u0089\1\uffff\1\63\1\110"+
-		"\1\u00d9\1\u00e9\1\u00d3\1\u00e2\2\uffff\1\u01c0\15\uffff\1\u0108\2\uffff"+
-		"\1\u00fa\1\u01ed\1\u0102\1\u01f4\1\u0092\1\u0099\1\u0123\1\u0197\1\u012a"+
-		"\1\u01a7\1\u00b5\1\u00bf\1\u01cb\1\u01e5\1\u011e\1\u0193\1\u012e\1\u019d"+
-		"\1\7\1\u0181\1\u00ca\1\17\1\u0189\1\u00cb\4\uffff\1\64\1\111\1\65\1\112"+
-		"\1\u010f\1\u0112\1\u0144\1\u0151\1\u0110\1\u0113\1\u0145\1\u0154\3\uffff"+
-		"\1\u012d\1\u0135\1\142\3\uffff\1\147\1\27\1\u0173\2\uffff\1\u00c2\1\u00c3"+
-		"\3\uffff\1\u0159\1\u015a\1\26\2\uffff\1\u00f1\1\u00f3\2\uffff\1\u0162"+
-		"\4\uffff\1\u01b6\1\u01b7\1\u0148\1\u0155\2\uffff\1\u0109\1\u010a\3\uffff"+
-		"\1\u01cd\1\u01dd\2\uffff\1\150\1\151\2\uffff\1\170\1\uffff\1\u00db\1\u00ec"+
-		"\2\uffff\1\u00a1\1\u00a2\4\uffff\1\u0083\1\uffff\1\u008a\1\uffff\1\67"+
-		"\1\103\1\u00dd\1\u00ed\1\u00de\1\u00f0\2\uffff\1\42\13\uffff\1\u0179\2"+
-		"\uffff\1\u00fb\1\u01ee\1\u0103\1\u01f5\1\u0093\1\u009a\1\u0121\1\u0194"+
-		"\1\u0134\1\u01a6\1\u00b6\1\u00c0\1\u01c9\1\u01db\1\u0122\1\u0198\1\u012b"+
-		"\1\u01a2\1\0\1\u0182\1\u0169\1\20\1\u018a\1\u016a\4\uffff\1\73\1\100\1"+
-		"\61\1\101\1\u01ac\1\u01ae\1\u0149\1\u0157\1\u01ad\1\u01af\1\u0146\1\u0158"+
-		"\2\uffff\1\u00c6\1\u00c7\1\33\2\uffff\1\41\1\u01b4\1\u0117\1\uffff\1\143"+
-		"\1\144\2\uffff\1\u00d1\1\u00d2\1\u01b1\1\uffff\1\171\1\172\2\uffff\1\u01bb"+
-		"\3\uffff\1\u0163\1\u0165\1\u013f\1\u0152\2\uffff\1\u016c\1\u016d\2\uffff"+
-		"\1\u01d2\1\u01e1\1\uffff\1\43\1\45\1\uffff\1\115\1\uffff\1\u00df\1\u00ea"+
-		"\2\uffff\1\u010e\1\u0111\2\uffff\1\177\1\uffff\1\u008b\1\uffff\1\71\1"+
-		"\104\1\u00da\1\u00ee\1\u00e1\1\u00e5\1\uffff\1\u01c2\1\u00fc\1\u01ef\1"+
-		"\u0104\1\u01f6\1\u0094\1\u009b\1\u0118\1\u0199\1\u012f\1\u01a3\1\u00b7"+
-		"\1\u00c1\1\u01cf\1\u01dc\1\u0125\1\u018e\1\u012c\1\u01a5\1\10\1\u017d"+
-		"\1\124\1\21\1\u018b\1\131\1\72\1\102\1\70\1\105\1\157\1\165\1\u013e\1"+
-		"\u0156\1\160\1\166\1\u0142\1\u014f\1\u0166\1\u0168\1\u009e\1\u00a5\1\114"+
-		"\1\u01b5\1\u0106\1\u0107\1\u0176\1\u0177\1\54\1\u0138\1\u0139\1\uffff"+
-		"\1\u016b\2\uffff\1\22\1\23\1\u0140\1\u0153\1\uffff\1\u010c\1\u010d\1\uffff"+
-		"\1\u01d4\1\u01e3\1\u00a6\1\u00a7\1\u00ce\1\uffff\1\u00d5\1\u00e6\1\uffff"+
-		"\1\u00a8\1\u00a9\1\u0080\1\u008c\1\66\1\107\1\u00dc\1\u00e7\1\u00e0\1"+
-		"\u00ef\1\136\1\24\1\161\1\167\1\u0147\1\u0150\1\u01a9\1\u01aa\1\u01d0"+
-		"\1\u01e4\1\u00d7\1\u00eb\1\u015d\1\u015e}>";
+		"\2\uffff\1\u0099\6\uffff\1\u00f3\12\uffff\1\u00f4\5\uffff\1\75\16\uffff"+
+		"\1\u0103\1\u0104\4\uffff\1\u0132\1\u01af\1\56\1\u0139\1\65\1\77\1\u01ab"+
+		"\1\u01ba\1\u008c\1\110\1\u01c3\1\u0091\1\u00c1\1\u0176\1\u00cf\1\u014e"+
+		"\1\u01b8\1\u01ce\1\u015d\1\u01da\1\u00e3\1\u01e7\1\u00ea\1\uffff\1\u01f2"+
+		"\5\uffff\1\u01a0\1\uffff\1\11\1\u0097\1\33\1\u0133\1\57\1\u013a\1\66\1"+
+		"\100\1\u01bc\1\u008d\1\111\1\u01c2\1\u0092\1\u00c0\1\u00d0\1\u014d\1\u01cd"+
+		"\1\u015e\1\u01db\1\u00e2\1\u00eb\1\13\1\36\1\u00b7\1\u010c\1\uffff\1\u00bf"+
+		"\6\uffff\1\151\1\u012f\1\170\1\u00b8\1\u00c3\1\152\1\171\1\101\1\112\1"+
+		"\u01bd\1\u01c4\1\u008e\1\u0093\14\uffff\1\102\1\113\1\u01be\1\u01c5\1"+
+		"\u008f\1\u0094\1\u0152\1\u015c\1\u01d1\1\u01dc\2\uffff\1\u00dd\1\u0153"+
+		"\1\u015f\1\u01d6\1\u01de\1\u00e4\1\u00ec\1\u00e5\1\u00ed\1\14\1\32\1\17"+
+		"\1\37\1\uffff\1\u00fd\1\u00ff\1\131\2\uffff\1\132\2\uffff\1\135\1\136"+
+		"\1\u01ee\2\uffff\1\u01ef\2\uffff\1\u009f\1\u00a0\3\uffff\1\u012d\1\u012e"+
+		"\1\u01e9\2\uffff\1\u01ea\2\uffff\1\u00d6\1\u00d7\2\uffff\1\u00a9\1\u00b5"+
+		"\1\u00ae\2\uffff\1\u017d\1\u0199\1\u018c\1\u00aa\1\u00af\1\u017c\1\u018f"+
+		"\1\10\1\40\4\uffff\1\20\1\42\1\uffff\1\137\1\140\3\uffff\1\u0089\1\u008b"+
+		"\2\uffff\1\u0110\1\u0173\1\u011e\1\u0111\1\u011f\1\u00b9\1\u00c6\1\u00b6"+
+		"\1\u00c7\6\uffff\1\54\1\55\20\uffff\1\u0147\2\uffff\1\u0134\1\60\1\u013b"+
+		"\1\67\1\u00c9\1\u00d1\1\u0155\1\u01d7\1\u0160\1\u01d9\1\u00e6\1\u00ee"+
+		"\1\21\1\47\1\u0156\1\u01cc\1\u0161\1\u01e1\1\103\1\u01bf\1\u0107\1\114"+
+		"\1\u01c6\1\u0109\7\uffff\1\u009d\1\u009e\1\3\3\uffff\1\5\1\u019d\1\u00f8"+
+		"\2\uffff\1\127\1\130\3\uffff\1\u00b3\1\u00b4\1\u019a\2\uffff\1\u0087\1"+
+		"\u0088\7\uffff\1\u0148\1\u0149\2\uffff\1\25\1\52\1\22\1\53\5\uffff\1\6"+
+		"\1\7\2\uffff\1\121\1\uffff\1\u00f5\1\u00f6\7\uffff\1\u00ba\1\uffff\1\u00cc"+
+		"\1\uffff\1\153\1\167\2\uffff\1\u01b0\16\uffff\1\u01a8\2\uffff\1\u0135"+
+		"\1\61\1\u013c\1\70\1\u00ce\1\u00d2\1\u0157\1\u01d8\1\u015b\1\u01e2\1\u00e1"+
+		"\1\u00ef\1\31\1\44\1\u0159\1\u01d2\1\u0164\1\u01e3\1\104\1\u01c0\1\u0177"+
+		"\1\115\1\u01c7\1\u0178\4\uffff\1\150\1\172\1\156\1\174\1\u01b1\1\u01b3"+
+		"\1\u017e\1\u0190\1\u01b2\1\u01b4\1\u0180\1\u0192\3\uffff\1\u0101\1\u0102"+
+		"\1\133\3\uffff\1\141\1\u01f5\1\u016b\2\uffff\1\u00a1\1\u00a2\3\uffff\1"+
+		"\u0130\1\u0131\1\u01eb\2\uffff\1\u00d8\1\u00d9\2\uffff\1\u0144\4\uffff"+
+		"\1\u01a1\1\u01a2\1\u0184\1\u0194\2\uffff\1\u00df\1\u00e0\3\uffff\1\30"+
+		"\1\34\2\uffff\1\142\1\143\2\uffff\1\u0096\1\uffff\1\u0112\1\u0121\2\uffff"+
+		"\1\u009a\1\u009b\5\uffff\1\u00bb\1\uffff\1\u00c4\1\uffff\1\157\1\175\1"+
+		"\u010f\1\u0122\1\u0114\1\u0124\2\uffff\1\74\15\uffff\1\u014a\2\uffff\1"+
+		"\u0136\1\62\1\u013d\1\71\1\u00cb\1\u00d3\1\u015a\1\u01d5\1\u0166\1\u01e5"+
+		"\1\u00e8\1\u00f0\1\15\1\50\1\u0158\1\u01cb\1\u0167\1\u01df\1\105\1\u01b9"+
+		"\1\u010b\1\116\1\u01c8\1\u010d\4\uffff\1\161\1\176\1\162\1\u0080\1\u016e"+
+		"\1\u0170\1\u0187\1\u0196\1\u016f\1\u0171\1\u017b\1\u018b\3\uffff\1\u0174"+
+		"\1\u0175\1\u00a5\3\uffff\1\u00a6\1\126\1\u01b5\2\uffff\1\u0105\1\u0106"+
+		"\3\uffff\1\u019b\1\u019c\1\125\2\uffff\1\u0142\1\u0143\2\uffff\1\u01a5"+
+		"\4\uffff\1\1\1\2\1\u0189\1\u0197\2\uffff\1\u014b\1\u014c\3\uffff\1\16"+
+		"\1\35\2\uffff\1\u00a7\1\u00a8\2\uffff\1\u00dc\1\uffff\1\u0116\1\u0125"+
+		"\2\uffff\1\u00fa\1\u00fc\4\uffff\1\u00bd\1\uffff\1\u00c8\1\uffff\1\164"+
+		"\1\u0083\1\u0117\1\u0126\1\u0119\1\u0128\2\uffff\1\147\13\uffff\1\u01e8"+
+		"\2\uffff\1\u0137\1\63\1\u013e\1\72\1\u00c2\1\u00d4\1\u014f\1\u01cf\1\u0165"+
+		"\1\u01dd\1\u00e7\1\u00f2\1\24\1\41\1\u0150\1\u01d0\1\u0163\1\u01e6\1\106"+
+		"\1\u01c1\1\u01a9\1\117\1\u01c9\1\u01aa\4\uffff\1\166\1\u0084\1\160\1\u0081"+
+		"\1\u01f0\1\u01f3\1\u0188\1\u018a\1\u01f1\1\u01f4\1\u0185\1\u018d\2\uffff"+
+		"\1\u0108\1\u010a\1\134\2\uffff\1\144\1\0\1\u0172\1\uffff\1\u00a3\1\u00a4"+
+		"\2\uffff\1\u0140\1\u0141\1\u01f6\1\uffff\1\u00da\1\u00db\2\uffff\1\4\3"+
+		"\uffff\1\u01a6\1\u01a7\1\u0182\1\u018e\2\uffff\1\u01ad\1\u01ae\2\uffff"+
+		"\1\26\1\45\1\uffff\1\145\1\146\1\uffff\1\u0098\1\uffff\1\u011c\1\u012c"+
+		"\2\uffff\1\u016c\1\u016d\2\uffff\1\u00be\1\uffff\1\u00cd\1\uffff\1\165"+
+		"\1\177\1\u011b\1\u0129\1\u011d\1\u0120\1\uffff\1\76\1\u0138\1\64\1\u013f"+
+		"\1\73\1\u00ca\1\u00d5\1\u0154\1\u01d4\1\u0168\1\u01e4\1\u00e9\1\u00f1"+
+		"\1\27\1\46\1\u0151\1\u01d3\1\u0162\1\u01e0\1\107\1\u01bb\1\u0090\1\120"+
+		"\1\u01ca\1\u0095\1\155\1\173\1\154\1\u0085\1\u00ab\1\u00b0\1\u0186\1\u0198"+
+		"\1\u00ac\1\u00b1\1\u0183\1\u0195\1\u01a3\1\u01a4\1\u00de\1\u00f7\1\u008a"+
+		"\1\u01f7\1\u0145\1\u0146\1\u01b6\1\u01b7\1\u0086\1\u0179\1\u017a\1\uffff"+
+		"\1\u01ac\2\uffff\1\122\1\123\1\u017f\1\u0193\1\uffff\1\u0169\1\u016a\1"+
+		"\uffff\1\23\1\51\1\u00f9\1\u00fb\1\u010e\1\uffff\1\u011a\1\u0127\1\uffff"+
+		"\1\u00fe\1\u0100\1\u00bc\1\u00c5\1\163\1\u0082\1\u0115\1\u012b\1\u0118"+
+		"\1\u0123\1\u009c\1\124\1\u00ad\1\u00b2\1\u0181\1\u0191\1\u01ec\1\u01ed"+
+		"\1\12\1\43\1\u0113\1\u012a\1\u019e\1\u019f}>";
 	static final String[] DFA193_transitionS = {
 			"\1\27\7\uffff\1\14\23\uffff\2\14\1\20\1\15\1\16\2\14\1\26\1\22\1\14\1"+
 			"\25\1\14\1\21\2\14\1\17\1\14\1\23\1\24\7\14\1\uffff\1\2\2\uffff\1\14"+
@@ -13872,7 +14026,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1834:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)";
+			return "1835:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)";
 		}
 		@Override
 		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
@@ -13880,19 +14034,824 @@
 			int _s = s;
 			switch ( s ) {
 					case 0 : 
-						int LA193_660 = input.LA(1);
+						int LA193_690 = input.LA(1);
 						 
-						int index193_660 = input.index();
+						int index193_690 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_660);
+						input.seek(index193_690);
 						if ( s>=0 ) return s;
 						break;
 
 					case 1 : 
+						int LA193_584 = input.LA(1);
+						 
+						int index193_584 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_584);
+						if ( s>=0 ) return s;
+						break;
+
+					case 2 : 
+						int LA193_585 = input.LA(1);
+						 
+						int index193_585 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_585);
+						if ( s>=0 ) return s;
+						break;
+
+					case 3 : 
+						int LA193_295 = input.LA(1);
+						 
+						int index193_295 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_295);
+						if ( s>=0 ) return s;
+						break;
+
+					case 4 : 
+						int LA193_705 = input.LA(1);
+						 
+						int index193_705 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_705);
+						if ( s>=0 ) return s;
+						break;
+
+					case 5 : 
+						int LA193_299 = input.LA(1);
+						 
+						int index193_299 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_299);
+						if ( s>=0 ) return s;
+						break;
+
+					case 6 : 
+						int LA193_336 = input.LA(1);
+						 
+						int index193_336 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_336);
+						if ( s>=0 ) return s;
+						break;
+
+					case 7 : 
+						int LA193_337 = input.LA(1);
+						 
+						int index193_337 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_337);
+						if ( s>=0 ) return s;
+						break;
+
+					case 8 : 
+						int LA193_208 = input.LA(1);
+						 
+						int index193_208 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_208);
+						if ( s>=0 ) return s;
+						break;
+
+					case 9 : 
+						int LA193_79 = input.LA(1);
+						 
+						int index193_79 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_79);
+						if ( s>=0 ) return s;
+						break;
+
+					case 10 : 
+						int LA193_835 = input.LA(1);
+						 
+						int index193_835 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_835);
+						if ( s>=0 ) return s;
+						break;
+
+					case 11 : 
+						int LA193_100 = input.LA(1);
+						 
+						int index193_100 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_100);
+						if ( s>=0 ) return s;
+						break;
+
+					case 12 : 
+						int LA193_158 = input.LA(1);
+						 
+						int index193_158 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_158);
+						if ( s>=0 ) return s;
+						break;
+
+					case 13 : 
+						int LA193_523 = input.LA(1);
+						 
+						int index193_523 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_523);
+						if ( s>=0 ) return s;
+						break;
+
+					case 14 : 
+						int LA193_595 = input.LA(1);
+						 
+						int index193_595 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_595);
+						if ( s>=0 ) return s;
+						break;
+
+					case 15 : 
+						int LA193_160 = input.LA(1);
+						 
+						int index193_160 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_160);
+						if ( s>=0 ) return s;
+						break;
+
+					case 16 : 
+						int LA193_214 = input.LA(1);
+						 
+						int index193_214 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_214);
+						if ( s>=0 ) return s;
+						break;
+
+					case 17 : 
+						int LA193_274 = input.LA(1);
+						 
+						int index193_274 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_274);
+						if ( s>=0 ) return s;
+						break;
+
+					case 18 : 
+						int LA193_329 = input.LA(1);
+						 
+						int index193_329 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_329);
+						if ( s>=0 ) return s;
+						break;
+
+					case 19 : 
+						int LA193_808 = input.LA(1);
+						 
+						int index193_808 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_808);
+						if ( s>=0 ) return s;
+						break;
+
+					case 20 : 
+						int LA193_654 = input.LA(1);
+						 
+						int index193_654 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_654);
+						if ( s>=0 ) return s;
+						break;
+
+					case 21 : 
+						int LA193_327 = input.LA(1);
+						 
+						int index193_327 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_327);
+						if ( s>=0 ) return s;
+						break;
+
+					case 22 : 
+						int LA193_719 = input.LA(1);
+						 
+						int index193_719 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_719);
+						if ( s>=0 ) return s;
+						break;
+
+					case 23 : 
+						int LA193_759 = input.LA(1);
+						 
+						int index193_759 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_759);
+						if ( s>=0 ) return s;
+						break;
+
+					case 24 : 
+						int LA193_461 = input.LA(1);
+						 
+						int index193_461 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_461);
+						if ( s>=0 ) return s;
+						break;
+
+					case 25 : 
+						int LA193_389 = input.LA(1);
+						 
+						int index193_389 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_389);
+						if ( s>=0 ) return s;
+						break;
+
+					case 26 : 
+						int LA193_159 = input.LA(1);
+						 
+						int index193_159 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_159);
+						if ( s>=0 ) return s;
+						break;
+
+					case 27 : 
+						int LA193_81 = input.LA(1);
+						 
+						int index193_81 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_81);
+						if ( s>=0 ) return s;
+						break;
+
+					case 28 : 
+						int LA193_462 = input.LA(1);
+						 
+						int index193_462 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_462);
+						if ( s>=0 ) return s;
+						break;
+
+					case 29 : 
+						int LA193_596 = input.LA(1);
+						 
+						int index193_596 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_596);
+						if ( s>=0 ) return s;
+						break;
+
+					case 30 : 
+						int LA193_101 = input.LA(1);
+						 
+						int index193_101 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_101);
+						if ( s>=0 ) return s;
+						break;
+
+					case 31 : 
+						int LA193_161 = input.LA(1);
+						 
+						int index193_161 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_161);
+						if ( s>=0 ) return s;
+						break;
+
+					case 32 : 
+						int LA193_209 = input.LA(1);
+						 
+						int index193_209 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_209);
+						if ( s>=0 ) return s;
+						break;
+
+					case 33 : 
+						int LA193_655 = input.LA(1);
+						 
+						int index193_655 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_655);
+						if ( s>=0 ) return s;
+						break;
+
+					case 34 : 
+						int LA193_215 = input.LA(1);
+						 
+						int index193_215 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_215);
+						if ( s>=0 ) return s;
+						break;
+
+					case 35 : 
+						int LA193_836 = input.LA(1);
+						 
+						int index193_836 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_836);
+						if ( s>=0 ) return s;
+						break;
+
+					case 36 : 
+						int LA193_390 = input.LA(1);
+						 
+						int index193_390 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_390);
+						if ( s>=0 ) return s;
+						break;
+
+					case 37 : 
+						int LA193_720 = input.LA(1);
+						 
+						int index193_720 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_720);
+						if ( s>=0 ) return s;
+						break;
+
+					case 38 : 
+						int LA193_760 = input.LA(1);
+						 
+						int index193_760 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_760);
+						if ( s>=0 ) return s;
+						break;
+
+					case 39 : 
+						int LA193_275 = input.LA(1);
+						 
+						int index193_275 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_275);
+						if ( s>=0 ) return s;
+						break;
+
+					case 40 : 
+						int LA193_524 = input.LA(1);
+						 
+						int index193_524 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_524);
+						if ( s>=0 ) return s;
+						break;
+
+					case 41 : 
+						int LA193_809 = input.LA(1);
+						 
+						int index193_809 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_809);
+						if ( s>=0 ) return s;
+						break;
+
+					case 42 : 
+						int LA193_328 = input.LA(1);
+						 
+						int index193_328 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_328);
+						if ( s>=0 ) return s;
+						break;
+
+					case 43 : 
+						int LA193_330 = input.LA(1);
+						 
+						int index193_330 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_330);
+						if ( s>=0 ) return s;
+						break;
+
+					case 44 : 
+						int LA193_241 = input.LA(1);
+						 
+						int index193_241 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_241);
+						if ( s>=0 ) return s;
+						break;
+
+					case 45 : 
+						int LA193_242 = input.LA(1);
+						 
+						int index193_242 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_242);
+						if ( s>=0 ) return s;
+						break;
+
+					case 46 : 
+						int LA193_49 = input.LA(1);
+						 
+						int index193_49 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_49);
+						if ( s>=0 ) return s;
+						break;
+
+					case 47 : 
+						int LA193_83 = input.LA(1);
+						 
+						int index193_83 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_83);
+						if ( s>=0 ) return s;
+						break;
+
+					case 48 : 
+						int LA193_263 = input.LA(1);
+						 
+						int index193_263 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_263);
+						if ( s>=0 ) return s;
+						break;
+
+					case 49 : 
+						int LA193_378 = input.LA(1);
+						 
+						int index193_378 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_378);
+						if ( s>=0 ) return s;
+						break;
+
+					case 50 : 
+						int LA193_512 = input.LA(1);
+						 
+						int index193_512 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_512);
+						if ( s>=0 ) return s;
+						break;
+
+					case 51 : 
+						int LA193_643 = input.LA(1);
+						 
+						int index193_643 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_643);
+						if ( s>=0 ) return s;
+						break;
+
+					case 52 : 
+						int LA193_748 = input.LA(1);
+						 
+						int index193_748 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_748);
+						if ( s>=0 ) return s;
+						break;
+
+					case 53 : 
+						int LA193_51 = input.LA(1);
+						 
+						int index193_51 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_51);
+						if ( s>=0 ) return s;
+						break;
+
+					case 54 : 
+						int LA193_85 = input.LA(1);
+						 
+						int index193_85 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_85);
+						if ( s>=0 ) return s;
+						break;
+
+					case 55 : 
+						int LA193_265 = input.LA(1);
+						 
+						int index193_265 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_265);
+						if ( s>=0 ) return s;
+						break;
+
+					case 56 : 
+						int LA193_380 = input.LA(1);
+						 
+						int index193_380 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_380);
+						if ( s>=0 ) return s;
+						break;
+
+					case 57 : 
+						int LA193_514 = input.LA(1);
+						 
+						int index193_514 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_514);
+						if ( s>=0 ) return s;
+						break;
+
+					case 58 : 
+						int LA193_645 = input.LA(1);
+						 
+						int index193_645 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_645);
+						if ( s>=0 ) return s;
+						break;
+
+					case 59 : 
+						int LA193_750 = input.LA(1);
+						 
+						int index193_750 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_750);
+						if ( s>=0 ) return s;
+						break;
+
+					case 60 : 
+						int LA193_494 = input.LA(1);
+						 
+						int index193_494 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_494);
+						if ( s>=0 ) return s;
+						break;
+
+					case 61 : 
+						int LA193_26 = input.LA(1);
+						s = -1;
+						if ( (LA193_26=='p') ) {s = 107;}
+						else if ( (LA193_26=='P') ) {s = 108;}
+						else if ( ((LA193_26 >= '\u0000' && LA193_26 <= '\t')||LA193_26=='\u000B'||(LA193_26 >= '\u000E' && LA193_26 <= '/')||(LA193_26 >= '1' && LA193_26 <= '3')||(LA193_26 >= '8' && LA193_26 <= 'O')||(LA193_26 >= 'Q' && LA193_26 <= 'o')||(LA193_26 >= 'q' && LA193_26 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_26=='0') ) {s = 109;}
+						else if ( (LA193_26=='5'||LA193_26=='7') ) {s = 110;}
+						else if ( (LA193_26=='4'||LA193_26=='6') ) {s = 111;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 62 : 
+						int LA193_746 = input.LA(1);
+						 
+						int index193_746 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_746);
+						if ( s>=0 ) return s;
+						break;
+
+					case 63 : 
 						int LA193_52 = input.LA(1);
 						 
 						int index193_52 = input.index();
@@ -13905,7 +14864,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 2 : 
+					case 64 : 
 						int LA193_86 = input.LA(1);
 						 
 						int index193_86 = input.index();
@@ -13918,7 +14877,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 3 : 
+					case 65 : 
 						int LA193_119 = input.LA(1);
 						 
 						int index193_119 = input.index();
@@ -13931,7 +14890,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 4 : 
+					case 66 : 
 						int LA193_137 = input.LA(1);
 						 
 						int index193_137 = input.index();
@@ -13944,7 +14903,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 5 : 
+					case 67 : 
 						int LA193_280 = input.LA(1);
 						 
 						int index193_280 = input.index();
@@ -13957,7 +14916,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 6 : 
+					case 68 : 
 						int LA193_395 = input.LA(1);
 						 
 						int index193_395 = input.index();
@@ -13970,7 +14929,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 7 : 
+					case 69 : 
 						int LA193_529 = input.LA(1);
 						 
 						int index193_529 = input.index();
@@ -13983,7 +14942,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 8 : 
+					case 70 : 
+						int LA193_660 = input.LA(1);
+						 
+						int index193_660 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_660);
+						if ( s>=0 ) return s;
+						break;
+
+					case 71 : 
 						int LA193_765 = input.LA(1);
 						 
 						int index193_765 = input.index();
@@ -13996,20 +14968,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 9 : 
-						int LA193_138 = input.LA(1);
-						 
-						int index193_138 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_138);
-						if ( s>=0 ) return s;
-						break;
-
-					case 10 : 
+					case 72 : 
 						int LA193_56 = input.LA(1);
 						 
 						int index193_56 = input.index();
@@ -14022,7 +14981,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 11 : 
+					case 73 : 
 						int LA193_89 = input.LA(1);
 						 
 						int index193_89 = input.index();
@@ -14035,7 +14994,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 12 : 
+					case 74 : 
 						int LA193_120 = input.LA(1);
 						 
 						int index193_120 = input.index();
@@ -14048,7 +15007,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 13 : 
+					case 75 : 
+						int LA193_138 = input.LA(1);
+						 
+						int index193_138 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_138);
+						if ( s>=0 ) return s;
+						break;
+
+					case 76 : 
 						int LA193_283 = input.LA(1);
 						 
 						int index193_283 = input.index();
@@ -14061,7 +15033,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 14 : 
+					case 77 : 
 						int LA193_398 = input.LA(1);
 						 
 						int index193_398 = input.index();
@@ -14074,7 +15046,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 15 : 
+					case 78 : 
 						int LA193_532 = input.LA(1);
 						 
 						int index193_532 = input.index();
@@ -14087,7 +15059,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 16 : 
+					case 79 : 
 						int LA193_663 = input.LA(1);
 						 
 						int index193_663 = input.index();
@@ -14100,7 +15072,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 17 : 
+					case 80 : 
 						int LA193_768 = input.LA(1);
 						 
 						int index193_768 = input.index();
@@ -14113,7 +15085,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 18 : 
+					case 81 : 
+						int LA193_340 = input.LA(1);
+						 
+						int index193_340 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_340);
+						if ( s>=0 ) return s;
+						break;
+
+					case 82 : 
 						int LA193_800 = input.LA(1);
 						 
 						int index193_800 = input.index();
@@ -14126,7 +15111,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 19 : 
+					case 83 : 
 						int LA193_801 = input.LA(1);
 						 
 						int index193_801 = input.index();
@@ -14139,7 +15124,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 20 : 
+					case 84 : 
 						int LA193_828 = input.LA(1);
 						 
 						int index193_828 = input.index();
@@ -14152,19 +15137,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 21 : 
-						int LA193_26 = input.LA(1);
-						s = -1;
-						if ( (LA193_26=='p') ) {s = 107;}
-						else if ( (LA193_26=='P') ) {s = 108;}
-						else if ( ((LA193_26 >= '\u0000' && LA193_26 <= '\t')||LA193_26=='\u000B'||(LA193_26 >= '\u000E' && LA193_26 <= '/')||(LA193_26 >= '1' && LA193_26 <= '3')||(LA193_26 >= '8' && LA193_26 <= 'O')||(LA193_26 >= 'Q' && LA193_26 <= 'o')||(LA193_26 >= 'q' && LA193_26 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_26=='0') ) {s = 109;}
-						else if ( (LA193_26=='5'||LA193_26=='7') ) {s = 110;}
-						else if ( (LA193_26=='4'||LA193_26=='6') ) {s = 111;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 22 : 
+					case 85 : 
 						int LA193_572 = input.LA(1);
 						 
 						int index193_572 = input.index();
@@ -14177,7 +15150,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 23 : 
+					case 86 : 
 						int LA193_561 = input.LA(1);
 						 
 						int index193_561 = input.index();
@@ -14190,7 +15163,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 24 : 
+					case 87 : 
 						int LA193_304 = input.LA(1);
 						 
 						int index193_304 = input.index();
@@ -14203,7 +15176,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 25 : 
+					case 88 : 
 						int LA193_305 = input.LA(1);
 						 
 						int index193_305 = input.index();
@@ -14216,33 +15189,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 26 : 
-						int LA193_422 = input.LA(1);
-						 
-						int index193_422 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_422);
-						if ( s>=0 ) return s;
-						break;
-
-					case 27 : 
-						int LA193_686 = input.LA(1);
-						 
-						int index193_686 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_686);
-						if ( s>=0 ) return s;
-						break;
-
-					case 28 : 
+					case 89 : 
 						int LA193_165 = input.LA(1);
 						 
 						int index193_165 = input.index();
@@ -14255,7 +15202,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 29 : 
+					case 90 : 
 						int LA193_168 = input.LA(1);
 						 
 						int index193_168 = input.index();
@@ -14268,7 +15215,85 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 30 : 
+					case 91 : 
+						int LA193_422 = input.LA(1);
+						 
+						int index193_422 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_422);
+						if ( s>=0 ) return s;
+						break;
+
+					case 92 : 
+						int LA193_686 = input.LA(1);
+						 
+						int index193_686 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_686);
+						if ( s>=0 ) return s;
+						break;
+
+					case 93 : 
+						int LA193_171 = input.LA(1);
+						 
+						int index193_171 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_171);
+						if ( s>=0 ) return s;
+						break;
+
+					case 94 : 
+						int LA193_172 = input.LA(1);
+						 
+						int index193_172 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_172);
+						if ( s>=0 ) return s;
+						break;
+
+					case 95 : 
+						int LA193_217 = input.LA(1);
+						 
+						int index193_217 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_217);
+						if ( s>=0 ) return s;
+						break;
+
+					case 96 : 
+						int LA193_218 = input.LA(1);
+						 
+						int index193_218 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_218);
+						if ( s>=0 ) return s;
+						break;
+
+					case 97 : 
 						int LA193_426 = input.LA(1);
 						 
 						int index193_426 = input.index();
@@ -14281,7 +15306,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 31 : 
+					case 98 : 
 						int LA193_465 = input.LA(1);
 						 
 						int index193_465 = input.index();
@@ -14294,7 +15319,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 32 : 
+					case 99 : 
 						int LA193_466 = input.LA(1);
 						 
 						int index193_466 = input.index();
@@ -14307,7 +15332,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 33 : 
+					case 100 : 
 						int LA193_689 = input.LA(1);
 						 
 						int index193_689 = input.index();
@@ -14320,20 +15345,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 34 : 
-						int LA193_627 = input.LA(1);
-						 
-						int index193_627 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_627);
-						if ( s>=0 ) return s;
-						break;
-
-					case 35 : 
+					case 101 : 
 						int LA193_722 = input.LA(1);
 						 
 						int index193_722 = input.index();
@@ -14346,7 +15358,668 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 36 : 
+					case 102 : 
+						int LA193_723 = input.LA(1);
+						 
+						int index193_723 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_723);
+						if ( s>=0 ) return s;
+						break;
+
+					case 103 : 
+						int LA193_627 = input.LA(1);
+						 
+						int index193_627 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_627);
+						if ( s>=0 ) return s;
+						break;
+
+					case 104 : 
+						int LA193_405 = input.LA(1);
+						 
+						int index193_405 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_405);
+						if ( s>=0 ) return s;
+						break;
+
+					case 105 : 
+						int LA193_112 = input.LA(1);
+						 
+						int index193_112 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_112);
+						if ( s>=0 ) return s;
+						break;
+
+					case 106 : 
+						int LA193_117 = input.LA(1);
+						 
+						int index193_117 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_117);
+						if ( s>=0 ) return s;
+						break;
+
+					case 107 : 
+						int LA193_355 = input.LA(1);
+						 
+						int index193_355 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_355);
+						if ( s>=0 ) return s;
+						break;
+
+					case 108 : 
+						int LA193_773 = input.LA(1);
+						 
+						int index193_773 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_773);
+						if ( s>=0 ) return s;
+						break;
+
+					case 109 : 
+						int LA193_771 = input.LA(1);
+						 
+						int index193_771 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_771);
+						if ( s>=0 ) return s;
+						break;
+
+					case 110 : 
+						int LA193_407 = input.LA(1);
+						 
+						int index193_407 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_407);
+						if ( s>=0 ) return s;
+						break;
+
+					case 111 : 
+						int LA193_486 = input.LA(1);
+						 
+						int index193_486 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_486);
+						if ( s>=0 ) return s;
+						break;
+
+					case 112 : 
+						int LA193_672 = input.LA(1);
+						 
+						int index193_672 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_672);
+						if ( s>=0 ) return s;
+						break;
+
+					case 113 : 
+						int LA193_539 = input.LA(1);
+						 
+						int index193_539 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_539);
+						if ( s>=0 ) return s;
+						break;
+
+					case 114 : 
+						int LA193_541 = input.LA(1);
+						 
+						int index193_541 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_541);
+						if ( s>=0 ) return s;
+						break;
+
+					case 115 : 
+						int LA193_821 = input.LA(1);
+						 
+						int index193_821 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_821);
+						if ( s>=0 ) return s;
+						break;
+
+					case 116 : 
+						int LA193_619 = input.LA(1);
+						 
+						int index193_619 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_619);
+						if ( s>=0 ) return s;
+						break;
+
+					case 117 : 
+						int LA193_739 = input.LA(1);
+						 
+						int index193_739 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_739);
+						if ( s>=0 ) return s;
+						break;
+
+					case 118 : 
+						int LA193_670 = input.LA(1);
+						 
+						int index193_670 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_670);
+						if ( s>=0 ) return s;
+						break;
+
+					case 119 : 
+						int LA193_356 = input.LA(1);
+						 
+						int index193_356 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_356);
+						if ( s>=0 ) return s;
+						break;
+
+					case 120 : 
+						int LA193_114 = input.LA(1);
+						 
+						int index193_114 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_114);
+						if ( s>=0 ) return s;
+						break;
+
+					case 121 : 
+						int LA193_118 = input.LA(1);
+						 
+						int index193_118 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_118);
+						if ( s>=0 ) return s;
+						break;
+
+					case 122 : 
+						int LA193_406 = input.LA(1);
+						 
+						int index193_406 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_406);
+						if ( s>=0 ) return s;
+						break;
+
+					case 123 : 
+						int LA193_772 = input.LA(1);
+						 
+						int index193_772 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_772);
+						if ( s>=0 ) return s;
+						break;
+
+					case 124 : 
+						int LA193_408 = input.LA(1);
+						 
+						int index193_408 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_408);
+						if ( s>=0 ) return s;
+						break;
+
+					case 125 : 
+						int LA193_487 = input.LA(1);
+						 
+						int index193_487 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_487);
+						if ( s>=0 ) return s;
+						break;
+
+					case 126 : 
+						int LA193_540 = input.LA(1);
+						 
+						int index193_540 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_540);
+						if ( s>=0 ) return s;
+						break;
+
+					case 127 : 
+						int LA193_740 = input.LA(1);
+						 
+						int index193_740 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_740);
+						if ( s>=0 ) return s;
+						break;
+
+					case 128 : 
+						int LA193_542 = input.LA(1);
+						 
+						int index193_542 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_542);
+						if ( s>=0 ) return s;
+						break;
+
+					case 129 : 
+						int LA193_673 = input.LA(1);
+						 
+						int index193_673 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_673);
+						if ( s>=0 ) return s;
+						break;
+
+					case 130 : 
+						int LA193_822 = input.LA(1);
+						 
+						int index193_822 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_822);
+						if ( s>=0 ) return s;
+						break;
+
+					case 131 : 
+						int LA193_620 = input.LA(1);
+						 
+						int index193_620 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_620);
+						if ( s>=0 ) return s;
+						break;
+
+					case 132 : 
+						int LA193_671 = input.LA(1);
+						 
+						int index193_671 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_671);
+						if ( s>=0 ) return s;
+						break;
+
+					case 133 : 
+						int LA193_774 = input.LA(1);
+						 
+						int index193_774 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred9_Css3()) ) {s = 240;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_774);
+						if ( s>=0 ) return s;
+						break;
+
+					case 134 : 
+						int LA193_793 = input.LA(1);
+						 
+						int index193_793 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_793);
+						if ( s>=0 ) return s;
+						break;
+
+					case 135 : 
+						int LA193_314 = input.LA(1);
+						 
+						int index193_314 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_314);
+						if ( s>=0 ) return s;
+						break;
+
+					case 136 : 
+						int LA193_315 = input.LA(1);
+						 
+						int index193_315 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_315);
+						if ( s>=0 ) return s;
+						break;
+
+					case 137 : 
+						int LA193_222 = input.LA(1);
+						 
+						int index193_222 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_222);
+						if ( s>=0 ) return s;
+						break;
+
+					case 138 : 
+						int LA193_787 = input.LA(1);
+						 
+						int index193_787 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_787);
+						if ( s>=0 ) return s;
+						break;
+
+					case 139 : 
+						int LA193_223 = input.LA(1);
+						 
+						int index193_223 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_223);
+						if ( s>=0 ) return s;
+						break;
+
+					case 140 : 
+						int LA193_55 = input.LA(1);
+						 
+						int index193_55 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_55);
+						if ( s>=0 ) return s;
+						break;
+
+					case 141 : 
+						int LA193_88 = input.LA(1);
+						 
+						int index193_88 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_88);
+						if ( s>=0 ) return s;
+						break;
+
+					case 142 : 
+						int LA193_123 = input.LA(1);
+						 
+						int index193_123 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_123);
+						if ( s>=0 ) return s;
+						break;
+
+					case 143 : 
+						int LA193_141 = input.LA(1);
+						 
+						int index193_141 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_141);
+						if ( s>=0 ) return s;
+						break;
+
+					case 144 : 
+						int LA193_767 = input.LA(1);
+						 
+						int index193_767 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_767);
+						if ( s>=0 ) return s;
+						break;
+
+					case 145 : 
+						int LA193_58 = input.LA(1);
+						 
+						int index193_58 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_58);
+						if ( s>=0 ) return s;
+						break;
+
+					case 146 : 
+						int LA193_91 = input.LA(1);
+						 
+						int index193_91 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_91);
+						if ( s>=0 ) return s;
+						break;
+
+					case 147 : 
+						int LA193_124 = input.LA(1);
+						 
+						int index193_124 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_124);
+						if ( s>=0 ) return s;
+						break;
+
+					case 148 : 
+						int LA193_142 = input.LA(1);
+						 
+						int index193_142 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_142);
+						if ( s>=0 ) return s;
+						break;
+
+					case 149 : 
+						int LA193_770 = input.LA(1);
+						 
+						int index193_770 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_770);
+						if ( s>=0 ) return s;
+						break;
+
+					case 150 : 
+						int LA193_469 = input.LA(1);
+						 
+						int index193_469 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_469);
+						if ( s>=0 ) return s;
+						break;
+
+					case 151 : 
+						int LA193_80 = input.LA(1);
+						s = -1;
+						if ( (LA193_80=='z') ) {s = 217;}
+						else if ( (LA193_80=='Z') ) {s = 218;}
+						else if ( ((LA193_80 >= '\u0000' && LA193_80 <= '\t')||LA193_80=='\u000B'||(LA193_80 >= '\u000E' && LA193_80 <= '/')||(LA193_80 >= '1' && LA193_80 <= '4')||LA193_80=='6'||(LA193_80 >= '8' && LA193_80 <= 'Y')||(LA193_80 >= '[' && LA193_80 <= 'y')||(LA193_80 >= '{' && LA193_80 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_80=='0') ) {s = 219;}
+						else if ( (LA193_80=='5'||LA193_80=='7') ) {s = 220;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 152 : 
+						int LA193_725 = input.LA(1);
+						 
+						int index193_725 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_725);
+						if ( s>=0 ) return s;
+						break;
+
+					case 153 : 
 						int LA193_2 = input.LA(1);
 						s = -1;
 						if ( (LA193_2=='p') ) {s = 30;}
@@ -14370,696 +16043,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 37 : 
-						int LA193_723 = input.LA(1);
-						 
-						int index193_723 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_723);
-						if ( s>=0 ) return s;
-						break;
-
-					case 38 : 
-						int LA193_171 = input.LA(1);
-						 
-						int index193_171 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_171);
-						if ( s>=0 ) return s;
-						break;
-
-					case 39 : 
-						int LA193_172 = input.LA(1);
-						 
-						int index193_172 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_172);
-						if ( s>=0 ) return s;
-						break;
-
-					case 40 : 
-						int LA193_217 = input.LA(1);
-						 
-						int index193_217 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_217);
-						if ( s>=0 ) return s;
-						break;
-
-					case 41 : 
-						int LA193_218 = input.LA(1);
-						 
-						int index193_218 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_218);
-						if ( s>=0 ) return s;
-						break;
-
-					case 42 : 
-						int LA193_314 = input.LA(1);
-						 
-						int index193_314 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_314);
-						if ( s>=0 ) return s;
-						break;
-
-					case 43 : 
-						int LA193_315 = input.LA(1);
-						 
-						int index193_315 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_315);
-						if ( s>=0 ) return s;
-						break;
-
-					case 44 : 
-						int LA193_793 = input.LA(1);
-						 
-						int index193_793 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_793);
-						if ( s>=0 ) return s;
-						break;
-
-					case 45 : 
-						int LA193_405 = input.LA(1);
-						 
-						int index193_405 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_405);
-						if ( s>=0 ) return s;
-						break;
-
-					case 46 : 
-						int LA193_112 = input.LA(1);
-						 
-						int index193_112 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_112);
-						if ( s>=0 ) return s;
-						break;
-
-					case 47 : 
-						int LA193_117 = input.LA(1);
-						 
-						int index193_117 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_117);
-						if ( s>=0 ) return s;
-						break;
-
-					case 48 : 
-						int LA193_355 = input.LA(1);
-						 
-						int index193_355 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_355);
-						if ( s>=0 ) return s;
-						break;
-
-					case 49 : 
-						int LA193_672 = input.LA(1);
-						 
-						int index193_672 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_672);
-						if ( s>=0 ) return s;
-						break;
-
-					case 50 : 
-						int LA193_407 = input.LA(1);
-						 
-						int index193_407 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_407);
-						if ( s>=0 ) return s;
-						break;
-
-					case 51 : 
-						int LA193_486 = input.LA(1);
-						 
-						int index193_486 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_486);
-						if ( s>=0 ) return s;
-						break;
-
-					case 52 : 
-						int LA193_539 = input.LA(1);
-						 
-						int index193_539 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_539);
-						if ( s>=0 ) return s;
-						break;
-
-					case 53 : 
-						int LA193_541 = input.LA(1);
-						 
-						int index193_541 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_541);
-						if ( s>=0 ) return s;
-						break;
-
-					case 54 : 
-						int LA193_821 = input.LA(1);
-						 
-						int index193_821 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_821);
-						if ( s>=0 ) return s;
-						break;
-
-					case 55 : 
-						int LA193_619 = input.LA(1);
-						 
-						int index193_619 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_619);
-						if ( s>=0 ) return s;
-						break;
-
-					case 56 : 
-						int LA193_773 = input.LA(1);
-						 
-						int index193_773 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_773);
-						if ( s>=0 ) return s;
-						break;
-
-					case 57 : 
-						int LA193_739 = input.LA(1);
-						 
-						int index193_739 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_739);
-						if ( s>=0 ) return s;
-						break;
-
-					case 58 : 
-						int LA193_771 = input.LA(1);
-						 
-						int index193_771 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_771);
-						if ( s>=0 ) return s;
-						break;
-
-					case 59 : 
-						int LA193_670 = input.LA(1);
-						 
-						int index193_670 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_670);
-						if ( s>=0 ) return s;
-						break;
-
-					case 60 : 
-						int LA193_114 = input.LA(1);
-						 
-						int index193_114 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_114);
-						if ( s>=0 ) return s;
-						break;
-
-					case 61 : 
-						int LA193_118 = input.LA(1);
-						 
-						int index193_118 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_118);
-						if ( s>=0 ) return s;
-						break;
-
-					case 62 : 
-						int LA193_356 = input.LA(1);
-						 
-						int index193_356 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_356);
-						if ( s>=0 ) return s;
-						break;
-
-					case 63 : 
-						int LA193_406 = input.LA(1);
-						 
-						int index193_406 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_406);
-						if ( s>=0 ) return s;
-						break;
-
-					case 64 : 
-						int LA193_671 = input.LA(1);
-						 
-						int index193_671 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_671);
-						if ( s>=0 ) return s;
-						break;
-
-					case 65 : 
-						int LA193_673 = input.LA(1);
-						 
-						int index193_673 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_673);
-						if ( s>=0 ) return s;
-						break;
-
-					case 66 : 
-						int LA193_772 = input.LA(1);
-						 
-						int index193_772 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_772);
-						if ( s>=0 ) return s;
-						break;
-
-					case 67 : 
-						int LA193_620 = input.LA(1);
-						 
-						int index193_620 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_620);
-						if ( s>=0 ) return s;
-						break;
-
-					case 68 : 
-						int LA193_740 = input.LA(1);
-						 
-						int index193_740 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_740);
-						if ( s>=0 ) return s;
-						break;
-
-					case 69 : 
-						int LA193_774 = input.LA(1);
-						 
-						int index193_774 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_774);
-						if ( s>=0 ) return s;
-						break;
-
-					case 70 : 
-						int LA193_408 = input.LA(1);
-						 
-						int index193_408 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_408);
-						if ( s>=0 ) return s;
-						break;
-
-					case 71 : 
-						int LA193_822 = input.LA(1);
-						 
-						int index193_822 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_822);
-						if ( s>=0 ) return s;
-						break;
-
-					case 72 : 
-						int LA193_487 = input.LA(1);
-						 
-						int index193_487 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_487);
-						if ( s>=0 ) return s;
-						break;
-
-					case 73 : 
-						int LA193_540 = input.LA(1);
-						 
-						int index193_540 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_540);
-						if ( s>=0 ) return s;
-						break;
-
-					case 74 : 
-						int LA193_542 = input.LA(1);
-						 
-						int index193_542 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_542);
-						if ( s>=0 ) return s;
-						break;
-
-					case 75 : 
-						int LA193_469 = input.LA(1);
-						 
-						int index193_469 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_469);
-						if ( s>=0 ) return s;
-						break;
-
-					case 76 : 
-						int LA193_787 = input.LA(1);
-						 
-						int index193_787 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_787);
-						if ( s>=0 ) return s;
-						break;
-
-					case 77 : 
-						int LA193_725 = input.LA(1);
-						 
-						int index193_725 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_725);
-						if ( s>=0 ) return s;
-						break;
-
-					case 78 : 
-						int LA193_222 = input.LA(1);
-						 
-						int index193_222 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_222);
-						if ( s>=0 ) return s;
-						break;
-
-					case 79 : 
-						int LA193_223 = input.LA(1);
-						 
-						int index193_223 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_223);
-						if ( s>=0 ) return s;
-						break;
-
-					case 80 : 
-						int LA193_55 = input.LA(1);
-						 
-						int index193_55 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_55);
-						if ( s>=0 ) return s;
-						break;
-
-					case 81 : 
-						int LA193_88 = input.LA(1);
-						 
-						int index193_88 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_88);
-						if ( s>=0 ) return s;
-						break;
-
-					case 82 : 
-						int LA193_123 = input.LA(1);
-						 
-						int index193_123 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_123);
-						if ( s>=0 ) return s;
-						break;
-
-					case 83 : 
-						int LA193_141 = input.LA(1);
-						 
-						int index193_141 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_141);
-						if ( s>=0 ) return s;
-						break;
-
-					case 84 : 
-						int LA193_767 = input.LA(1);
-						 
-						int index193_767 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_767);
-						if ( s>=0 ) return s;
-						break;
-
-					case 85 : 
-						int LA193_58 = input.LA(1);
-						 
-						int index193_58 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_58);
-						if ( s>=0 ) return s;
-						break;
-
-					case 86 : 
-						int LA193_91 = input.LA(1);
-						 
-						int index193_91 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_91);
-						if ( s>=0 ) return s;
-						break;
-
-					case 87 : 
-						int LA193_124 = input.LA(1);
-						 
-						int index193_124 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_124);
-						if ( s>=0 ) return s;
-						break;
-
-					case 88 : 
-						int LA193_142 = input.LA(1);
-						 
-						int index193_142 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_142);
-						if ( s>=0 ) return s;
-						break;
-
-					case 89 : 
-						int LA193_770 = input.LA(1);
-						 
-						int index193_770 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_770);
-						if ( s>=0 ) return s;
-						break;
-
-					case 90 : 
+					case 154 : 
 						int LA193_475 = input.LA(1);
 						 
 						int index193_475 = input.index();
@@ -15072,7 +16056,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 91 : 
+					case 155 : 
 						int LA193_476 = input.LA(1);
 						 
 						int index193_476 = input.index();
@@ -15085,33 +16069,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 92 : 
-						int LA193_293 = input.LA(1);
-						 
-						int index193_293 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_293);
-						if ( s>=0 ) return s;
-						break;
-
-					case 93 : 
-						int LA193_294 = input.LA(1);
-						 
-						int index193_294 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_294);
-						if ( s>=0 ) return s;
-						break;
-
-					case 94 : 
+					case 156 : 
 						int LA193_827 = input.LA(1);
 						 
 						int index193_827 = input.index();
@@ -15124,83 +16082,33 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 95 : 
-						int LA193_431 = input.LA(1);
+					case 157 : 
+						int LA193_293 = input.LA(1);
 						 
-						int index193_431 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_431);
-						if ( s>=0 ) return s;
-						break;
-
-					case 96 : 
-						int LA193_432 = input.LA(1);
-						 
-						int index193_432 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_432);
-						if ( s>=0 ) return s;
-						break;
-
-					case 97 : 
-						int LA193_80 = input.LA(1);
-						s = -1;
-						if ( (LA193_80=='z') ) {s = 217;}
-						else if ( (LA193_80=='Z') ) {s = 218;}
-						else if ( ((LA193_80 >= '\u0000' && LA193_80 <= '\t')||LA193_80=='\u000B'||(LA193_80 >= '\u000E' && LA193_80 <= '/')||(LA193_80 >= '1' && LA193_80 <= '4')||LA193_80=='6'||(LA193_80 >= '8' && LA193_80 <= 'Y')||(LA193_80 >= '[' && LA193_80 <= 'y')||(LA193_80 >= '{' && LA193_80 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_80=='0') ) {s = 219;}
-						else if ( (LA193_80=='5'||LA193_80=='7') ) {s = 220;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 98 : 
-						int LA193_556 = input.LA(1);
-						 
-						int index193_556 = input.index();
+						int index193_293 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred4_Css3()) ) {s = 162;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_556);
+						input.seek(index193_293);
 						if ( s>=0 ) return s;
 						break;
 
-					case 99 : 
-						int LA193_693 = input.LA(1);
+					case 158 : 
+						int LA193_294 = input.LA(1);
 						 
-						int index193_693 = input.index();
+						int index193_294 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
+						if ( (synpred4_Css3()) ) {s = 162;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_693);
+						input.seek(index193_294);
 						if ( s>=0 ) return s;
 						break;
 
-					case 100 : 
-						int LA193_694 = input.LA(1);
-						 
-						int index193_694 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_694);
-						if ( s>=0 ) return s;
-						break;
-
-					case 101 : 
+					case 159 : 
 						int LA193_179 = input.LA(1);
 						 
 						int index193_179 = input.index();
@@ -15213,7 +16121,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 102 : 
+					case 160 : 
 						int LA193_180 = input.LA(1);
 						 
 						int index193_180 = input.index();
@@ -15226,7 +16134,72 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 103 : 
+					case 161 : 
+						int LA193_431 = input.LA(1);
+						 
+						int index193_431 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_431);
+						if ( s>=0 ) return s;
+						break;
+
+					case 162 : 
+						int LA193_432 = input.LA(1);
+						 
+						int index193_432 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_432);
+						if ( s>=0 ) return s;
+						break;
+
+					case 163 : 
+						int LA193_693 = input.LA(1);
+						 
+						int index193_693 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_693);
+						if ( s>=0 ) return s;
+						break;
+
+					case 164 : 
+						int LA193_694 = input.LA(1);
+						 
+						int index193_694 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_694);
+						if ( s>=0 ) return s;
+						break;
+
+					case 165 : 
+						int LA193_556 = input.LA(1);
+						 
+						int index193_556 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_556);
+						if ( s>=0 ) return s;
+						break;
+
+					case 166 : 
 						int LA193_560 = input.LA(1);
 						 
 						int index193_560 = input.index();
@@ -15239,7 +16212,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 104 : 
+					case 167 : 
 						int LA193_599 = input.LA(1);
 						 
 						int index193_599 = input.index();
@@ -15252,7 +16225,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 105 : 
+					case 168 : 
 						int LA193_600 = input.LA(1);
 						 
 						int index193_600 = input.index();
@@ -15265,46 +16238,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 106 : 
-						int LA193_309 = input.LA(1);
-						 
-						int index193_309 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_309);
-						if ( s>=0 ) return s;
-						break;
-
-					case 107 : 
-						int LA193_310 = input.LA(1);
-						 
-						int index193_310 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_310);
-						if ( s>=0 ) return s;
-						break;
-
-					case 108 : 
-						int LA193_441 = input.LA(1);
-						 
-						int index193_441 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_441);
-						if ( s>=0 ) return s;
-						break;
-
-					case 109 : 
+					case 169 : 
 						int LA193_196 = input.LA(1);
 						 
 						int index193_196 = input.index();
@@ -15317,7 +16251,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 110 : 
+					case 170 : 
 						int LA193_204 = input.LA(1);
 						 
 						int index193_204 = input.index();
@@ -15330,7 +16264,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 111 : 
+					case 171 : 
 						int LA193_775 = input.LA(1);
 						 
 						int index193_775 = input.index();
@@ -15343,7 +16277,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 112 : 
+					case 172 : 
 						int LA193_779 = input.LA(1);
 						 
 						int index193_779 = input.index();
@@ -15356,7 +16290,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 113 : 
+					case 173 : 
 						int LA193_829 = input.LA(1);
 						 
 						int index193_829 = input.index();
@@ -15369,20 +16303,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 114 : 
-						int LA193_442 = input.LA(1);
-						 
-						int index193_442 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_442);
-						if ( s>=0 ) return s;
-						break;
-
-					case 115 : 
+					case 174 : 
 						int LA193_198 = input.LA(1);
 						 
 						int index193_198 = input.index();
@@ -15395,7 +16316,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 116 : 
+					case 175 : 
 						int LA193_205 = input.LA(1);
 						 
 						int index193_205 = input.index();
@@ -15408,7 +16329,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 117 : 
+					case 176 : 
 						int LA193_776 = input.LA(1);
 						 
 						int index193_776 = input.index();
@@ -15421,7 +16342,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 118 : 
+					case 177 : 
 						int LA193_780 = input.LA(1);
 						 
 						int index193_780 = input.index();
@@ -15434,7 +16355,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 119 : 
+					case 178 : 
 						int LA193_830 = input.LA(1);
 						 
 						int index193_830 = input.index();
@@ -15447,46 +16368,42 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 120 : 
-						int LA193_603 = input.LA(1);
+					case 179 : 
+						int LA193_309 = input.LA(1);
 						 
-						int index193_603 = input.index();
+						int index193_309 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_603);
+						input.seek(index193_309);
 						if ( s>=0 ) return s;
 						break;
 
-					case 121 : 
-						int LA193_701 = input.LA(1);
+					case 180 : 
+						int LA193_310 = input.LA(1);
 						 
-						int index193_701 = input.index();
+						int index193_310 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_701);
+						input.seek(index193_310);
 						if ( s>=0 ) return s;
 						break;
 
-					case 122 : 
-						int LA193_702 = input.LA(1);
-						 
-						int index193_702 = input.index();
-						input.rewind();
+					case 181 : 
+						int LA193_197 = input.LA(1);
 						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_702);
+						if ( ((LA193_197 >= '\u0000' && LA193_197 <= '\t')||LA193_197=='\u000B'||(LA193_197 >= '\u000E' && LA193_197 <= '/')||(LA193_197 >= '1' && LA193_197 <= '3')||LA193_197=='5'||(LA193_197 >= '7' && LA193_197 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_197=='0') ) {s = 317;}
+						else if ( (LA193_197=='4'||LA193_197=='6') ) {s = 318;}
 						if ( s>=0 ) return s;
 						break;
 
-					case 123 : 
+					case 182 : 
 						int LA193_233 = input.LA(1);
 						 
 						int index193_233 = input.index();
@@ -15499,7 +16416,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 124 : 
+					case 183 : 
 						int LA193_102 = input.LA(1);
 						 
 						int index193_102 = input.index();
@@ -15512,7 +16429,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 125 : 
+					case 184 : 
 						int LA193_115 = input.LA(1);
 						 
 						int index193_115 = input.index();
@@ -15525,7 +16442,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 126 : 
+					case 185 : 
 						int LA193_231 = input.LA(1);
 						 
 						int index193_231 = input.index();
@@ -15538,33 +16455,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 127 : 
-						int LA193_735 = input.LA(1);
-						 
-						int index193_735 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_735);
-						if ( s>=0 ) return s;
-						break;
-
-					case 128 : 
-						int LA193_819 = input.LA(1);
-						 
-						int index193_819 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_819);
-						if ( s>=0 ) return s;
-						break;
-
-					case 129 : 
+					case 186 : 
 						int LA193_351 = input.LA(1);
 						 
 						int index193_351 = input.index();
@@ -15577,7 +16468,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 130 : 
+					case 187 : 
 						int LA193_482 = input.LA(1);
 						 
 						int index193_482 = input.index();
@@ -15590,7 +16481,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 131 : 
+					case 188 : 
+						int LA193_819 = input.LA(1);
+						 
+						int index193_819 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_819);
+						if ( s>=0 ) return s;
+						break;
+
+					case 189 : 
 						int LA193_615 = input.LA(1);
 						 
 						int index193_615 = input.index();
@@ -15603,7 +16507,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 132 : 
+					case 190 : 
+						int LA193_735 = input.LA(1);
+						 
+						int index193_735 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_735);
+						if ( s>=0 ) return s;
+						break;
+
+					case 191 : 
 						int LA193_105 = input.LA(1);
 						 
 						int index193_105 = input.index();
@@ -15616,137 +16533,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 133 : 
-						int LA193_116 = input.LA(1);
-						 
-						int index193_116 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_116);
-						if ( s>=0 ) return s;
-						break;
-
-					case 134 : 
-						int LA193_232 = input.LA(1);
-						 
-						int index193_232 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_232);
-						if ( s>=0 ) return s;
-						break;
-
-					case 135 : 
-						int LA193_234 = input.LA(1);
-						 
-						int index193_234 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_234);
-						if ( s>=0 ) return s;
-						break;
-
-					case 136 : 
-						int LA193_353 = input.LA(1);
-						 
-						int index193_353 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_353);
-						if ( s>=0 ) return s;
-						break;
-
-					case 137 : 
-						int LA193_484 = input.LA(1);
-						 
-						int index193_484 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_484);
-						if ( s>=0 ) return s;
-						break;
-
-					case 138 : 
-						int LA193_617 = input.LA(1);
-						 
-						int index193_617 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_617);
-						if ( s>=0 ) return s;
-						break;
-
-					case 139 : 
-						int LA193_737 = input.LA(1);
-						 
-						int index193_737 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_737);
-						if ( s>=0 ) return s;
-						break;
-
-					case 140 : 
-						int LA193_820 = input.LA(1);
-						 
-						int index193_820 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_820);
-						if ( s>=0 ) return s;
-						break;
-
-					case 141 : 
-						int LA193_149 = input.LA(1);
-						 
-						int index193_149 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_149);
-						if ( s>=0 ) return s;
-						break;
-
-					case 142 : 
-						int LA193_59 = input.LA(1);
-						 
-						int index193_59 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_59);
-						if ( s>=0 ) return s;
-						break;
-
-					case 143 : 
+					case 192 : 
 						int LA193_92 = input.LA(1);
 						 
 						int index193_92 = input.index();
@@ -15759,46 +16546,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 144 : 
-						int LA193_266 = input.LA(1);
+					case 193 : 
+						int LA193_59 = input.LA(1);
 						 
-						int index193_266 = input.index();
+						int index193_59 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred6_Css3()) ) {s = 178;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_266);
+						input.seek(index193_59);
 						if ( s>=0 ) return s;
 						break;
 
-					case 145 : 
-						int LA193_381 = input.LA(1);
-						 
-						int index193_381 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_381);
-						if ( s>=0 ) return s;
-						break;
-
-					case 146 : 
-						int LA193_515 = input.LA(1);
-						 
-						int index193_515 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_515);
-						if ( s>=0 ) return s;
-						break;
-
-					case 147 : 
+					case 194 : 
 						int LA193_646 = input.LA(1);
 						 
 						int index193_646 = input.index();
@@ -15811,7 +16572,98 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 148 : 
+					case 195 : 
+						int LA193_116 = input.LA(1);
+						 
+						int index193_116 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_116);
+						if ( s>=0 ) return s;
+						break;
+
+					case 196 : 
+						int LA193_484 = input.LA(1);
+						 
+						int index193_484 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_484);
+						if ( s>=0 ) return s;
+						break;
+
+					case 197 : 
+						int LA193_820 = input.LA(1);
+						 
+						int index193_820 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_820);
+						if ( s>=0 ) return s;
+						break;
+
+					case 198 : 
+						int LA193_232 = input.LA(1);
+						 
+						int index193_232 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_232);
+						if ( s>=0 ) return s;
+						break;
+
+					case 199 : 
+						int LA193_234 = input.LA(1);
+						 
+						int index193_234 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_234);
+						if ( s>=0 ) return s;
+						break;
+
+					case 200 : 
+						int LA193_617 = input.LA(1);
+						 
+						int index193_617 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_617);
+						if ( s>=0 ) return s;
+						break;
+
+					case 201 : 
+						int LA193_266 = input.LA(1);
+						 
+						int index193_266 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_266);
+						if ( s>=0 ) return s;
+						break;
+
+					case 202 : 
 						int LA193_751 = input.LA(1);
 						 
 						int index193_751 = input.index();
@@ -15824,7 +16676,59 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 149 : 
+					case 203 : 
+						int LA193_515 = input.LA(1);
+						 
+						int index193_515 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_515);
+						if ( s>=0 ) return s;
+						break;
+
+					case 204 : 
+						int LA193_353 = input.LA(1);
+						 
+						int index193_353 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_353);
+						if ( s>=0 ) return s;
+						break;
+
+					case 205 : 
+						int LA193_737 = input.LA(1);
+						 
+						int index193_737 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_737);
+						if ( s>=0 ) return s;
+						break;
+
+					case 206 : 
+						int LA193_381 = input.LA(1);
+						 
+						int index193_381 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_381);
+						if ( s>=0 ) return s;
+						break;
+
+					case 207 : 
 						int LA193_61 = input.LA(1);
 						 
 						int index193_61 = input.index();
@@ -15837,7 +16741,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 150 : 
+					case 208 : 
 						int LA193_93 = input.LA(1);
 						 
 						int index193_93 = input.index();
@@ -15850,7 +16754,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 151 : 
+					case 209 : 
 						int LA193_267 = input.LA(1);
 						 
 						int index193_267 = input.index();
@@ -15863,7 +16767,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 152 : 
+					case 210 : 
 						int LA193_382 = input.LA(1);
 						 
 						int index193_382 = input.index();
@@ -15876,7 +16780,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 153 : 
+					case 211 : 
 						int LA193_516 = input.LA(1);
 						 
 						int index193_516 = input.index();
@@ -15889,7 +16793,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 154 : 
+					case 212 : 
 						int LA193_647 = input.LA(1);
 						 
 						int index193_647 = input.index();
@@ -15902,7 +16806,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 155 : 
+					case 213 : 
 						int LA193_752 = input.LA(1);
 						 
 						int index193_752 = input.index();
@@ -15915,7 +16819,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 156 : 
+					case 214 : 
 						int LA193_192 = input.LA(1);
 						 
 						int index193_192 = input.index();
@@ -15928,7 +16832,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 157 : 
+					case 215 : 
 						int LA193_193 = input.LA(1);
 						 
 						int index193_193 = input.index();
@@ -15941,7 +16845,85 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 158 : 
+					case 216 : 
+						int LA193_441 = input.LA(1);
+						 
+						int index193_441 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_441);
+						if ( s>=0 ) return s;
+						break;
+
+					case 217 : 
+						int LA193_442 = input.LA(1);
+						 
+						int index193_442 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_442);
+						if ( s>=0 ) return s;
+						break;
+
+					case 218 : 
+						int LA193_701 = input.LA(1);
+						 
+						int index193_701 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_701);
+						if ( s>=0 ) return s;
+						break;
+
+					case 219 : 
+						int LA193_702 = input.LA(1);
+						 
+						int index193_702 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_702);
+						if ( s>=0 ) return s;
+						break;
+
+					case 220 : 
+						int LA193_603 = input.LA(1);
+						 
+						int index193_603 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_603);
+						if ( s>=0 ) return s;
+						break;
+
+					case 221 : 
+						int LA193_149 = input.LA(1);
+						 
+						int index193_149 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred11_Css3()) ) {s = 75;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_149);
+						if ( s>=0 ) return s;
+						break;
+
+					case 222 : 
 						int LA193_785 = input.LA(1);
 						 
 						int index193_785 = input.index();
@@ -15954,7 +16936,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 159 : 
+					case 223 : 
 						int LA193_456 = input.LA(1);
 						 
 						int index193_456 = input.index();
@@ -15967,7 +16949,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 160 : 
+					case 224 : 
 						int LA193_457 = input.LA(1);
 						 
 						int index193_457 = input.index();
@@ -15980,250 +16962,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 161 : 
-						int LA193_609 = input.LA(1);
-						 
-						int index193_609 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_609);
-						if ( s>=0 ) return s;
-						break;
-
-					case 162 : 
-						int LA193_610 = input.LA(1);
-						 
-						int index193_610 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_610);
-						if ( s>=0 ) return s;
-						break;
-
-					case 163 : 
-						int LA193_301 = input.LA(1);
-						 
-						int index193_301 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_301);
-						if ( s>=0 ) return s;
-						break;
-
-					case 164 : 
-						int LA193_197 = input.LA(1);
-						s = -1;
-						if ( ((LA193_197 >= '\u0000' && LA193_197 <= '\t')||LA193_197=='\u000B'||(LA193_197 >= '\u000E' && LA193_197 <= '/')||(LA193_197 >= '1' && LA193_197 <= '3')||LA193_197=='5'||(LA193_197 >= '7' && LA193_197 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_197=='0') ) {s = 317;}
-						else if ( (LA193_197=='4'||LA193_197=='6') ) {s = 318;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 165 : 
-						int LA193_786 = input.LA(1);
-						 
-						int index193_786 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_786);
-						if ( s>=0 ) return s;
-						break;
-
-					case 166 : 
-						int LA193_810 = input.LA(1);
-						 
-						int index193_810 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_810);
-						if ( s>=0 ) return s;
-						break;
-
-					case 167 : 
-						int LA193_811 = input.LA(1);
-						 
-						int index193_811 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_811);
-						if ( s>=0 ) return s;
-						break;
-
-					case 168 : 
-						int LA193_817 = input.LA(1);
-						 
-						int index193_817 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_817);
-						if ( s>=0 ) return s;
-						break;
-
-					case 169 : 
-						int LA193_818 = input.LA(1);
-						 
-						int index193_818 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_818);
-						if ( s>=0 ) return s;
-						break;
-
-					case 170 : 
-						int LA193_420 = input.LA(1);
-						 
-						int index193_420 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_420);
-						if ( s>=0 ) return s;
-						break;
-
-					case 171 : 
-						int LA193_421 = input.LA(1);
-						 
-						int index193_421 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_421);
-						if ( s>=0 ) return s;
-						break;
-
-					case 172 : 
-						int LA193_9 = input.LA(1);
-						 
-						int index193_9 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_9);
-						if ( s>=0 ) return s;
-						break;
-
-					case 173 : 
-						int LA193_20 = input.LA(1);
-						 
-						int index193_20 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_20);
-						if ( s>=0 ) return s;
-						break;
-
-					case 174 : 
-						int LA193_342 = input.LA(1);
-						 
-						int index193_342 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_342);
-						if ( s>=0 ) return s;
-						break;
-
-					case 175 : 
-						int LA193_98 = input.LA(1);
-						 
-						int index193_98 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_98);
-						if ( s>=0 ) return s;
-						break;
-
-					case 176 : 
-						int LA193_67 = input.LA(1);
-						 
-						int index193_67 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_67);
-						if ( s>=0 ) return s;
-						break;
-
-					case 177 : 
-						int LA193_154 = input.LA(1);
-						 
-						int index193_154 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_154);
-						if ( s>=0 ) return s;
-						break;
-
-					case 178 : 
-						int LA193_156 = input.LA(1);
-						 
-						int index193_156 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_156);
-						if ( s>=0 ) return s;
-						break;
-
-					case 179 : 
-						int LA193_272 = input.LA(1);
-						 
-						int index193_272 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_272);
-						if ( s>=0 ) return s;
-						break;
-
-					case 180 : 
+					case 225 : 
 						int LA193_387 = input.LA(1);
 						 
 						int index193_387 = input.index();
@@ -16236,20 +16975,72 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 181 : 
-						int LA193_521 = input.LA(1);
+					case 226 : 
+						int LA193_98 = input.LA(1);
 						 
-						int index193_521 = input.index();
+						int index193_98 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred8_Css3()) ) {s = 191;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_521);
+						input.seek(index193_98);
 						if ( s>=0 ) return s;
 						break;
 
-					case 182 : 
+					case 227 : 
+						int LA193_67 = input.LA(1);
+						 
+						int index193_67 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_67);
+						if ( s>=0 ) return s;
+						break;
+
+					case 228 : 
+						int LA193_154 = input.LA(1);
+						 
+						int index193_154 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_154);
+						if ( s>=0 ) return s;
+						break;
+
+					case 229 : 
+						int LA193_156 = input.LA(1);
+						 
+						int index193_156 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_156);
+						if ( s>=0 ) return s;
+						break;
+
+					case 230 : 
+						int LA193_272 = input.LA(1);
+						 
+						int index193_272 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_272);
+						if ( s>=0 ) return s;
+						break;
+
+					case 231 : 
 						int LA193_652 = input.LA(1);
 						 
 						int index193_652 = input.index();
@@ -16262,7 +17053,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 183 : 
+					case 232 : 
+						int LA193_521 = input.LA(1);
+						 
+						int index193_521 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_521);
+						if ( s>=0 ) return s;
+						break;
+
+					case 233 : 
 						int LA193_757 = input.LA(1);
 						 
 						int index193_757 = input.index();
@@ -16275,20 +17079,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 184 : 
-						int LA193_343 = input.LA(1);
-						 
-						int index193_343 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_343);
-						if ( s>=0 ) return s;
-						break;
-
-					case 185 : 
+					case 234 : 
 						int LA193_69 = input.LA(1);
 						 
 						int index193_69 = input.index();
@@ -16301,7 +17092,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 186 : 
+					case 235 : 
 						int LA193_99 = input.LA(1);
 						 
 						int index193_99 = input.index();
@@ -16314,7 +17105,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 187 : 
+					case 236 : 
 						int LA193_155 = input.LA(1);
 						 
 						int index193_155 = input.index();
@@ -16327,7 +17118,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 188 : 
+					case 237 : 
 						int LA193_157 = input.LA(1);
 						 
 						int index193_157 = input.index();
@@ -16340,7 +17131,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 189 : 
+					case 238 : 
 						int LA193_273 = input.LA(1);
 						 
 						int index193_273 = input.index();
@@ -16353,7 +17144,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 190 : 
+					case 239 : 
 						int LA193_388 = input.LA(1);
 						 
 						int index193_388 = input.index();
@@ -16366,7 +17157,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 191 : 
+					case 240 : 
 						int LA193_522 = input.LA(1);
 						 
 						int index193_522 = input.index();
@@ -16379,20 +17170,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 192 : 
-						int LA193_653 = input.LA(1);
-						 
-						int index193_653 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_653);
-						if ( s>=0 ) return s;
-						break;
-
-					case 193 : 
+					case 241 : 
 						int LA193_758 = input.LA(1);
 						 
 						int index193_758 = input.index();
@@ -16405,85 +17183,150 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 194 : 
-						int LA193_565 = input.LA(1);
+					case 242 : 
+						int LA193_653 = input.LA(1);
 						 
-						int index193_565 = input.index();
+						int index193_653 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
+						if ( (synpred8_Css3()) ) {s = 191;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_565);
+						input.seek(index193_653);
 						if ( s>=0 ) return s;
 						break;
 
-					case 195 : 
-						int LA193_566 = input.LA(1);
+					case 243 : 
+						int LA193_9 = input.LA(1);
 						 
-						int index193_566 = input.index();
+						int index193_9 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred6_Css3()) ) {s = 178;}
+						if ( (synpred11_Css3()) ) {s = 75;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_566);
+						input.seek(index193_9);
 						if ( s>=0 ) return s;
 						break;
 
-					case 196 : 
-						int LA193_282 = input.LA(1);
+					case 244 : 
+						int LA193_20 = input.LA(1);
 						 
-						int index193_282 = input.index();
+						int index193_20 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred11_Css3()) ) {s = 75;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_20);
+						if ( s>=0 ) return s;
+						break;
+
+					case 245 : 
+						int LA193_342 = input.LA(1);
+						 
+						int index193_342 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_342);
+						if ( s>=0 ) return s;
+						break;
+
+					case 246 : 
+						int LA193_343 = input.LA(1);
+						 
+						int index193_343 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_343);
+						if ( s>=0 ) return s;
+						break;
+
+					case 247 : 
+						int LA193_786 = input.LA(1);
+						 
+						int index193_786 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_282);
+						input.seek(index193_786);
 						if ( s>=0 ) return s;
 						break;
 
-					case 197 : 
-						int LA193_285 = input.LA(1);
+					case 248 : 
+						int LA193_301 = input.LA(1);
 						 
-						int index193_285 = input.index();
+						int index193_301 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_285);
+						input.seek(index193_301);
 						if ( s>=0 ) return s;
 						break;
 
-					case 198 : 
-						int LA193_684 = input.LA(1);
+					case 249 : 
+						int LA193_810 = input.LA(1);
 						 
-						int index193_684 = input.index();
+						int index193_810 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred12_Css3()) ) {s = 216;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_684);
+						input.seek(index193_810);
 						if ( s>=0 ) return s;
 						break;
 
-					case 199 : 
-						int LA193_685 = input.LA(1);
+					case 250 : 
+						int LA193_609 = input.LA(1);
 						 
-						int index193_685 = input.index();
+						int index193_609 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred3_Css3()) ) {s = 221;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_685);
+						input.seek(index193_609);
 						if ( s>=0 ) return s;
 						break;
 
-					case 200 : 
+					case 251 : 
+						int LA193_811 = input.LA(1);
+						 
+						int index193_811 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred12_Css3()) ) {s = 216;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_811);
+						if ( s>=0 ) return s;
+						break;
+
+					case 252 : 
+						int LA193_610 = input.LA(1);
+						 
+						int index193_610 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_610);
+						if ( s>=0 ) return s;
+						break;
+
+					case 253 : 
 						int LA193_163 = input.LA(1);
 						 
 						int index193_163 = input.index();
@@ -16496,7 +17339,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 201 : 
+					case 254 : 
+						int LA193_817 = input.LA(1);
+						 
+						int index193_817 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_817);
+						if ( s>=0 ) return s;
+						break;
+
+					case 255 : 
 						int LA193_164 = input.LA(1);
 						 
 						int index193_164 = input.index();
@@ -16509,33 +17365,46 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 202 : 
-						int LA193_531 = input.LA(1);
+					case 256 : 
+						int LA193_818 = input.LA(1);
 						 
-						int index193_531 = input.index();
+						int index193_818 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
+						if ( (synpred3_Css3()) ) {s = 221;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_531);
+						input.seek(index193_818);
 						if ( s>=0 ) return s;
 						break;
 
-					case 203 : 
-						int LA193_534 = input.LA(1);
+					case 257 : 
+						int LA193_420 = input.LA(1);
 						 
-						int index193_534 = input.index();
+						int index193_420 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
+						if ( (synpred4_Css3()) ) {s = 162;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_534);
+						input.seek(index193_420);
 						if ( s>=0 ) return s;
 						break;
 
-					case 204 : 
+					case 258 : 
+						int LA193_421 = input.LA(1);
+						 
+						int index193_421 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_421);
+						if ( s>=0 ) return s;
+						break;
+
+					case 259 : 
 						int LA193_41 = input.LA(1);
 						 
 						int index193_41 = input.index();
@@ -16548,7 +17417,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 205 : 
+					case 260 : 
 						int LA193_42 = input.LA(1);
 						 
 						int index193_42 = input.index();
@@ -16561,7 +17430,122 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 206 : 
+					case 261 : 
+						int LA193_565 = input.LA(1);
+						 
+						int index193_565 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_565);
+						if ( s>=0 ) return s;
+						break;
+
+					case 262 : 
+						int LA193_566 = input.LA(1);
+						 
+						int index193_566 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred6_Css3()) ) {s = 178;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_566);
+						if ( s>=0 ) return s;
+						break;
+
+					case 263 : 
+						int LA193_282 = input.LA(1);
+						 
+						int index193_282 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_282);
+						if ( s>=0 ) return s;
+						break;
+
+					case 264 : 
+						int LA193_684 = input.LA(1);
+						 
+						int index193_684 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_684);
+						if ( s>=0 ) return s;
+						break;
+
+					case 265 : 
+						int LA193_285 = input.LA(1);
+						 
+						int index193_285 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_285);
+						if ( s>=0 ) return s;
+						break;
+
+					case 266 : 
+						int LA193_685 = input.LA(1);
+						 
+						int index193_685 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_685);
+						if ( s>=0 ) return s;
+						break;
+
+					case 267 : 
+						int LA193_531 = input.LA(1);
+						 
+						int index193_531 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_531);
+						if ( s>=0 ) return s;
+						break;
+
+					case 268 : 
+						int LA193_103 = input.LA(1);
+						s = -1;
+						if ( (LA193_103=='i') ) {s = 222;}
+						else if ( (LA193_103=='I') ) {s = 223;}
+						else if ( ((LA193_103 >= '\u0000' && LA193_103 <= '\t')||LA193_103=='\u000B'||(LA193_103 >= '\u000E' && LA193_103 <= '/')||(LA193_103 >= '1' && LA193_103 <= '3')||LA193_103=='5'||(LA193_103 >= '7' && LA193_103 <= 'H')||(LA193_103 >= 'J' && LA193_103 <= 'h')||(LA193_103 >= 'j' && LA193_103 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_103=='0') ) {s = 224;}
+						else if ( (LA193_103=='4'||LA193_103=='6') ) {s = 225;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 269 : 
+						int LA193_534 = input.LA(1);
+						 
+						int index193_534 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_534);
+						if ( s>=0 ) return s;
+						break;
+
+					case 270 : 
 						int LA193_812 = input.LA(1);
 						 
 						int index193_812 = input.index();
@@ -16574,137 +17558,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 207 : 
-						int LA193_436 = input.LA(1);
-						 
-						int index193_436 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_436);
-						if ( s>=0 ) return s;
-						break;
-
-					case 208 : 
-						int LA193_437 = input.LA(1);
-						 
-						int index193_437 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_437);
-						if ( s>=0 ) return s;
-						break;
-
-					case 209 : 
-						int LA193_697 = input.LA(1);
-						 
-						int index193_697 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_697);
-						if ( s>=0 ) return s;
-						break;
-
-					case 210 : 
-						int LA193_698 = input.LA(1);
-						 
-						int index193_698 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_698);
-						if ( s>=0 ) return s;
-						break;
-
-					case 211 : 
-						int LA193_490 = input.LA(1);
-						 
-						int index193_490 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_490);
-						if ( s>=0 ) return s;
-						break;
-
-					case 212 : 
-						int LA193_226 = input.LA(1);
-						 
-						int index193_226 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_226);
-						if ( s>=0 ) return s;
-						break;
-
-					case 213 : 
-						int LA193_814 = input.LA(1);
-						 
-						int index193_814 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_814);
-						if ( s>=0 ) return s;
-						break;
-
-					case 214 : 
-						int LA193_229 = input.LA(1);
-						 
-						int index193_229 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_229);
-						if ( s>=0 ) return s;
-						break;
-
-					case 215 : 
-						int LA193_837 = input.LA(1);
-						 
-						int index193_837 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_837);
-						if ( s>=0 ) return s;
-						break;
-
-					case 216 : 
-						int LA193_471 = input.LA(1);
-						 
-						int index193_471 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_471);
-						if ( s>=0 ) return s;
-						break;
-
-					case 217 : 
+					case 271 : 
 						int LA193_488 = input.LA(1);
 						 
 						int index193_488 = input.index();
@@ -16717,33 +17571,72 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 218 : 
-						int LA193_741 = input.LA(1);
+					case 272 : 
+						int LA193_226 = input.LA(1);
 						 
-						int index193_741 = input.index();
+						int index193_226 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred3_Css3()) ) {s = 221;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_741);
+						input.seek(index193_226);
 						if ( s>=0 ) return s;
 						break;
 
-					case 219 : 
-						int LA193_605 = input.LA(1);
+					case 273 : 
+						int LA193_229 = input.LA(1);
 						 
-						int index193_605 = input.index();
+						int index193_229 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred3_Css3()) ) {s = 221;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_605);
+						input.seek(index193_229);
 						if ( s>=0 ) return s;
 						break;
 
-					case 220 : 
+					case 274 : 
+						int LA193_471 = input.LA(1);
+						 
+						int index193_471 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_471);
+						if ( s>=0 ) return s;
+						break;
+
+					case 275 : 
+						int LA193_837 = input.LA(1);
+						 
+						int index193_837 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_837);
+						if ( s>=0 ) return s;
+						break;
+
+					case 276 : 
+						int LA193_490 = input.LA(1);
+						 
+						int index193_490 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_490);
+						if ( s>=0 ) return s;
+						break;
+
+					case 277 : 
 						int LA193_823 = input.LA(1);
 						 
 						int index193_823 = input.index();
@@ -16756,7 +17649,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 221 : 
+					case 278 : 
+						int LA193_605 = input.LA(1);
+						 
+						int index193_605 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_605);
+						if ( s>=0 ) return s;
+						break;
+
+					case 279 : 
 						int LA193_621 = input.LA(1);
 						 
 						int index193_621 = input.index();
@@ -16769,33 +17675,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 222 : 
-						int LA193_623 = input.LA(1);
-						 
-						int index193_623 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_623);
-						if ( s>=0 ) return s;
-						break;
-
-					case 223 : 
-						int LA193_727 = input.LA(1);
-						 
-						int index193_727 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_727);
-						if ( s>=0 ) return s;
-						break;
-
-					case 224 : 
+					case 280 : 
 						int LA193_825 = input.LA(1);
 						 
 						int index193_825 = input.index();
@@ -16808,7 +17688,59 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 225 : 
+					case 281 : 
+						int LA193_623 = input.LA(1);
+						 
+						int index193_623 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_623);
+						if ( s>=0 ) return s;
+						break;
+
+					case 282 : 
+						int LA193_814 = input.LA(1);
+						 
+						int index193_814 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_814);
+						if ( s>=0 ) return s;
+						break;
+
+					case 283 : 
+						int LA193_741 = input.LA(1);
+						 
+						int index193_741 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_741);
+						if ( s>=0 ) return s;
+						break;
+
+					case 284 : 
+						int LA193_727 = input.LA(1);
+						 
+						int index193_727 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_727);
+						if ( s>=0 ) return s;
+						break;
+
+					case 285 : 
 						int LA193_743 = input.LA(1);
 						 
 						int index193_743 = input.index();
@@ -16821,20 +17753,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 226 : 
-						int LA193_491 = input.LA(1);
-						 
-						int index193_491 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_491);
-						if ( s>=0 ) return s;
-						break;
-
-					case 227 : 
+					case 286 : 
 						int LA193_228 = input.LA(1);
 						 
 						int index193_228 = input.index();
@@ -16847,7 +17766,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 228 : 
+					case 287 : 
 						int LA193_230 = input.LA(1);
 						 
 						int index193_230 = input.index();
@@ -16860,7 +17779,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 229 : 
+					case 288 : 
 						int LA193_744 = input.LA(1);
 						 
 						int index193_744 = input.index();
@@ -16873,33 +17792,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 230 : 
-						int LA193_815 = input.LA(1);
-						 
-						int index193_815 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_815);
-						if ( s>=0 ) return s;
-						break;
-
-					case 231 : 
-						int LA193_824 = input.LA(1);
-						 
-						int index193_824 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_824);
-						if ( s>=0 ) return s;
-						break;
-
-					case 232 : 
+					case 289 : 
 						int LA193_472 = input.LA(1);
 						 
 						int index193_472 = input.index();
@@ -16912,7 +17805,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 233 : 
+					case 290 : 
 						int LA193_489 = input.LA(1);
 						 
 						int index193_489 = input.index();
@@ -16925,72 +17818,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 234 : 
-						int LA193_728 = input.LA(1);
-						 
-						int index193_728 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_728);
-						if ( s>=0 ) return s;
-						break;
-
-					case 235 : 
-						int LA193_838 = input.LA(1);
-						 
-						int index193_838 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_838);
-						if ( s>=0 ) return s;
-						break;
-
-					case 236 : 
-						int LA193_606 = input.LA(1);
-						 
-						int index193_606 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_606);
-						if ( s>=0 ) return s;
-						break;
-
-					case 237 : 
-						int LA193_622 = input.LA(1);
-						 
-						int index193_622 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_622);
-						if ( s>=0 ) return s;
-						break;
-
-					case 238 : 
-						int LA193_742 = input.LA(1);
-						 
-						int index193_742 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_742);
-						if ( s>=0 ) return s;
-						break;
-
-					case 239 : 
+					case 291 : 
 						int LA193_826 = input.LA(1);
 						 
 						int index193_826 = input.index();
@@ -17003,7 +17831,59 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 240 : 
+					case 292 : 
+						int LA193_491 = input.LA(1);
+						 
+						int index193_491 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_491);
+						if ( s>=0 ) return s;
+						break;
+
+					case 293 : 
+						int LA193_606 = input.LA(1);
+						 
+						int index193_606 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_606);
+						if ( s>=0 ) return s;
+						break;
+
+					case 294 : 
+						int LA193_622 = input.LA(1);
+						 
+						int index193_622 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_622);
+						if ( s>=0 ) return s;
+						break;
+
+					case 295 : 
+						int LA193_815 = input.LA(1);
+						 
+						int index193_815 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_815);
+						if ( s>=0 ) return s;
+						break;
+
+					case 296 : 
 						int LA193_624 = input.LA(1);
 						 
 						int index193_624 = input.index();
@@ -17016,20 +17896,59 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 241 : 
-						int LA193_575 = input.LA(1);
+					case 297 : 
+						int LA193_742 = input.LA(1);
 						 
-						int index193_575 = input.index();
+						int index193_742 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
+						if ( (synpred3_Css3()) ) {s = 221;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_575);
+						input.seek(index193_742);
 						if ( s>=0 ) return s;
 						break;
 
-					case 242 : 
+					case 298 : 
+						int LA193_838 = input.LA(1);
+						 
+						int index193_838 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_838);
+						if ( s>=0 ) return s;
+						break;
+
+					case 299 : 
+						int LA193_824 = input.LA(1);
+						 
+						int index193_824 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_824);
+						if ( s>=0 ) return s;
+						break;
+
+					case 300 : 
+						int LA193_728 = input.LA(1);
+						 
+						int index193_728 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_728);
+						if ( s>=0 ) return s;
+						break;
+
+					case 301 : 
 						int LA193_184 = input.LA(1);
 						 
 						int index193_184 = input.index();
@@ -17042,20 +17961,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 243 : 
-						int LA193_576 = input.LA(1);
-						 
-						int index193_576 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred8_Css3()) ) {s = 191;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_576);
-						if ( s>=0 ) return s;
-						break;
-
-					case 244 : 
+					case 302 : 
 						int LA193_185 = input.LA(1);
 						 
 						int index193_185 = input.index();
@@ -17068,31 +17974,44 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 245 : 
-						int LA193_103 = input.LA(1);
+					case 303 : 
+						int LA193_113 = input.LA(1);
 						s = -1;
-						if ( (LA193_103=='i') ) {s = 222;}
-						else if ( (LA193_103=='I') ) {s = 223;}
-						else if ( ((LA193_103 >= '\u0000' && LA193_103 <= '\t')||LA193_103=='\u000B'||(LA193_103 >= '\u000E' && LA193_103 <= '/')||(LA193_103 >= '1' && LA193_103 <= '3')||LA193_103=='5'||(LA193_103 >= '7' && LA193_103 <= 'H')||(LA193_103 >= 'J' && LA193_103 <= 'h')||(LA193_103 >= 'j' && LA193_103 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_103=='0') ) {s = 224;}
-						else if ( (LA193_103=='4'||LA193_103=='6') ) {s = 225;}
+						if ( (LA193_113=='g') ) {s = 241;}
+						else if ( (LA193_113=='G') ) {s = 242;}
+						else if ( ((LA193_113 >= '\u0000' && LA193_113 <= '\t')||LA193_113=='\u000B'||(LA193_113 >= '\u000E' && LA193_113 <= '/')||(LA193_113 >= '1' && LA193_113 <= '3')||LA193_113=='5'||(LA193_113 >= '7' && LA193_113 <= 'F')||(LA193_113 >= 'H' && LA193_113 <= 'f')||(LA193_113 >= 'h' && LA193_113 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_113=='0') ) {s = 243;}
+						else if ( (LA193_113=='4'||LA193_113=='6') ) {s = 244;}
 						if ( s>=0 ) return s;
 						break;
 
-					case 246 : 
-						int LA193_82 = input.LA(1);
+					case 304 : 
+						int LA193_436 = input.LA(1);
 						 
-						int index193_82 = input.index();
+						int index193_436 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_82);
+						input.seek(index193_436);
 						if ( s>=0 ) return s;
 						break;
 
-					case 247 : 
+					case 305 : 
+						int LA193_437 = input.LA(1);
+						 
+						int index193_437 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_437);
+						if ( s>=0 ) return s;
+						break;
+
+					case 306 : 
 						int LA193_47 = input.LA(1);
 						 
 						int index193_47 = input.index();
@@ -17105,7 +18024,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 248 : 
+					case 307 : 
+						int LA193_82 = input.LA(1);
+						 
+						int index193_82 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_82);
+						if ( s>=0 ) return s;
+						break;
+
+					case 308 : 
 						int LA193_262 = input.LA(1);
 						 
 						int index193_262 = input.index();
@@ -17118,7 +18050,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 249 : 
+					case 309 : 
 						int LA193_377 = input.LA(1);
 						 
 						int index193_377 = input.index();
@@ -17131,7 +18063,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 250 : 
+					case 310 : 
 						int LA193_511 = input.LA(1);
 						 
 						int index193_511 = input.index();
@@ -17144,7 +18076,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 251 : 
+					case 311 : 
 						int LA193_642 = input.LA(1);
 						 
 						int index193_642 = input.index();
@@ -17157,7 +18089,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 252 : 
+					case 312 : 
 						int LA193_747 = input.LA(1);
 						 
 						int index193_747 = input.index();
@@ -17170,20 +18102,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 253 : 
-						int LA193_445 = input.LA(1);
-						 
-						int index193_445 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_445);
-						if ( s>=0 ) return s;
-						break;
-
-					case 254 : 
+					case 313 : 
 						int LA193_50 = input.LA(1);
 						 
 						int index193_50 = input.index();
@@ -17196,7 +18115,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 255 : 
+					case 314 : 
 						int LA193_84 = input.LA(1);
 						 
 						int index193_84 = input.index();
@@ -17209,7 +18128,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 256 : 
+					case 315 : 
 						int LA193_264 = input.LA(1);
 						 
 						int index193_264 = input.index();
@@ -17222,7 +18141,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 257 : 
+					case 316 : 
 						int LA193_379 = input.LA(1);
 						 
 						int index193_379 = input.index();
@@ -17235,7 +18154,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 258 : 
+					case 317 : 
 						int LA193_513 = input.LA(1);
 						 
 						int index193_513 = input.index();
@@ -17248,7 +18167,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 259 : 
+					case 318 : 
 						int LA193_644 = input.LA(1);
 						 
 						int index193_644 = input.index();
@@ -17261,7 +18180,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 260 : 
+					case 319 : 
 						int LA193_749 = input.LA(1);
 						 
 						int index193_749 = input.index();
@@ -17274,20 +18193,72 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 261 : 
-						int LA193_259 = input.LA(1);
+					case 320 : 
+						int LA193_697 = input.LA(1);
 						 
-						int index193_259 = input.index();
+						int index193_697 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_259);
+						input.seek(index193_697);
 						if ( s>=0 ) return s;
 						break;
 
-					case 262 : 
+					case 321 : 
+						int LA193_698 = input.LA(1);
+						 
+						int index193_698 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_698);
+						if ( s>=0 ) return s;
+						break;
+
+					case 322 : 
+						int LA193_575 = input.LA(1);
+						 
+						int index193_575 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_575);
+						if ( s>=0 ) return s;
+						break;
+
+					case 323 : 
+						int LA193_576 = input.LA(1);
+						 
+						int index193_576 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred8_Css3()) ) {s = 191;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_576);
+						if ( s>=0 ) return s;
+						break;
+
+					case 324 : 
+						int LA193_445 = input.LA(1);
+						 
+						int index193_445 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_445);
+						if ( s>=0 ) return s;
+						break;
+
+					case 325 : 
 						int LA193_789 = input.LA(1);
 						 
 						int index193_789 = input.index();
@@ -17300,7 +18271,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 263 : 
+					case 326 : 
 						int LA193_790 = input.LA(1);
 						 
 						int index193_790 = input.index();
@@ -17313,174 +18284,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 264 : 
-						int LA193_508 = input.LA(1);
+					case 327 : 
+						int LA193_259 = input.LA(1);
 						 
-						int index193_508 = input.index();
+						int index193_259 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred11_Css3()) ) {s = 75;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_508);
+						input.seek(index193_259);
 						if ( s>=0 ) return s;
 						break;
 
-					case 265 : 
-						int LA193_590 = input.LA(1);
-						 
-						int index193_590 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_590);
-						if ( s>=0 ) return s;
-						break;
-
-					case 266 : 
-						int LA193_591 = input.LA(1);
-						 
-						int index193_591 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_591);
-						if ( s>=0 ) return s;
-						break;
-
-					case 267 : 
-						int LA193_113 = input.LA(1);
-						s = -1;
-						if ( (LA193_113=='g') ) {s = 241;}
-						else if ( (LA193_113=='G') ) {s = 242;}
-						else if ( ((LA193_113 >= '\u0000' && LA193_113 <= '\t')||LA193_113=='\u000B'||(LA193_113 >= '\u000E' && LA193_113 <= '/')||(LA193_113 >= '1' && LA193_113 <= '3')||LA193_113=='5'||(LA193_113 >= '7' && LA193_113 <= 'F')||(LA193_113 >= 'H' && LA193_113 <= 'f')||(LA193_113 >= 'h' && LA193_113 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_113=='0') ) {s = 243;}
-						else if ( (LA193_113=='4'||LA193_113=='6') ) {s = 244;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 268 : 
-						int LA193_805 = input.LA(1);
-						 
-						int index193_805 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_805);
-						if ( s>=0 ) return s;
-						break;
-
-					case 269 : 
-						int LA193_806 = input.LA(1);
-						 
-						int index193_806 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_806);
-						if ( s>=0 ) return s;
-						break;
-
-					case 270 : 
-						int LA193_731 = input.LA(1);
-						 
-						int index193_731 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_731);
-						if ( s>=0 ) return s;
-						break;
-
-					case 271 : 
-						int LA193_543 = input.LA(1);
-						 
-						int index193_543 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_543);
-						if ( s>=0 ) return s;
-						break;
-
-					case 272 : 
-						int LA193_547 = input.LA(1);
-						 
-						int index193_547 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_547);
-						if ( s>=0 ) return s;
-						break;
-
-					case 273 : 
-						int LA193_732 = input.LA(1);
-						 
-						int index193_732 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_732);
-						if ( s>=0 ) return s;
-						break;
-
-					case 274 : 
-						int LA193_544 = input.LA(1);
-						 
-						int index193_544 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_544);
-						if ( s>=0 ) return s;
-						break;
-
-					case 275 : 
-						int LA193_548 = input.LA(1);
-						 
-						int index193_548 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_548);
-						if ( s>=0 ) return s;
-						break;
-
-					case 276 : 
-						int LA193_428 = input.LA(1);
-						 
-						int index193_428 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_428);
-						if ( s>=0 ) return s;
-						break;
-
-					case 277 : 
+					case 328 : 
 						int LA193_323 = input.LA(1);
 						 
 						int index193_323 = input.index();
@@ -17493,7 +18310,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 278 : 
+					case 329 : 
 						int LA193_324 = input.LA(1);
 						 
 						int index193_324 = input.index();
@@ -17506,59 +18323,46 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 279 : 
-						int LA193_691 = input.LA(1);
+					case 330 : 
+						int LA193_508 = input.LA(1);
 						 
-						int index193_691 = input.index();
+						int index193_508 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
+						if ( (synpred11_Css3()) ) {s = 75;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_691);
+						input.seek(index193_508);
 						if ( s>=0 ) return s;
 						break;
 
-					case 280 : 
-						int LA193_753 = input.LA(1);
+					case 331 : 
+						int LA193_590 = input.LA(1);
 						 
-						int index193_753 = input.index();
+						int index193_590 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_753);
+						input.seek(index193_590);
 						if ( s>=0 ) return s;
 						break;
 
-					case 281 : 
-						int LA193_268 = input.LA(1);
+					case 332 : 
+						int LA193_591 = input.LA(1);
 						 
-						int index193_268 = input.index();
+						int index193_591 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_268);
+						input.seek(index193_591);
 						if ( s>=0 ) return s;
 						break;
 
-					case 282 : 
-						int LA193_62 = input.LA(1);
-						 
-						int index193_62 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_62);
-						if ( s>=0 ) return s;
-						break;
-
-					case 283 : 
+					case 333 : 
 						int LA193_94 = input.LA(1);
 						 
 						int index193_94 = input.index();
@@ -17571,72 +18375,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 284 : 
-						int LA193_143 = input.LA(1);
+					case 334 : 
+						int LA193_62 = input.LA(1);
 						 
-						int index193_143 = input.index();
+						int index193_62 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_143);
+						input.seek(index193_62);
 						if ( s>=0 ) return s;
 						break;
 
-					case 285 : 
-						int LA193_150 = input.LA(1);
-						 
-						int index193_150 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_150);
-						if ( s>=0 ) return s;
-						break;
-
-					case 286 : 
-						int LA193_525 = input.LA(1);
-						 
-						int index193_525 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_525);
-						if ( s>=0 ) return s;
-						break;
-
-					case 287 : 
-						int LA193_276 = input.LA(1);
-						 
-						int index193_276 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_276);
-						if ( s>=0 ) return s;
-						break;
-
-					case 288 : 
-						int LA193_383 = input.LA(1);
-						 
-						int index193_383 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_383);
-						if ( s>=0 ) return s;
-						break;
-
-					case 289 : 
+					case 335 : 
 						int LA193_648 = input.LA(1);
 						 
 						int index193_648 = input.index();
@@ -17649,7 +18401,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 290 : 
+					case 336 : 
 						int LA193_656 = input.LA(1);
 						 
 						int index193_656 = input.index();
@@ -17662,33 +18414,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 291 : 
-						int LA193_517 = input.LA(1);
-						 
-						int index193_517 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_517);
-						if ( s>=0 ) return s;
-						break;
-
-					case 292 : 
-						int LA193_391 = input.LA(1);
-						 
-						int index193_391 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_391);
-						if ( s>=0 ) return s;
-						break;
-
-					case 293 : 
+					case 337 : 
 						int LA193_761 = input.LA(1);
 						 
 						int index193_761 = input.index();
@@ -17701,163 +18427,124 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 294 : 
-						int LA193_65 = input.LA(1);
+					case 338 : 
+						int LA193_143 = input.LA(1);
 						 
-						int index193_65 = input.index();
+						int index193_143 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_65);
+						input.seek(index193_143);
 						if ( s>=0 ) return s;
 						break;
 
-					case 295 : 
-						int LA193_96 = input.LA(1);
+					case 339 : 
+						int LA193_150 = input.LA(1);
 						 
-						int index193_96 = input.index();
+						int index193_150 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_96);
+						input.seek(index193_150);
 						if ( s>=0 ) return s;
 						break;
 
-					case 296 : 
-						int LA193_144 = input.LA(1);
+					case 340 : 
+						int LA193_753 = input.LA(1);
 						 
-						int index193_144 = input.index();
+						int index193_753 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_144);
+						input.seek(index193_753);
 						if ( s>=0 ) return s;
 						break;
 
-					case 297 : 
-						int LA193_151 = input.LA(1);
+					case 341 : 
+						int LA193_268 = input.LA(1);
 						 
-						int index193_151 = input.index();
+						int index193_268 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_151);
+						input.seek(index193_268);
 						if ( s>=0 ) return s;
 						break;
 
-					case 298 : 
-						int LA193_519 = input.LA(1);
+					case 342 : 
+						int LA193_276 = input.LA(1);
 						 
-						int index193_519 = input.index();
+						int index193_276 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_519);
+						input.seek(index193_276);
 						if ( s>=0 ) return s;
 						break;
 
-					case 299 : 
-						int LA193_658 = input.LA(1);
+					case 343 : 
+						int LA193_383 = input.LA(1);
 						 
-						int index193_658 = input.index();
+						int index193_383 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_658);
+						input.seek(index193_383);
 						if ( s>=0 ) return s;
 						break;
 
-					case 300 : 
-						int LA193_763 = input.LA(1);
+					case 344 : 
+						int LA193_525 = input.LA(1);
 						 
-						int index193_763 = input.index();
+						int index193_525 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_763);
+						input.seek(index193_525);
 						if ( s>=0 ) return s;
 						break;
 
-					case 301 : 
-						int LA193_554 = input.LA(1);
+					case 345 : 
+						int LA193_391 = input.LA(1);
 						 
-						int index193_554 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_554);
-						if ( s>=0 ) return s;
-						break;
-
-					case 302 : 
-						int LA193_527 = input.LA(1);
-						 
-						int index193_527 = input.index();
+						int index193_391 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_527);
+						input.seek(index193_391);
 						if ( s>=0 ) return s;
 						break;
 
-					case 303 : 
-						int LA193_755 = input.LA(1);
+					case 346 : 
+						int LA193_517 = input.LA(1);
 						 
-						int index193_755 = input.index();
+						int index193_517 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_755);
+						input.seek(index193_517);
 						if ( s>=0 ) return s;
 						break;
 
-					case 304 : 
-						int LA193_270 = input.LA(1);
-						 
-						int index193_270 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_270);
-						if ( s>=0 ) return s;
-						break;
-
-					case 305 : 
-						int LA193_278 = input.LA(1);
-						 
-						int index193_278 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_278);
-						if ( s>=0 ) return s;
-						break;
-
-					case 306 : 
+					case 347 : 
 						int LA193_385 = input.LA(1);
 						 
 						int index193_385 = input.index();
@@ -17870,7 +18557,111 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 307 : 
+					case 348 : 
+						int LA193_144 = input.LA(1);
+						 
+						int index193_144 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_144);
+						if ( s>=0 ) return s;
+						break;
+
+					case 349 : 
+						int LA193_65 = input.LA(1);
+						 
+						int index193_65 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_65);
+						if ( s>=0 ) return s;
+						break;
+
+					case 350 : 
+						int LA193_96 = input.LA(1);
+						 
+						int index193_96 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_96);
+						if ( s>=0 ) return s;
+						break;
+
+					case 351 : 
+						int LA193_151 = input.LA(1);
+						 
+						int index193_151 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_151);
+						if ( s>=0 ) return s;
+						break;
+
+					case 352 : 
+						int LA193_270 = input.LA(1);
+						 
+						int index193_270 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_270);
+						if ( s>=0 ) return s;
+						break;
+
+					case 353 : 
+						int LA193_278 = input.LA(1);
+						 
+						int index193_278 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_278);
+						if ( s>=0 ) return s;
+						break;
+
+					case 354 : 
+						int LA193_763 = input.LA(1);
+						 
+						int index193_763 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_763);
+						if ( s>=0 ) return s;
+						break;
+
+					case 355 : 
+						int LA193_658 = input.LA(1);
+						 
+						int index193_658 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_658);
+						if ( s>=0 ) return s;
+						break;
+
+					case 356 : 
 						int LA193_393 = input.LA(1);
 						 
 						int index193_393 = input.index();
@@ -17883,7 +18674,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 308 : 
+					case 357 : 
 						int LA193_650 = input.LA(1);
 						 
 						int index193_650 = input.index();
@@ -17896,7 +18687,200 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 309 : 
+					case 358 : 
+						int LA193_519 = input.LA(1);
+						 
+						int index193_519 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_519);
+						if ( s>=0 ) return s;
+						break;
+
+					case 359 : 
+						int LA193_527 = input.LA(1);
+						 
+						int index193_527 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_527);
+						if ( s>=0 ) return s;
+						break;
+
+					case 360 : 
+						int LA193_755 = input.LA(1);
+						 
+						int index193_755 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_755);
+						if ( s>=0 ) return s;
+						break;
+
+					case 361 : 
+						int LA193_805 = input.LA(1);
+						 
+						int index193_805 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_805);
+						if ( s>=0 ) return s;
+						break;
+
+					case 362 : 
+						int LA193_806 = input.LA(1);
+						 
+						int index193_806 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_806);
+						if ( s>=0 ) return s;
+						break;
+
+					case 363 : 
+						int LA193_428 = input.LA(1);
+						 
+						int index193_428 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_428);
+						if ( s>=0 ) return s;
+						break;
+
+					case 364 : 
+						int LA193_731 = input.LA(1);
+						 
+						int index193_731 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_731);
+						if ( s>=0 ) return s;
+						break;
+
+					case 365 : 
+						int LA193_732 = input.LA(1);
+						 
+						int index193_732 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred3_Css3()) ) {s = 221;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_732);
+						if ( s>=0 ) return s;
+						break;
+
+					case 366 : 
+						int LA193_543 = input.LA(1);
+						 
+						int index193_543 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_543);
+						if ( s>=0 ) return s;
+						break;
+
+					case 367 : 
+						int LA193_547 = input.LA(1);
+						 
+						int index193_547 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_547);
+						if ( s>=0 ) return s;
+						break;
+
+					case 368 : 
+						int LA193_544 = input.LA(1);
+						 
+						int index193_544 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_544);
+						if ( s>=0 ) return s;
+						break;
+
+					case 369 : 
+						int LA193_548 = input.LA(1);
+						 
+						int index193_548 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_548);
+						if ( s>=0 ) return s;
+						break;
+
+					case 370 : 
+						int LA193_691 = input.LA(1);
+						 
+						int index193_691 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_691);
+						if ( s>=0 ) return s;
+						break;
+
+					case 371 : 
+						int LA193_227 = input.LA(1);
+						s = -1;
+						if ( (LA193_227=='m') ) {s = 342;}
+						else if ( (LA193_227=='M') ) {s = 343;}
+						else if ( ((LA193_227 >= '\u0000' && LA193_227 <= '\t')||LA193_227=='\u000B'||(LA193_227 >= '\u000E' && LA193_227 <= '/')||(LA193_227 >= '1' && LA193_227 <= '3')||LA193_227=='5'||(LA193_227 >= '7' && LA193_227 <= 'L')||(LA193_227 >= 'N' && LA193_227 <= 'l')||(LA193_227 >= 'n' && LA193_227 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_227=='0') ) {s = 344;}
+						else if ( (LA193_227=='4'||LA193_227=='6') ) {s = 345;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 372 : 
+						int LA193_554 = input.LA(1);
+						 
+						int index193_554 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred4_Css3()) ) {s = 162;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_554);
+						if ( s>=0 ) return s;
+						break;
+
+					case 373 : 
 						int LA193_555 = input.LA(1);
 						 
 						int index193_555 = input.index();
@@ -17909,7 +18893,18 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 310 : 
+					case 374 : 
+						int LA193_60 = input.LA(1);
+						s = -1;
+						if ( (LA193_60=='m') ) {s = 179;}
+						else if ( (LA193_60=='M') ) {s = 180;}
+						else if ( ((LA193_60 >= '\u0000' && LA193_60 <= '\t')||LA193_60=='\u000B'||(LA193_60 >= '\u000E' && LA193_60 <= '/')||(LA193_60 >= '1' && LA193_60 <= '3')||LA193_60=='5'||(LA193_60 >= '7' && LA193_60 <= 'L')||(LA193_60 >= 'N' && LA193_60 <= 'l')||(LA193_60 >= 'n' && LA193_60 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_60=='0') ) {s = 181;}
+						else if ( (LA193_60=='4'||LA193_60=='6') ) {s = 182;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 375 : 
 						int LA193_397 = input.LA(1);
 						 
 						int index193_397 = input.index();
@@ -17922,7 +18917,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 311 : 
+					case 376 : 
 						int LA193_400 = input.LA(1);
 						 
 						int index193_400 = input.index();
@@ -17935,7 +18930,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 312 : 
+					case 377 : 
 						int LA193_794 = input.LA(1);
 						 
 						int index193_794 = input.index();
@@ -17948,7 +18943,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 313 : 
+					case 378 : 
 						int LA193_795 = input.LA(1);
 						 
 						int index193_795 = input.index();
@@ -17961,150 +18956,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 314 : 
-						int LA193_311 = input.LA(1);
-						 
-						int index193_311 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_311);
-						if ( s>=0 ) return s;
-						break;
-
-					case 315 : 
-						int LA193_201 = input.LA(1);
-						 
-						int index193_201 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_201);
-						if ( s>=0 ) return s;
-						break;
-
-					case 316 : 
-						int LA193_206 = input.LA(1);
-						 
-						int index193_206 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_206);
-						if ( s>=0 ) return s;
-						break;
-
-					case 317 : 
-						int LA193_411 = input.LA(1);
-						 
-						int index193_411 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_411);
-						if ( s>=0 ) return s;
-						break;
-
-					case 318 : 
-						int LA193_777 = input.LA(1);
-						 
-						int index193_777 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_777);
-						if ( s>=0 ) return s;
-						break;
-
-					case 319 : 
-						int LA193_711 = input.LA(1);
-						 
-						int index193_711 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_711);
-						if ( s>=0 ) return s;
-						break;
-
-					case 320 : 
-						int LA193_802 = input.LA(1);
-						 
-						int index193_802 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_802);
-						if ( s>=0 ) return s;
-						break;
-
-					case 321 : 
-						int LA193_415 = input.LA(1);
-						 
-						int index193_415 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_415);
-						if ( s>=0 ) return s;
-						break;
-
-					case 322 : 
-						int LA193_781 = input.LA(1);
-						 
-						int index193_781 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_781);
-						if ( s>=0 ) return s;
-						break;
-
-					case 323 : 
-						int LA193_452 = input.LA(1);
-						 
-						int index193_452 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_452);
-						if ( s>=0 ) return s;
-						break;
-
-					case 324 : 
-						int LA193_545 = input.LA(1);
-						 
-						int index193_545 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_545);
-						if ( s>=0 ) return s;
-						break;
-
-					case 325 : 
+					case 379 : 
 						int LA193_549 = input.LA(1);
 						 
 						int index193_549 = input.index();
@@ -18117,20 +18969,72 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 326 : 
-						int LA193_680 = input.LA(1);
+					case 380 : 
+						int LA193_206 = input.LA(1);
 						 
-						int index193_680 = input.index();
+						int index193_206 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_680);
+						input.seek(index193_206);
 						if ( s>=0 ) return s;
 						break;
 
-					case 327 : 
+					case 381 : 
+						int LA193_201 = input.LA(1);
+						 
+						int index193_201 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_201);
+						if ( s>=0 ) return s;
+						break;
+
+					case 382 : 
+						int LA193_411 = input.LA(1);
+						 
+						int index193_411 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_411);
+						if ( s>=0 ) return s;
+						break;
+
+					case 383 : 
+						int LA193_802 = input.LA(1);
+						 
+						int index193_802 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_802);
+						if ( s>=0 ) return s;
+						break;
+
+					case 384 : 
+						int LA193_415 = input.LA(1);
+						 
+						int index193_415 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_415);
+						if ( s>=0 ) return s;
+						break;
+
+					case 385 : 
 						int LA193_831 = input.LA(1);
 						 
 						int index193_831 = input.index();
@@ -18143,20 +19047,85 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 328 : 
-						int LA193_586 = input.LA(1);
+					case 386 : 
+						int LA193_711 = input.LA(1);
 						 
-						int index193_586 = input.index();
+						int index193_711 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_586);
+						input.seek(index193_711);
 						if ( s>=0 ) return s;
 						break;
 
-					case 329 : 
+					case 387 : 
+						int LA193_781 = input.LA(1);
+						 
+						int index193_781 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_781);
+						if ( s>=0 ) return s;
+						break;
+
+					case 388 : 
+						int LA193_452 = input.LA(1);
+						 
+						int index193_452 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_452);
+						if ( s>=0 ) return s;
+						break;
+
+					case 389 : 
+						int LA193_680 = input.LA(1);
+						 
+						int index193_680 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_680);
+						if ( s>=0 ) return s;
+						break;
+
+					case 390 : 
+						int LA193_777 = input.LA(1);
+						 
+						int index193_777 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_777);
+						if ( s>=0 ) return s;
+						break;
+
+					case 391 : 
+						int LA193_545 = input.LA(1);
+						 
+						int index193_545 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_545);
+						if ( s>=0 ) return s;
+						break;
+
+					case 392 : 
 						int LA193_676 = input.LA(1);
 						 
 						int index193_676 = input.index();
@@ -18169,176 +19138,20 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 330 : 
-						int LA193_203 = input.LA(1);
+					case 393 : 
+						int LA193_586 = input.LA(1);
 						 
-						int index193_203 = input.index();
+						int index193_586 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_203);
+						input.seek(index193_586);
 						if ( s>=0 ) return s;
 						break;
 
-					case 331 : 
-						int LA193_207 = input.LA(1);
-						 
-						int index193_207 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_207);
-						if ( s>=0 ) return s;
-						break;
-
-					case 332 : 
-						int LA193_412 = input.LA(1);
-						 
-						int index193_412 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_412);
-						if ( s>=0 ) return s;
-						break;
-
-					case 333 : 
-						int LA193_416 = input.LA(1);
-						 
-						int index193_416 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_416);
-						if ( s>=0 ) return s;
-						break;
-
-					case 334 : 
-						int LA193_453 = input.LA(1);
-						 
-						int index193_453 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_453);
-						if ( s>=0 ) return s;
-						break;
-
-					case 335 : 
-						int LA193_782 = input.LA(1);
-						 
-						int index193_782 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_782);
-						if ( s>=0 ) return s;
-						break;
-
-					case 336 : 
-						int LA193_832 = input.LA(1);
-						 
-						int index193_832 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_832);
-						if ( s>=0 ) return s;
-						break;
-
-					case 337 : 
-						int LA193_546 = input.LA(1);
-						 
-						int index193_546 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_546);
-						if ( s>=0 ) return s;
-						break;
-
-					case 338 : 
-						int LA193_712 = input.LA(1);
-						 
-						int index193_712 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_712);
-						if ( s>=0 ) return s;
-						break;
-
-					case 339 : 
-						int LA193_803 = input.LA(1);
-						 
-						int index193_803 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_803);
-						if ( s>=0 ) return s;
-						break;
-
-					case 340 : 
-						int LA193_550 = input.LA(1);
-						 
-						int index193_550 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_550);
-						if ( s>=0 ) return s;
-						break;
-
-					case 341 : 
-						int LA193_587 = input.LA(1);
-						 
-						int index193_587 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_587);
-						if ( s>=0 ) return s;
-						break;
-
-					case 342 : 
-						int LA193_778 = input.LA(1);
-						 
-						int index193_778 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_778);
-						if ( s>=0 ) return s;
-						break;
-
-					case 343 : 
+					case 394 : 
 						int LA193_677 = input.LA(1);
 						 
 						int index193_677 = input.index();
@@ -18351,7 +19164,33 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 344 : 
+					case 395 : 
+						int LA193_550 = input.LA(1);
+						 
+						int index193_550 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_550);
+						if ( s>=0 ) return s;
+						break;
+
+					case 396 : 
+						int LA193_203 = input.LA(1);
+						 
+						int index193_203 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_203);
+						if ( s>=0 ) return s;
+						break;
+
+					case 397 : 
 						int LA193_681 = input.LA(1);
 						 
 						int index193_681 = input.index();
@@ -18364,7 +19203,174 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 345 : 
+					case 398 : 
+						int LA193_712 = input.LA(1);
+						 
+						int index193_712 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_712);
+						if ( s>=0 ) return s;
+						break;
+
+					case 399 : 
+						int LA193_207 = input.LA(1);
+						 
+						int index193_207 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_207);
+						if ( s>=0 ) return s;
+						break;
+
+					case 400 : 
+						int LA193_412 = input.LA(1);
+						 
+						int index193_412 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_412);
+						if ( s>=0 ) return s;
+						break;
+
+					case 401 : 
+						int LA193_832 = input.LA(1);
+						 
+						int index193_832 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_832);
+						if ( s>=0 ) return s;
+						break;
+
+					case 402 : 
+						int LA193_416 = input.LA(1);
+						 
+						int index193_416 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_416);
+						if ( s>=0 ) return s;
+						break;
+
+					case 403 : 
+						int LA193_803 = input.LA(1);
+						 
+						int index193_803 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_803);
+						if ( s>=0 ) return s;
+						break;
+
+					case 404 : 
+						int LA193_453 = input.LA(1);
+						 
+						int index193_453 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_453);
+						if ( s>=0 ) return s;
+						break;
+
+					case 405 : 
+						int LA193_782 = input.LA(1);
+						 
+						int index193_782 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_782);
+						if ( s>=0 ) return s;
+						break;
+
+					case 406 : 
+						int LA193_546 = input.LA(1);
+						 
+						int index193_546 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_546);
+						if ( s>=0 ) return s;
+						break;
+
+					case 407 : 
+						int LA193_587 = input.LA(1);
+						 
+						int index193_587 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_587);
+						if ( s>=0 ) return s;
+						break;
+
+					case 408 : 
+						int LA193_778 = input.LA(1);
+						 
+						int index193_778 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_778);
+						if ( s>=0 ) return s;
+						break;
+
+					case 409 : 
+						int LA193_202 = input.LA(1);
+						s = -1;
+						if ( (LA193_202=='m') ) {s = 323;}
+						else if ( (LA193_202=='M') ) {s = 324;}
+						else if ( ((LA193_202 >= '\u0000' && LA193_202 <= '\t')||LA193_202=='\u000B'||(LA193_202 >= '\u000E' && LA193_202 <= '/')||(LA193_202 >= '1' && LA193_202 <= '3')||LA193_202=='5'||(LA193_202 >= '7' && LA193_202 <= 'L')||(LA193_202 >= 'N' && LA193_202 <= 'l')||(LA193_202 >= 'n' && LA193_202 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_202=='0') ) {s = 325;}
+						else if ( (LA193_202=='4'||LA193_202=='6') ) {s = 326;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 410 : 
+						int LA193_311 = input.LA(1);
+						 
+						int index193_311 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_311);
+						if ( s>=0 ) return s;
+						break;
+
+					case 411 : 
 						int LA193_570 = input.LA(1);
 						 
 						int index193_570 = input.index();
@@ -18377,7 +19383,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 346 : 
+					case 412 : 
 						int LA193_571 = input.LA(1);
 						 
 						int index193_571 = input.index();
@@ -18390,7 +19396,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 347 : 
+					case 413 : 
 						int LA193_300 = input.LA(1);
 						 
 						int index193_300 = input.index();
@@ -18403,18 +19409,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 348 : 
-						int LA193_227 = input.LA(1);
-						s = -1;
-						if ( (LA193_227=='m') ) {s = 342;}
-						else if ( (LA193_227=='M') ) {s = 343;}
-						else if ( ((LA193_227 >= '\u0000' && LA193_227 <= '\t')||LA193_227=='\u000B'||(LA193_227 >= '\u000E' && LA193_227 <= '/')||(LA193_227 >= '1' && LA193_227 <= '3')||LA193_227=='5'||(LA193_227 >= '7' && LA193_227 <= 'L')||(LA193_227 >= 'N' && LA193_227 <= 'l')||(LA193_227 >= 'n' && LA193_227 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_227=='0') ) {s = 344;}
-						else if ( (LA193_227=='4'||LA193_227=='6') ) {s = 345;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 349 : 
+					case 414 : 
 						int LA193_839 = input.LA(1);
 						 
 						int index193_839 = input.index();
@@ -18427,7 +19422,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 350 : 
+					case 415 : 
 						int LA193_840 = input.LA(1);
 						 
 						int index193_840 = input.index();
@@ -18440,18 +19435,18 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 351 : 
-						int LA193_60 = input.LA(1);
+					case 416 : 
+						int LA193_77 = input.LA(1);
 						s = -1;
-						if ( (LA193_60=='m') ) {s = 179;}
-						else if ( (LA193_60=='M') ) {s = 180;}
-						else if ( ((LA193_60 >= '\u0000' && LA193_60 <= '\t')||LA193_60=='\u000B'||(LA193_60 >= '\u000E' && LA193_60 <= '/')||(LA193_60 >= '1' && LA193_60 <= '3')||LA193_60=='5'||(LA193_60 >= '7' && LA193_60 <= 'L')||(LA193_60 >= 'N' && LA193_60 <= 'l')||(LA193_60 >= 'n' && LA193_60 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_60=='0') ) {s = 181;}
-						else if ( (LA193_60=='4'||LA193_60=='6') ) {s = 182;}
+						if ( (LA193_77=='h') ) {s = 210;}
+						else if ( (LA193_77=='H') ) {s = 211;}
+						else if ( ((LA193_77 >= '\u0000' && LA193_77 <= '\t')||LA193_77=='\u000B'||(LA193_77 >= '\u000E' && LA193_77 <= '/')||(LA193_77 >= '1' && LA193_77 <= '3')||LA193_77=='5'||(LA193_77 >= '7' && LA193_77 <= 'G')||(LA193_77 >= 'I' && LA193_77 <= 'g')||(LA193_77 >= 'i' && LA193_77 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_77=='0') ) {s = 212;}
+						else if ( (LA193_77=='4'||LA193_77=='6') ) {s = 213;}
 						if ( s>=0 ) return s;
 						break;
 
-					case 352 : 
+					case 417 : 
 						int LA193_450 = input.LA(1);
 						 
 						int index193_450 = input.index();
@@ -18464,7 +19459,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 353 : 
+					case 418 : 
 						int LA193_451 = input.LA(1);
 						 
 						int index193_451 = input.index();
@@ -18477,57 +19472,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 354 : 
-						int LA193_579 = input.LA(1);
-						 
-						int index193_579 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_579);
-						if ( s>=0 ) return s;
-						break;
-
-					case 355 : 
-						int LA193_709 = input.LA(1);
-						 
-						int index193_709 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_709);
-						if ( s>=0 ) return s;
-						break;
-
-					case 356 : 
-						int LA193_202 = input.LA(1);
-						s = -1;
-						if ( (LA193_202=='m') ) {s = 323;}
-						else if ( (LA193_202=='M') ) {s = 324;}
-						else if ( ((LA193_202 >= '\u0000' && LA193_202 <= '\t')||LA193_202=='\u000B'||(LA193_202 >= '\u000E' && LA193_202 <= '/')||(LA193_202 >= '1' && LA193_202 <= '3')||LA193_202=='5'||(LA193_202 >= '7' && LA193_202 <= 'L')||(LA193_202 >= 'N' && LA193_202 <= 'l')||(LA193_202 >= 'n' && LA193_202 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_202=='0') ) {s = 325;}
-						else if ( (LA193_202=='4'||LA193_202=='6') ) {s = 326;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 357 : 
-						int LA193_710 = input.LA(1);
-						 
-						int index193_710 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_710);
-						if ( s>=0 ) return s;
-						break;
-
-					case 358 : 
+					case 419 : 
 						int LA193_783 = input.LA(1);
 						 
 						int index193_783 = input.index();
@@ -18540,20 +19485,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 359 : 
-						int LA193_374 = input.LA(1);
-						 
-						int index193_374 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_374);
-						if ( s>=0 ) return s;
-						break;
-
-					case 360 : 
+					case 420 : 
 						int LA193_784 = input.LA(1);
 						 
 						int index193_784 = input.index();
@@ -18566,7 +19498,59 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 361 : 
+					case 421 : 
+						int LA193_579 = input.LA(1);
+						 
+						int index193_579 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_579);
+						if ( s>=0 ) return s;
+						break;
+
+					case 422 : 
+						int LA193_709 = input.LA(1);
+						 
+						int index193_709 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_709);
+						if ( s>=0 ) return s;
+						break;
+
+					case 423 : 
+						int LA193_710 = input.LA(1);
+						 
+						int index193_710 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_710);
+						if ( s>=0 ) return s;
+						break;
+
+					case 424 : 
+						int LA193_374 = input.LA(1);
+						 
+						int index193_374 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred11_Css3()) ) {s = 75;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_374);
+						if ( s>=0 ) return s;
+						break;
+
+					case 425 : 
 						int LA193_662 = input.LA(1);
 						 
 						int index193_662 = input.index();
@@ -18579,7 +19563,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 362 : 
+					case 426 : 
 						int LA193_665 = input.LA(1);
 						 
 						int index193_665 = input.index();
@@ -18592,135 +19576,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 363 : 
-						int LA193_797 = input.LA(1);
-						 
-						int index193_797 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_797);
-						if ( s>=0 ) return s;
-						break;
-
-					case 364 : 
-						int LA193_715 = input.LA(1);
-						 
-						int index193_715 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_715);
-						if ( s>=0 ) return s;
-						break;
-
-					case 365 : 
-						int LA193_716 = input.LA(1);
-						 
-						int index193_716 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_716);
-						if ( s>=0 ) return s;
-						break;
-
-					case 366 : 
-						int LA193_409 = input.LA(1);
-						 
-						int index193_409 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_409);
-						if ( s>=0 ) return s;
-						break;
-
-					case 367 : 
-						int LA193_413 = input.LA(1);
-						 
-						int index193_413 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_413);
-						if ( s>=0 ) return s;
-						break;
-
-					case 368 : 
-						int LA193_410 = input.LA(1);
-						 
-						int index193_410 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_410);
-						if ( s>=0 ) return s;
-						break;
-
-					case 369 : 
-						int LA193_414 = input.LA(1);
-						 
-						int index193_414 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_414);
-						if ( s>=0 ) return s;
-						break;
-
-					case 370 : 
-						int LA193_359 = input.LA(1);
-						 
-						int index193_359 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_359);
-						if ( s>=0 ) return s;
-						break;
-
-					case 371 : 
-						int LA193_562 = input.LA(1);
-						 
-						int index193_562 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_562);
-						if ( s>=0 ) return s;
-						break;
-
-					case 372 : 
-						int LA193_77 = input.LA(1);
-						s = -1;
-						if ( (LA193_77=='h') ) {s = 210;}
-						else if ( (LA193_77=='H') ) {s = 211;}
-						else if ( ((LA193_77 >= '\u0000' && LA193_77 <= '\t')||LA193_77=='\u000B'||(LA193_77 >= '\u000E' && LA193_77 <= '/')||(LA193_77 >= '1' && LA193_77 <= '3')||LA193_77=='5'||(LA193_77 >= '7' && LA193_77 <= 'G')||(LA193_77 >= 'I' && LA193_77 <= 'g')||(LA193_77 >= 'i' && LA193_77 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_77=='0') ) {s = 212;}
-						else if ( (LA193_77=='4'||LA193_77=='6') ) {s = 213;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 373 : 
+					case 427 : 
 						int LA193_53 = input.LA(1);
 						s = -1;
 						if ( (LA193_53=='x') ) {s = 171;}
@@ -18734,33 +19590,46 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 374 : 
-						int LA193_791 = input.LA(1);
+					case 428 : 
+						int LA193_797 = input.LA(1);
 						 
-						int index193_791 = input.index();
+						int index193_797 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_791);
+						input.seek(index193_797);
 						if ( s>=0 ) return s;
 						break;
 
-					case 375 : 
-						int LA193_792 = input.LA(1);
+					case 429 : 
+						int LA193_715 = input.LA(1);
 						 
-						int index193_792 = input.index();
+						int index193_715 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_792);
+						input.seek(index193_715);
 						if ( s>=0 ) return s;
 						break;
 
-					case 376 : 
+					case 430 : 
+						int LA193_716 = input.LA(1);
+						 
+						int index193_716 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_716);
+						if ( s>=0 ) return s;
+						break;
+
+					case 431 : 
 						int LA193_48 = input.LA(1);
 						s = -1;
 						if ( (LA193_48=='m') ) {s = 163;}
@@ -18774,657 +19643,111 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 377 : 
-						int LA193_639 = input.LA(1);
+					case 432 : 
+						int LA193_359 = input.LA(1);
 						 
-						int index193_639 = input.index();
+						int index193_359 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred11_Css3()) ) {s = 75;}
+						if ( (synpred9_Css3()) ) {s = 240;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_639);
+						input.seek(index193_359);
 						if ( s>=0 ) return s;
 						break;
 
-					case 378 : 
-						int LA193_121 = input.LA(1);
+					case 433 : 
+						int LA193_409 = input.LA(1);
 						 
-						int index193_121 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_121);
-						if ( s>=0 ) return s;
-						break;
-
-					case 379 : 
-						int LA193_54 = input.LA(1);
-						 
-						int index193_54 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_54);
-						if ( s>=0 ) return s;
-						break;
-
-					case 380 : 
-						int LA193_87 = input.LA(1);
-						 
-						int index193_87 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_87);
-						if ( s>=0 ) return s;
-						break;
-
-					case 381 : 
-						int LA193_766 = input.LA(1);
-						 
-						int index193_766 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_766);
-						if ( s>=0 ) return s;
-						break;
-
-					case 382 : 
-						int LA193_139 = input.LA(1);
-						 
-						int index193_139 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_139);
-						if ( s>=0 ) return s;
-						break;
-
-					case 383 : 
-						int LA193_281 = input.LA(1);
-						 
-						int index193_281 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_281);
-						if ( s>=0 ) return s;
-						break;
-
-					case 384 : 
-						int LA193_396 = input.LA(1);
-						 
-						int index193_396 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_396);
-						if ( s>=0 ) return s;
-						break;
-
-					case 385 : 
-						int LA193_530 = input.LA(1);
-						 
-						int index193_530 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_530);
-						if ( s>=0 ) return s;
-						break;
-
-					case 386 : 
-						int LA193_661 = input.LA(1);
-						 
-						int index193_661 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_661);
-						if ( s>=0 ) return s;
-						break;
-
-					case 387 : 
-						int LA193_57 = input.LA(1);
-						 
-						int index193_57 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_57);
-						if ( s>=0 ) return s;
-						break;
-
-					case 388 : 
-						int LA193_90 = input.LA(1);
-						 
-						int index193_90 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_90);
-						if ( s>=0 ) return s;
-						break;
-
-					case 389 : 
-						int LA193_122 = input.LA(1);
-						 
-						int index193_122 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_122);
-						if ( s>=0 ) return s;
-						break;
-
-					case 390 : 
-						int LA193_140 = input.LA(1);
-						 
-						int index193_140 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_140);
-						if ( s>=0 ) return s;
-						break;
-
-					case 391 : 
-						int LA193_284 = input.LA(1);
-						 
-						int index193_284 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_284);
-						if ( s>=0 ) return s;
-						break;
-
-					case 392 : 
-						int LA193_399 = input.LA(1);
-						 
-						int index193_399 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_399);
-						if ( s>=0 ) return s;
-						break;
-
-					case 393 : 
-						int LA193_533 = input.LA(1);
-						 
-						int index193_533 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_533);
-						if ( s>=0 ) return s;
-						break;
-
-					case 394 : 
-						int LA193_664 = input.LA(1);
-						 
-						int index193_664 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_664);
-						if ( s>=0 ) return s;
-						break;
-
-					case 395 : 
-						int LA193_769 = input.LA(1);
-						 
-						int index193_769 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_769);
-						if ( s>=0 ) return s;
-						break;
-
-					case 396 : 
-						int LA193_95 = input.LA(1);
-						 
-						int index193_95 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_95);
-						if ( s>=0 ) return s;
-						break;
-
-					case 397 : 
-						int LA193_64 = input.LA(1);
-						 
-						int index193_64 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_64);
-						if ( s>=0 ) return s;
-						break;
-
-					case 398 : 
-						int LA193_762 = input.LA(1);
-						 
-						int index193_762 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_762);
-						if ( s>=0 ) return s;
-						break;
-
-					case 399 : 
-						int LA193_145 = input.LA(1);
-						 
-						int index193_145 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_145);
-						if ( s>=0 ) return s;
-						break;
-
-					case 400 : 
-						int LA193_152 = input.LA(1);
-						 
-						int index193_152 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_152);
-						if ( s>=0 ) return s;
-						break;
-
-					case 401 : 
-						int LA193_269 = input.LA(1);
-						 
-						int index193_269 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_269);
-						if ( s>=0 ) return s;
-						break;
-
-					case 402 : 
-						int LA193_277 = input.LA(1);
-						 
-						int index193_277 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_277);
-						if ( s>=0 ) return s;
-						break;
-
-					case 403 : 
-						int LA193_526 = input.LA(1);
-						 
-						int index193_526 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_526);
-						if ( s>=0 ) return s;
-						break;
-
-					case 404 : 
-						int LA193_649 = input.LA(1);
-						 
-						int index193_649 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_649);
-						if ( s>=0 ) return s;
-						break;
-
-					case 405 : 
-						int LA193_384 = input.LA(1);
-						 
-						int index193_384 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_384);
-						if ( s>=0 ) return s;
-						break;
-
-					case 406 : 
-						int LA193_392 = input.LA(1);
-						 
-						int index193_392 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_392);
-						if ( s>=0 ) return s;
-						break;
-
-					case 407 : 
-						int LA193_518 = input.LA(1);
-						 
-						int index193_518 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_518);
-						if ( s>=0 ) return s;
-						break;
-
-					case 408 : 
-						int LA193_657 = input.LA(1);
-						 
-						int index193_657 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_657);
-						if ( s>=0 ) return s;
-						break;
-
-					case 409 : 
-						int LA193_754 = input.LA(1);
-						 
-						int index193_754 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_754);
-						if ( s>=0 ) return s;
-						break;
-
-					case 410 : 
-						int LA193_386 = input.LA(1);
-						 
-						int index193_386 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_386);
-						if ( s>=0 ) return s;
-						break;
-
-					case 411 : 
-						int LA193_146 = input.LA(1);
-						 
-						int index193_146 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_146);
-						if ( s>=0 ) return s;
-						break;
-
-					case 412 : 
-						int LA193_66 = input.LA(1);
-						 
-						int index193_66 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_66);
-						if ( s>=0 ) return s;
-						break;
-
-					case 413 : 
-						int LA193_528 = input.LA(1);
-						 
-						int index193_528 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_528);
-						if ( s>=0 ) return s;
-						break;
-
-					case 414 : 
-						int LA193_97 = input.LA(1);
-						 
-						int index193_97 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_97);
-						if ( s>=0 ) return s;
-						break;
-
-					case 415 : 
-						int LA193_153 = input.LA(1);
-						 
-						int index193_153 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_153);
-						if ( s>=0 ) return s;
-						break;
-
-					case 416 : 
-						int LA193_271 = input.LA(1);
-						 
-						int index193_271 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_271);
-						if ( s>=0 ) return s;
-						break;
-
-					case 417 : 
-						int LA193_279 = input.LA(1);
-						 
-						int index193_279 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_279);
-						if ( s>=0 ) return s;
-						break;
-
-					case 418 : 
-						int LA193_659 = input.LA(1);
-						 
-						int index193_659 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_659);
-						if ( s>=0 ) return s;
-						break;
-
-					case 419 : 
-						int LA193_756 = input.LA(1);
-						 
-						int index193_756 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_756);
-						if ( s>=0 ) return s;
-						break;
-
-					case 420 : 
-						int LA193_394 = input.LA(1);
-						 
-						int index193_394 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_394);
-						if ( s>=0 ) return s;
-						break;
-
-					case 421 : 
-						int LA193_764 = input.LA(1);
-						 
-						int index193_764 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_764);
-						if ( s>=0 ) return s;
-						break;
-
-					case 422 : 
-						int LA193_651 = input.LA(1);
-						 
-						int index193_651 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_651);
-						if ( s>=0 ) return s;
-						break;
-
-					case 423 : 
-						int LA193_520 = input.LA(1);
-						 
-						int index193_520 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_520);
-						if ( s>=0 ) return s;
-						break;
-
-					case 424 : 
-						int LA193_438 = input.LA(1);
-						 
-						int index193_438 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred7_Css3()) ) {s = 183;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_438);
-						if ( s>=0 ) return s;
-						break;
-
-					case 425 : 
-						int LA193_833 = input.LA(1);
-						 
-						int index193_833 = input.index();
+						int index193_409 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_833);
+						input.seek(index193_409);
 						if ( s>=0 ) return s;
 						break;
 
-					case 426 : 
-						int LA193_834 = input.LA(1);
+					case 434 : 
+						int LA193_413 = input.LA(1);
 						 
-						int index193_834 = input.index();
+						int index193_413 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_834);
+						input.seek(index193_413);
 						if ( s>=0 ) return s;
 						break;
 
-					case 427 : 
+					case 435 : 
+						int LA193_410 = input.LA(1);
+						 
+						int index193_410 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_410);
+						if ( s>=0 ) return s;
+						break;
+
+					case 436 : 
+						int LA193_414 = input.LA(1);
+						 
+						int index193_414 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred10_Css3()) ) {s = 316;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_414);
+						if ( s>=0 ) return s;
+						break;
+
+					case 437 : 
+						int LA193_562 = input.LA(1);
+						 
+						int index193_562 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_562);
+						if ( s>=0 ) return s;
+						break;
+
+					case 438 : 
+						int LA193_791 = input.LA(1);
+						 
+						int index193_791 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_791);
+						if ( s>=0 ) return s;
+						break;
+
+					case 439 : 
+						int LA193_792 = input.LA(1);
+						 
+						int index193_792 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_792);
+						if ( s>=0 ) return s;
+						break;
+
+					case 440 : 
 						int LA193_63 = input.LA(1);
 						s = -1;
 						if ( (LA193_63=='m') ) {s = 184;}
@@ -19438,85 +19761,629 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 428 : 
-						int LA193_674 = input.LA(1);
+					case 441 : 
+						int LA193_530 = input.LA(1);
 						 
-						int index193_674 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_674);
-						if ( s>=0 ) return s;
-						break;
-
-					case 429 : 
-						int LA193_678 = input.LA(1);
-						 
-						int index193_678 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_678);
-						if ( s>=0 ) return s;
-						break;
-
-					case 430 : 
-						int LA193_675 = input.LA(1);
-						 
-						int index193_675 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_675);
-						if ( s>=0 ) return s;
-						break;
-
-					case 431 : 
-						int LA193_679 = input.LA(1);
-						 
-						int index193_679 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred10_Css3()) ) {s = 316;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_679);
-						if ( s>=0 ) return s;
-						break;
-
-					case 432 : 
-						int LA193_427 = input.LA(1);
-						 
-						int index193_427 = input.index();
+						int index193_530 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_427);
+						input.seek(index193_530);
 						if ( s>=0 ) return s;
 						break;
 
-					case 433 : 
-						int LA193_699 = input.LA(1);
+					case 442 : 
+						int LA193_54 = input.LA(1);
 						 
-						int index193_699 = input.index();
+						int index193_54 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_54);
+						if ( s>=0 ) return s;
+						break;
+
+					case 443 : 
+						int LA193_766 = input.LA(1);
+						 
+						int index193_766 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_766);
+						if ( s>=0 ) return s;
+						break;
+
+					case 444 : 
+						int LA193_87 = input.LA(1);
+						 
+						int index193_87 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_87);
+						if ( s>=0 ) return s;
+						break;
+
+					case 445 : 
+						int LA193_121 = input.LA(1);
+						 
+						int index193_121 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_121);
+						if ( s>=0 ) return s;
+						break;
+
+					case 446 : 
+						int LA193_139 = input.LA(1);
+						 
+						int index193_139 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_139);
+						if ( s>=0 ) return s;
+						break;
+
+					case 447 : 
+						int LA193_281 = input.LA(1);
+						 
+						int index193_281 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_281);
+						if ( s>=0 ) return s;
+						break;
+
+					case 448 : 
+						int LA193_396 = input.LA(1);
+						 
+						int index193_396 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_396);
+						if ( s>=0 ) return s;
+						break;
+
+					case 449 : 
+						int LA193_661 = input.LA(1);
+						 
+						int index193_661 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_661);
+						if ( s>=0 ) return s;
+						break;
+
+					case 450 : 
+						int LA193_90 = input.LA(1);
+						 
+						int index193_90 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_90);
+						if ( s>=0 ) return s;
+						break;
+
+					case 451 : 
+						int LA193_57 = input.LA(1);
+						 
+						int index193_57 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_57);
+						if ( s>=0 ) return s;
+						break;
+
+					case 452 : 
+						int LA193_122 = input.LA(1);
+						 
+						int index193_122 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_122);
+						if ( s>=0 ) return s;
+						break;
+
+					case 453 : 
+						int LA193_140 = input.LA(1);
+						 
+						int index193_140 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_140);
+						if ( s>=0 ) return s;
+						break;
+
+					case 454 : 
+						int LA193_284 = input.LA(1);
+						 
+						int index193_284 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_284);
+						if ( s>=0 ) return s;
+						break;
+
+					case 455 : 
+						int LA193_399 = input.LA(1);
+						 
+						int index193_399 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_399);
+						if ( s>=0 ) return s;
+						break;
+
+					case 456 : 
+						int LA193_533 = input.LA(1);
+						 
+						int index193_533 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_533);
+						if ( s>=0 ) return s;
+						break;
+
+					case 457 : 
+						int LA193_664 = input.LA(1);
+						 
+						int index193_664 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_664);
+						if ( s>=0 ) return s;
+						break;
+
+					case 458 : 
+						int LA193_769 = input.LA(1);
+						 
+						int index193_769 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred5_Css3()) ) {s = 170;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_769);
+						if ( s>=0 ) return s;
+						break;
+
+					case 459 : 
+						int LA193_526 = input.LA(1);
+						 
+						int index193_526 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_699);
+						input.seek(index193_526);
 						if ( s>=0 ) return s;
 						break;
 
-					case 434 : 
+					case 460 : 
+						int LA193_277 = input.LA(1);
+						 
+						int index193_277 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_277);
+						if ( s>=0 ) return s;
+						break;
+
+					case 461 : 
+						int LA193_95 = input.LA(1);
+						 
+						int index193_95 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_95);
+						if ( s>=0 ) return s;
+						break;
+
+					case 462 : 
+						int LA193_64 = input.LA(1);
+						 
+						int index193_64 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_64);
+						if ( s>=0 ) return s;
+						break;
+
+					case 463 : 
+						int LA193_649 = input.LA(1);
+						 
+						int index193_649 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_649);
+						if ( s>=0 ) return s;
+						break;
+
+					case 464 : 
+						int LA193_657 = input.LA(1);
+						 
+						int index193_657 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_657);
+						if ( s>=0 ) return s;
+						break;
+
+					case 465 : 
+						int LA193_145 = input.LA(1);
+						 
+						int index193_145 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_145);
+						if ( s>=0 ) return s;
+						break;
+
+					case 466 : 
+						int LA193_392 = input.LA(1);
+						 
+						int index193_392 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_392);
+						if ( s>=0 ) return s;
+						break;
+
+					case 467 : 
+						int LA193_762 = input.LA(1);
+						 
+						int index193_762 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_762);
+						if ( s>=0 ) return s;
+						break;
+
+					case 468 : 
+						int LA193_754 = input.LA(1);
+						 
+						int index193_754 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_754);
+						if ( s>=0 ) return s;
+						break;
+
+					case 469 : 
+						int LA193_518 = input.LA(1);
+						 
+						int index193_518 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_518);
+						if ( s>=0 ) return s;
+						break;
+
+					case 470 : 
+						int LA193_152 = input.LA(1);
+						 
+						int index193_152 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_152);
+						if ( s>=0 ) return s;
+						break;
+
+					case 471 : 
+						int LA193_269 = input.LA(1);
+						 
+						int index193_269 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_269);
+						if ( s>=0 ) return s;
+						break;
+
+					case 472 : 
+						int LA193_384 = input.LA(1);
+						 
+						int index193_384 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_384);
+						if ( s>=0 ) return s;
+						break;
+
+					case 473 : 
+						int LA193_271 = input.LA(1);
+						 
+						int index193_271 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_271);
+						if ( s>=0 ) return s;
+						break;
+
+					case 474 : 
+						int LA193_66 = input.LA(1);
+						 
+						int index193_66 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_66);
+						if ( s>=0 ) return s;
+						break;
+
+					case 475 : 
+						int LA193_97 = input.LA(1);
+						 
+						int index193_97 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_97);
+						if ( s>=0 ) return s;
+						break;
+
+					case 476 : 
+						int LA193_146 = input.LA(1);
+						 
+						int index193_146 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_146);
+						if ( s>=0 ) return s;
+						break;
+
+					case 477 : 
+						int LA193_651 = input.LA(1);
+						 
+						int index193_651 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_651);
+						if ( s>=0 ) return s;
+						break;
+
+					case 478 : 
+						int LA193_153 = input.LA(1);
+						 
+						int index193_153 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_153);
+						if ( s>=0 ) return s;
+						break;
+
+					case 479 : 
+						int LA193_528 = input.LA(1);
+						 
+						int index193_528 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_528);
+						if ( s>=0 ) return s;
+						break;
+
+					case 480 : 
+						int LA193_764 = input.LA(1);
+						 
+						int index193_764 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_764);
+						if ( s>=0 ) return s;
+						break;
+
+					case 481 : 
+						int LA193_279 = input.LA(1);
+						 
+						int index193_279 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_279);
+						if ( s>=0 ) return s;
+						break;
+
+					case 482 : 
+						int LA193_386 = input.LA(1);
+						 
+						int index193_386 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_386);
+						if ( s>=0 ) return s;
+						break;
+
+					case 483 : 
+						int LA193_394 = input.LA(1);
+						 
+						int index193_394 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_394);
+						if ( s>=0 ) return s;
+						break;
+
+					case 484 : 
+						int LA193_756 = input.LA(1);
+						 
+						int index193_756 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_756);
+						if ( s>=0 ) return s;
+						break;
+
+					case 485 : 
+						int LA193_520 = input.LA(1);
+						 
+						int index193_520 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_520);
+						if ( s>=0 ) return s;
+						break;
+
+					case 486 : 
+						int LA193_659 = input.LA(1);
+						 
+						int index193_659 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred7_Css3()) ) {s = 183;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_659);
+						if ( s>=0 ) return s;
+						break;
+
+					case 487 : 
+						int LA193_68 = input.LA(1);
+						s = -1;
+						if ( (LA193_68=='n') ) {s = 192;}
+						else if ( (LA193_68=='N') ) {s = 193;}
+						else if ( ((LA193_68 >= '\u0000' && LA193_68 <= '\t')||LA193_68=='\u000B'||(LA193_68 >= '\u000E' && LA193_68 <= '/')||(LA193_68 >= '1' && LA193_68 <= '3')||LA193_68=='5'||(LA193_68 >= '7' && LA193_68 <= 'M')||(LA193_68 >= 'O' && LA193_68 <= 'm')||(LA193_68 >= 'o' && LA193_68 <= '\uFFFF')) ) {s = 12;}
+						else if ( (LA193_68=='0') ) {s = 194;}
+						else if ( (LA193_68=='4'||LA193_68=='6') ) {s = 195;}
+						if ( s>=0 ) return s;
+						break;
+
+					case 488 : 
+						int LA193_639 = input.LA(1);
+						 
+						int index193_639 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred11_Css3()) ) {s = 75;}
+						else if ( (true) ) {s = 12;}
+						 
+						input.seek(index193_639);
+						if ( s>=0 ) return s;
+						break;
+
+					case 489 : 
 						int LA193_186 = input.LA(1);
 						 
 						int index193_186 = input.index();
@@ -19529,7 +20396,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 435 : 
+					case 490 : 
 						int LA193_189 = input.LA(1);
 						 
 						int index193_189 = input.index();
@@ -19542,59 +20409,46 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 436 : 
-						int LA193_690 = input.LA(1);
+					case 491 : 
+						int LA193_438 = input.LA(1);
 						 
-						int index193_690 = input.index();
+						int index193_438 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_690);
+						input.seek(index193_438);
 						if ( s>=0 ) return s;
 						break;
 
-					case 437 : 
-						int LA193_788 = input.LA(1);
+					case 492 : 
+						int LA193_833 = input.LA(1);
 						 
-						int index193_788 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_788);
-						if ( s>=0 ) return s;
-						break;
-
-					case 438 : 
-						int LA193_584 = input.LA(1);
-						 
-						int index193_584 = input.index();
+						int index193_833 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_584);
+						input.seek(index193_833);
 						if ( s>=0 ) return s;
 						break;
 
-					case 439 : 
-						int LA193_585 = input.LA(1);
+					case 493 : 
+						int LA193_834 = input.LA(1);
 						 
-						int index193_585 = input.index();
+						int index193_834 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_585);
+						input.seek(index193_834);
 						if ( s>=0 ) return s;
 						break;
 
-					case 440 : 
+					case 494 : 
 						int LA193_173 = input.LA(1);
 						 
 						int index193_173 = input.index();
@@ -19607,7 +20461,7 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 441 : 
+					case 495 : 
 						int LA193_176 = input.LA(1);
 						 
 						int index193_176 = input.index();
@@ -19620,96 +20474,33 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 442 : 
-						int LA193_295 = input.LA(1);
+					case 496 : 
+						int LA193_674 = input.LA(1);
 						 
-						int index193_295 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_295);
-						if ( s>=0 ) return s;
-						break;
-
-					case 443 : 
-						int LA193_705 = input.LA(1);
-						 
-						int index193_705 = input.index();
+						int index193_674 = input.index();
 						input.rewind();
 						s = -1;
 						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_705);
+						input.seek(index193_674);
 						if ( s>=0 ) return s;
 						break;
 
-					case 444 : 
-						int LA193_68 = input.LA(1);
-						s = -1;
-						if ( (LA193_68=='n') ) {s = 192;}
-						else if ( (LA193_68=='N') ) {s = 193;}
-						else if ( ((LA193_68 >= '\u0000' && LA193_68 <= '\t')||LA193_68=='\u000B'||(LA193_68 >= '\u000E' && LA193_68 <= '/')||(LA193_68 >= '1' && LA193_68 <= '3')||LA193_68=='5'||(LA193_68 >= '7' && LA193_68 <= 'M')||(LA193_68 >= 'O' && LA193_68 <= 'm')||(LA193_68 >= 'o' && LA193_68 <= '\uFFFF')) ) {s = 12;}
-						else if ( (LA193_68=='0') ) {s = 194;}
-						else if ( (LA193_68=='4'||LA193_68=='6') ) {s = 195;}
-						if ( s>=0 ) return s;
-						break;
-
-					case 445 : 
-						int LA193_299 = input.LA(1);
+					case 497 : 
+						int LA193_678 = input.LA(1);
 						 
-						int index193_299 = input.index();
+						int index193_678 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred5_Css3()) ) {s = 170;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_299);
+						input.seek(index193_678);
 						if ( s>=0 ) return s;
 						break;
 
-					case 446 : 
-						int LA193_336 = input.LA(1);
-						 
-						int index193_336 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_336);
-						if ( s>=0 ) return s;
-						break;
-
-					case 447 : 
-						int LA193_337 = input.LA(1);
-						 
-						int index193_337 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_337);
-						if ( s>=0 ) return s;
-						break;
-
-					case 448 : 
-						int LA193_494 = input.LA(1);
-						 
-						int index193_494 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_494);
-						if ( s>=0 ) return s;
-						break;
-
-					case 449 : 
+					case 498 : 
 						int LA193_71 = input.LA(1);
 						s = -1;
 						if ( ((LA193_71 >= '\u0000' && LA193_71 <= '\t')||LA193_71=='\u000B'||(LA193_71 >= '\u000E' && LA193_71 <= '/')||(LA193_71 >= '1' && LA193_71 <= '3')||LA193_71=='5'||(LA193_71 >= '7' && LA193_71 <= '\uFFFF')) ) {s = 12;}
@@ -19718,705 +20509,68 @@
 						if ( s>=0 ) return s;
 						break;
 
-					case 450 : 
-						int LA193_746 = input.LA(1);
-						 
-						int index193_746 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_746);
-						if ( s>=0 ) return s;
-						break;
-
-					case 451 : 
-						int LA193_160 = input.LA(1);
-						 
-						int index193_160 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_160);
-						if ( s>=0 ) return s;
-						break;
-
-					case 452 : 
-						int LA193_158 = input.LA(1);
-						 
-						int index193_158 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_158);
-						if ( s>=0 ) return s;
-						break;
-
-					case 453 : 
-						int LA193_79 = input.LA(1);
-						 
-						int index193_79 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_79);
-						if ( s>=0 ) return s;
-						break;
-
-					case 454 : 
-						int LA193_461 = input.LA(1);
-						 
-						int index193_461 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_461);
-						if ( s>=0 ) return s;
-						break;
-
-					case 455 : 
-						int LA193_100 = input.LA(1);
-						 
-						int index193_100 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_100);
-						if ( s>=0 ) return s;
-						break;
-
-					case 456 : 
-						int LA193_208 = input.LA(1);
-						 
-						int index193_208 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_208);
-						if ( s>=0 ) return s;
-						break;
-
-					case 457 : 
-						int LA193_654 = input.LA(1);
-						 
-						int index193_654 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_654);
-						if ( s>=0 ) return s;
-						break;
-
-					case 458 : 
-						int LA193_389 = input.LA(1);
-						 
-						int index193_389 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_389);
-						if ( s>=0 ) return s;
-						break;
-
-					case 459 : 
-						int LA193_523 = input.LA(1);
-						 
-						int index193_523 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_523);
-						if ( s>=0 ) return s;
-						break;
-
-					case 460 : 
-						int LA193_214 = input.LA(1);
-						 
-						int index193_214 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_214);
-						if ( s>=0 ) return s;
-						break;
-
-					case 461 : 
-						int LA193_595 = input.LA(1);
-						 
-						int index193_595 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_595);
-						if ( s>=0 ) return s;
-						break;
-
-					case 462 : 
-						int LA193_274 = input.LA(1);
-						 
-						int index193_274 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_274);
-						if ( s>=0 ) return s;
-						break;
-
-					case 463 : 
-						int LA193_759 = input.LA(1);
-						 
-						int index193_759 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_759);
-						if ( s>=0 ) return s;
-						break;
-
-					case 464 : 
-						int LA193_835 = input.LA(1);
-						 
-						int index193_835 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_835);
-						if ( s>=0 ) return s;
-						break;
-
-					case 465 : 
-						int LA193_327 = input.LA(1);
-						 
-						int index193_327 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_327);
-						if ( s>=0 ) return s;
-						break;
-
-					case 466 : 
-						int LA193_719 = input.LA(1);
-						 
-						int index193_719 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_719);
-						if ( s>=0 ) return s;
-						break;
-
-					case 467 : 
-						int LA193_329 = input.LA(1);
-						 
-						int index193_329 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_329);
-						if ( s>=0 ) return s;
-						break;
-
-					case 468 : 
-						int LA193_808 = input.LA(1);
-						 
-						int index193_808 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_808);
-						if ( s>=0 ) return s;
-						break;
-
-					case 469 : 
-						int LA193_81 = input.LA(1);
-						 
-						int index193_81 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_81);
-						if ( s>=0 ) return s;
-						break;
-
-					case 470 : 
-						int LA193_101 = input.LA(1);
-						 
-						int index193_101 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_101);
-						if ( s>=0 ) return s;
-						break;
-
-					case 471 : 
-						int LA193_159 = input.LA(1);
-						 
-						int index193_159 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_159);
-						if ( s>=0 ) return s;
-						break;
-
-					case 472 : 
-						int LA193_161 = input.LA(1);
-						 
-						int index193_161 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_161);
-						if ( s>=0 ) return s;
-						break;
-
-					case 473 : 
-						int LA193_209 = input.LA(1);
-						 
-						int index193_209 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_209);
-						if ( s>=0 ) return s;
-						break;
-
-					case 474 : 
-						int LA193_215 = input.LA(1);
-						 
-						int index193_215 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_215);
-						if ( s>=0 ) return s;
-						break;
-
-					case 475 : 
-						int LA193_655 = input.LA(1);
-						 
-						int index193_655 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_655);
-						if ( s>=0 ) return s;
-						break;
-
-					case 476 : 
-						int LA193_760 = input.LA(1);
-						 
-						int index193_760 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_760);
-						if ( s>=0 ) return s;
-						break;
-
-					case 477 : 
-						int LA193_596 = input.LA(1);
-						 
-						int index193_596 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_596);
-						if ( s>=0 ) return s;
-						break;
-
-					case 478 : 
-						int LA193_275 = input.LA(1);
-						 
-						int index193_275 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_275);
-						if ( s>=0 ) return s;
-						break;
-
-					case 479 : 
-						int LA193_462 = input.LA(1);
-						 
-						int index193_462 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_462);
-						if ( s>=0 ) return s;
-						break;
-
-					case 480 : 
-						int LA193_328 = input.LA(1);
-						 
-						int index193_328 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_328);
-						if ( s>=0 ) return s;
-						break;
-
-					case 481 : 
-						int LA193_720 = input.LA(1);
-						 
-						int index193_720 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_720);
-						if ( s>=0 ) return s;
-						break;
-
-					case 482 : 
-						int LA193_330 = input.LA(1);
-						 
-						int index193_330 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_330);
-						if ( s>=0 ) return s;
-						break;
-
-					case 483 : 
-						int LA193_809 = input.LA(1);
-						 
-						int index193_809 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_809);
-						if ( s>=0 ) return s;
-						break;
-
-					case 484 : 
-						int LA193_836 = input.LA(1);
-						 
-						int index193_836 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_836);
-						if ( s>=0 ) return s;
-						break;
-
-					case 485 : 
-						int LA193_524 = input.LA(1);
-						 
-						int index193_524 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_524);
-						if ( s>=0 ) return s;
-						break;
-
-					case 486 : 
-						int LA193_390 = input.LA(1);
-						 
-						int index193_390 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred12_Css3()) ) {s = 216;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_390);
-						if ( s>=0 ) return s;
-						break;
-
-					case 487 : 
-						int LA193_241 = input.LA(1);
-						 
-						int index193_241 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_241);
-						if ( s>=0 ) return s;
-						break;
-
-					case 488 : 
-						int LA193_242 = input.LA(1);
-						 
-						int index193_242 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred9_Css3()) ) {s = 240;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_242);
-						if ( s>=0 ) return s;
-						break;
-
-					case 489 : 
-						int LA193_49 = input.LA(1);
-						 
-						int index193_49 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_49);
-						if ( s>=0 ) return s;
-						break;
-
-					case 490 : 
-						int LA193_83 = input.LA(1);
-						 
-						int index193_83 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_83);
-						if ( s>=0 ) return s;
-						break;
-
-					case 491 : 
-						int LA193_263 = input.LA(1);
-						 
-						int index193_263 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_263);
-						if ( s>=0 ) return s;
-						break;
-
-					case 492 : 
-						int LA193_378 = input.LA(1);
-						 
-						int index193_378 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_378);
-						if ( s>=0 ) return s;
-						break;
-
-					case 493 : 
-						int LA193_512 = input.LA(1);
-						 
-						int index193_512 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_512);
-						if ( s>=0 ) return s;
-						break;
-
-					case 494 : 
-						int LA193_643 = input.LA(1);
-						 
-						int index193_643 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_643);
-						if ( s>=0 ) return s;
-						break;
-
-					case 495 : 
-						int LA193_748 = input.LA(1);
-						 
-						int index193_748 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_748);
-						if ( s>=0 ) return s;
-						break;
-
-					case 496 : 
-						int LA193_51 = input.LA(1);
-						 
-						int index193_51 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_51);
-						if ( s>=0 ) return s;
-						break;
-
-					case 497 : 
-						int LA193_85 = input.LA(1);
-						 
-						int index193_85 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_85);
-						if ( s>=0 ) return s;
-						break;
-
-					case 498 : 
-						int LA193_265 = input.LA(1);
-						 
-						int index193_265 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
-						else if ( (true) ) {s = 12;}
-						 
-						input.seek(index193_265);
-						if ( s>=0 ) return s;
-						break;
-
 					case 499 : 
-						int LA193_380 = input.LA(1);
+						int LA193_675 = input.LA(1);
 						 
-						int index193_380 = input.index();
+						int index193_675 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_380);
+						input.seek(index193_675);
 						if ( s>=0 ) return s;
 						break;
 
 					case 500 : 
-						int LA193_514 = input.LA(1);
+						int LA193_679 = input.LA(1);
 						 
-						int index193_514 = input.index();
+						int index193_679 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred10_Css3()) ) {s = 316;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_514);
+						input.seek(index193_679);
 						if ( s>=0 ) return s;
 						break;
 
 					case 501 : 
-						int LA193_645 = input.LA(1);
+						int LA193_427 = input.LA(1);
 						 
-						int index193_645 = input.index();
+						int index193_427 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_645);
+						input.seek(index193_427);
 						if ( s>=0 ) return s;
 						break;
 
 					case 502 : 
-						int LA193_750 = input.LA(1);
+						int LA193_699 = input.LA(1);
 						 
-						int index193_750 = input.index();
+						int index193_699 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred4_Css3()) ) {s = 162;}
+						if ( (synpred7_Css3()) ) {s = 183;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_750);
+						input.seek(index193_699);
 						if ( s>=0 ) return s;
 						break;
 
 					case 503 : 
-						int LA193_340 = input.LA(1);
+						int LA193_788 = input.LA(1);
 						 
-						int index193_340 = input.index();
+						int index193_788 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred3_Css3()) ) {s = 221;}
+						if ( (synpred5_Css3()) ) {s = 170;}
 						else if ( (true) ) {s = 12;}
 						 
-						input.seek(index193_340);
+						input.seek(index193_788);
 						if ( s>=0 ) return s;
 						break;
 			}
@@ -20428,86 +20582,87 @@
 		}
 	}
 
-	static final String DFA209_eotS =
+	static final String DFA212_eotS =
 		"\1\uffff\1\71\1\75\1\77\1\101\1\103\2\uffff\1\107\1\111\4\uffff\1\113"+
 		"\1\uffff\1\115\1\120\4\uffff\1\122\1\123\1\131\3\uffff\1\35\1\uffff\2"+
-		"\35\1\uffff\1\144\1\uffff\2\35\3\uffff\21\72\42\uffff\3\35\1\uffff\5\35"+
-		"\2\uffff\2\35\1\uffff\3\72\1\u0098\30\72\2\uffff\1\u00b3\2\35\1\uffff"+
-		"\12\35\3\72\1\uffff\10\72\1\u00cd\21\72\2\uffff\15\35\3\72\1\u00ef\7\72"+
-		"\1\uffff\13\72\1\u0105\1\u0106\1\72\1\u0108\2\72\15\35\1\uffff\2\72\1"+
-		"\uffff\1\u0119\1\u011a\21\72\1\u012e\1\72\2\uffff\1\u0130\1\uffff\1\u0131"+
-		"\1\72\14\35\1\u013d\1\72\2\uffff\17\72\1\u0150\2\72\1\u0153\1\uffff\1"+
-		"\u0154\2\uffff\1\72\10\35\3\uffff\1\u015b\1\72\1\u015d\1\72\1\u015f\15"+
-		"\72\1\uffff\2\72\2\uffff\1\u0171\5\35\1\uffff\1\72\1\uffff\1\72\1\uffff"+
-		"\1\72\1\u0178\1\u0179\1\u017b\5\72\1\u0181\7\72\1\uffff\3\35\1\u018a\1"+
-		"\72\1\u018c\2\uffff\1\72\1\uffff\1\72\1\u0190\3\72\1\uffff\2\72\1\u0196"+
-		"\4\72\1\35\1\uffff\1\72\1\uffff\1\72\1\u019e\1\72\1\uffff\5\72\1\uffff"+
-		"\4\72\1\uffff\2\72\1\uffff\1\72\1\u01ad\2\72\1\u01b0\1\u01b1\10\72\1\uffff"+
-		"\1\72\1\u01bc\2\uffff\1\u01bd\1\u01be\2\72\1\u01c1\3\72\1\u01c5\1\72\3"+
-		"\uffff\1\u01c7\1\72\1\uffff\3\72\1\uffff\1\72\1\uffff\1\72\1\u01ce\4\72"+
-		"\1\uffff\1\u01d3\3\72\1\uffff\2\72\1\u01d9\1\u01da\1\72\2\uffff\1\u01dc"+
+		"\35\1\uffff\1\145\1\uffff\2\35\3\uffff\21\72\42\uffff\3\35\2\uffff\5\35"+
+		"\2\uffff\2\35\1\uffff\3\72\1\u0099\30\72\2\uffff\1\u00b4\2\35\1\uffff"+
+		"\12\35\3\72\1\uffff\10\72\1\u00ce\21\72\2\uffff\15\35\3\72\1\u00f0\7\72"+
+		"\1\uffff\13\72\1\u0106\1\u0107\1\72\1\u0109\2\72\15\35\1\uffff\2\72\1"+
+		"\uffff\1\u011a\1\u011b\21\72\1\u012f\1\72\2\uffff\1\u0131\1\uffff\1\u0132"+
+		"\1\72\14\35\1\u013e\1\72\2\uffff\17\72\1\u0151\2\72\1\u0154\1\uffff\1"+
+		"\u0155\2\uffff\1\72\10\35\3\uffff\1\u015c\1\72\1\u015e\1\72\1\u0160\15"+
+		"\72\1\uffff\2\72\2\uffff\1\u0172\5\35\1\uffff\1\72\1\uffff\1\72\1\uffff"+
+		"\1\72\1\u0179\1\u017a\1\u017c\5\72\1\u0182\7\72\1\uffff\3\35\1\u018b\1"+
+		"\72\1\u018d\2\uffff\1\72\1\uffff\1\72\1\u0191\3\72\1\uffff\2\72\1\u0197"+
+		"\4\72\1\35\1\uffff\1\72\1\uffff\1\72\1\u019f\1\72\1\uffff\5\72\1\uffff"+
+		"\4\72\1\uffff\2\72\1\uffff\1\72\1\u01ae\2\72\1\u01b1\1\u01b2\10\72\1\uffff"+
+		"\1\72\1\u01bd\2\uffff\1\u01be\1\u01bf\2\72\1\u01c2\3\72\1\u01c6\1\72\3"+
+		"\uffff\1\u01c8\1\72\1\uffff\3\72\1\uffff\1\72\1\uffff\1\72\1\u01cf\4\72"+
+		"\1\uffff\1\u01d4\3\72\1\uffff\2\72\1\u01da\1\u01db\1\72\2\uffff\1\u01dd"+
 		"\1\uffff";
-	static final String DFA209_eofS =
-		"\u01dd\uffff";
-	static final String DFA209_minS =
+	static final String DFA212_eofS =
+		"\u01de\uffff";
+	static final String DFA212_minS =
 		"\1\11\1\55\1\41\1\55\2\75\1\uffff\1\55\2\75\4\uffff\1\74\1\uffff\1\72"+
-		"\1\52\4\uffff\1\56\1\55\1\11\3\uffff\1\117\1\uffff\2\122\1\0\1\55\1\uffff"+
+		"\1\52\4\uffff\1\56\1\55\1\11\3\uffff\1\117\1\uffff\2\53\1\0\1\55\1\uffff"+
 		"\1\117\1\105\2\uffff\1\55\1\145\1\106\1\101\1\105\1\101\1\110\1\117\1"+
 		"\125\2\117\2\105\1\115\1\101\1\105\1\101\1\124\5\uffff\1\76\34\uffff\1"+
-		"\124\2\114\1\0\1\114\1\122\1\60\1\122\1\65\2\uffff\1\115\1\107\1\uffff"+
-		"\1\163\1\120\1\103\1\55\1\107\1\104\1\130\1\115\1\101\3\116\2\120\1\124"+
-		"\1\106\1\107\1\124\1\117\1\105\1\124\1\122\1\123\1\103\1\102\1\122\1\111"+
-		"\1\55\2\uffff\1\55\2\50\1\0\1\114\1\60\1\114\1\62\1\50\1\60\1\65\1\122"+
-		"\1\101\1\105\1\164\1\117\1\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2"+
-		"\124\1\55\1\103\1\120\1\55\2\124\1\110\1\125\1\132\1\102\1\105\1\117\1"+
-		"\105\1\110\1\125\1\116\1\114\1\122\2\uffff\1\50\1\60\1\50\1\103\1\60\1"+
-		"\62\1\114\1\120\1\60\1\65\1\122\1\111\1\130\1\56\1\122\1\125\1\55\1\101"+
-		"\1\116\2\123\1\124\1\105\1\55\1\uffff\1\124\1\117\1\103\1\117\1\55\1\124"+
-		"\1\122\1\55\1\113\1\116\1\122\2\55\1\107\1\55\1\105\1\117\1\60\1\103\2"+
-		"\50\1\60\1\62\1\114\1\122\2\65\1\122\1\116\1\120\1\uffff\1\124\1\104\1"+
-		"\uffff\2\55\1\120\2\105\1\116\1\106\1\111\1\122\2\105\1\111\1\115\1\102"+
-		"\1\55\1\116\1\104\1\111\1\104\1\55\1\106\2\uffff\1\55\1\uffff\1\55\1\117"+
-		"\1\60\1\103\2\50\1\65\1\62\1\114\1\105\1\65\1\122\2\50\1\55\1\105\2\uffff"+
-		"\1\101\1\124\1\122\1\124\1\101\1\117\1\124\1\106\1\116\1\107\1\55\1\117"+
-		"\1\111\1\117\1\102\1\55\1\117\1\124\1\55\1\uffff\1\55\2\uffff\1\124\1"+
-		"\64\1\103\2\50\1\62\1\114\1\106\1\122\3\uffff\1\55\1\103\3\55\1\103\1"+
-		"\116\1\123\2\124\1\110\1\103\1\120\1\104\1\124\1\117\1\111\1\117\1\uffff"+
-		"\1\103\1\55\2\uffff\1\55\1\103\2\50\1\114\1\111\1\uffff\1\105\1\uffff"+
-		"\1\123\1\uffff\1\105\3\55\1\105\1\124\2\105\1\111\1\55\1\104\1\124\1\120"+
-		"\1\104\1\124\1\125\1\113\1\uffff\2\50\1\130\1\55\1\124\1\55\2\uffff\1"+
-		"\103\1\uffff\1\122\1\55\1\106\1\116\1\107\1\uffff\1\114\1\117\1\55\1\104"+
-		"\1\124\1\115\1\105\1\50\1\uffff\1\131\1\uffff\1\117\1\55\1\103\1\uffff"+
-		"\2\124\1\110\1\105\1\115\1\uffff\1\114\1\117\1\105\1\131\1\uffff\1\114"+
-		"\1\122\1\uffff\1\117\1\55\1\105\1\124\2\55\1\105\1\115\1\116\1\106\1\105"+
-		"\1\116\1\122\1\103\1\uffff\1\122\1\55\2\uffff\2\55\1\124\1\122\1\55\1"+
-		"\105\1\116\1\117\1\55\1\103\3\uffff\1\55\1\101\1\uffff\1\122\1\105\1\122"+
-		"\1\uffff\1\117\1\uffff\1\115\1\55\1\122\1\116\1\122\1\105\1\uffff\1\55"+
-		"\1\105\1\116\1\123\1\uffff\1\122\1\105\2\55\1\122\2\uffff\1\55\1\uffff";
-	static final String DFA209_maxS =
+		"\124\2\114\1\0\1\uffff\1\114\1\122\1\60\1\122\1\65\2\uffff\1\115\1\107"+
+		"\1\uffff\1\163\1\120\1\103\1\55\1\107\1\104\1\130\1\115\1\101\3\116\2"+
+		"\120\1\124\1\106\1\107\1\124\1\117\1\105\1\124\1\122\1\123\1\103\1\102"+
+		"\1\122\1\111\1\55\2\uffff\1\55\2\50\1\0\1\114\1\60\1\114\1\62\1\50\1\60"+
+		"\1\65\1\122\1\101\1\105\1\164\1\117\1\114\1\uffff\1\105\2\111\1\105\1"+
+		"\122\1\116\2\124\1\55\1\103\1\120\1\55\2\124\1\110\1\125\1\132\1\102\1"+
+		"\105\1\117\1\105\1\110\1\125\1\116\1\114\1\122\2\uffff\1\50\1\60\1\50"+
+		"\1\103\1\60\1\62\1\114\1\120\1\60\1\65\1\122\1\111\1\130\1\56\1\122\1"+
+		"\125\1\55\1\101\1\116\2\123\1\124\1\105\1\55\1\uffff\1\124\1\117\1\103"+
+		"\1\117\1\55\1\124\1\122\1\55\1\113\1\116\1\122\2\55\1\107\1\55\1\105\1"+
+		"\117\1\60\1\103\2\50\1\60\1\62\1\114\1\122\2\65\1\122\1\116\1\120\1\uffff"+
+		"\1\124\1\104\1\uffff\2\55\1\120\2\105\1\116\1\106\1\111\1\122\2\105\1"+
+		"\111\1\115\1\102\1\55\1\116\1\104\1\111\1\104\1\55\1\106\2\uffff\1\55"+
+		"\1\uffff\1\55\1\117\1\60\1\103\2\50\1\65\1\62\1\114\1\105\1\65\1\122\2"+
+		"\50\1\55\1\105\2\uffff\1\101\1\124\1\122\1\124\1\101\1\117\1\124\1\106"+
+		"\1\116\1\107\1\55\1\117\1\111\1\117\1\102\1\55\1\117\1\124\1\55\1\uffff"+
+		"\1\55\2\uffff\1\124\1\64\1\103\2\50\1\62\1\114\1\106\1\122\3\uffff\1\55"+
+		"\1\103\3\55\1\103\1\116\1\123\2\124\1\110\1\103\1\120\1\104\1\124\1\117"+
+		"\1\111\1\117\1\uffff\1\103\1\55\2\uffff\1\55\1\103\2\50\1\114\1\111\1"+
+		"\uffff\1\105\1\uffff\1\123\1\uffff\1\105\3\55\1\105\1\124\2\105\1\111"+
+		"\1\55\1\104\1\124\1\120\1\104\1\124\1\125\1\113\1\uffff\2\50\1\130\1\55"+
+		"\1\124\1\55\2\uffff\1\103\1\uffff\1\122\1\55\1\106\1\116\1\107\1\uffff"+
+		"\1\114\1\117\1\55\1\104\1\124\1\115\1\105\1\50\1\uffff\1\131\1\uffff\1"+
+		"\117\1\55\1\103\1\uffff\2\124\1\110\1\105\1\115\1\uffff\1\114\1\117\1"+
+		"\105\1\131\1\uffff\1\114\1\122\1\uffff\1\117\1\55\1\105\1\124\2\55\1\105"+
+		"\1\115\1\116\1\106\1\105\1\116\1\122\1\103\1\uffff\1\122\1\55\2\uffff"+
+		"\2\55\1\124\1\122\1\55\1\105\1\116\1\117\1\55\1\103\3\uffff\1\55\1\101"+
+		"\1\uffff\1\122\1\105\1\122\1\uffff\1\117\1\uffff\1\115\1\55\1\122\1\116"+
+		"\1\122\1\105\1\uffff\1\55\1\105\1\116\1\123\1\uffff\1\122\1\105\2\55\1"+
+		"\122\2\uffff\1\55\1\uffff";
+	static final String DFA212_maxS =
 		"\2\uffff\1\75\1\uffff\2\75\1\uffff\1\uffff\2\75\4\uffff\1\76\1\uffff\1"+
 		"\72\1\57\4\uffff\1\71\1\uffff\1\117\3\uffff\1\117\1\uffff\2\162\2\uffff"+
 		"\1\uffff\1\117\1\105\2\uffff\1\uffff\1\145\1\116\1\101\1\111\1\101\1\117"+
 		"\2\125\2\117\1\105\1\111\1\127\1\130\1\105\1\110\1\124\5\uffff\1\uffff"+
-		"\34\uffff\1\124\2\154\1\uffff\1\154\1\162\1\67\1\162\1\65\2\uffff\1\115"+
-		"\1\107\1\uffff\1\163\1\120\1\103\1\uffff\1\107\1\104\1\130\1\115\1\101"+
-		"\1\125\1\122\1\116\2\120\1\124\1\106\1\107\1\124\1\117\1\105\1\124\1\122"+
-		"\1\123\1\103\1\102\1\122\1\111\1\55\2\uffff\1\uffff\2\50\1\uffff\1\154"+
-		"\1\67\1\154\1\62\1\55\1\67\1\65\1\162\1\101\1\105\1\164\1\117\1\114\1"+
-		"\uffff\1\105\2\111\1\105\1\122\1\116\2\124\1\uffff\1\103\1\120\1\55\2"+
-		"\124\1\110\1\125\1\132\1\102\1\105\1\117\1\105\1\110\1\125\1\116\1\114"+
-		"\1\122\2\uffff\1\50\1\66\1\50\1\143\1\67\1\62\1\154\1\120\1\67\1\65\1"+
-		"\162\1\111\1\130\1\56\1\122\1\125\1\uffff\1\101\1\116\2\123\1\124\1\105"+
-		"\1\55\1\uffff\1\124\1\117\1\122\1\117\1\55\1\124\1\122\1\55\1\113\1\116"+
-		"\1\122\2\uffff\1\107\1\uffff\1\105\1\117\1\66\1\143\2\50\1\67\1\62\1\154"+
-		"\1\122\1\67\1\65\1\162\1\116\1\120\1\uffff\1\124\1\104\1\uffff\2\uffff"+
-		"\1\120\2\105\1\116\1\106\1\111\1\122\2\105\1\111\1\115\1\124\1\55\1\116"+
-		"\1\104\1\111\1\104\1\uffff\1\106\2\uffff\1\uffff\1\uffff\1\uffff\1\117"+
-		"\1\66\1\143\2\50\1\67\1\62\1\154\1\105\1\65\1\162\2\50\1\uffff\1\105\2"+
-		"\uffff\1\101\1\124\1\122\1\124\1\101\1\117\1\124\1\106\1\116\1\107\1\55"+
-		"\1\117\1\111\1\117\1\124\1\uffff\1\117\1\124\1\uffff\1\uffff\1\uffff\2"+
-		"\uffff\1\124\1\66\1\143\2\50\1\62\1\154\1\106\1\162\3\uffff\1\uffff\1"+
-		"\103\1\uffff\1\55\1\uffff\1\103\1\116\1\123\2\124\1\110\1\122\1\120\1"+
-		"\104\1\124\1\117\1\111\1\117\1\uffff\1\103\1\55\2\uffff\1\uffff\1\143"+
+		"\34\uffff\1\124\2\154\1\uffff\1\uffff\1\154\1\162\1\67\1\162\1\65\2\uffff"+
+		"\1\115\1\107\1\uffff\1\163\1\120\1\103\1\uffff\1\107\1\104\1\130\1\115"+
+		"\1\101\1\125\1\122\1\116\2\120\1\124\1\106\1\107\1\124\1\117\1\105\1\124"+
+		"\1\122\1\123\1\103\1\102\1\122\1\111\1\55\2\uffff\1\uffff\2\50\1\uffff"+
+		"\1\154\1\67\1\154\1\62\1\55\1\67\1\65\1\162\1\101\1\105\1\164\1\117\1"+
+		"\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2\124\1\uffff\1\103\1\120\1"+
+		"\55\2\124\1\110\1\125\1\132\1\102\1\105\1\117\1\105\1\110\1\125\1\116"+
+		"\1\114\1\122\2\uffff\1\50\1\66\1\50\1\143\1\67\1\62\1\154\1\120\1\67\1"+
+		"\65\1\162\1\111\1\130\1\56\1\122\1\125\1\uffff\1\101\1\116\2\123\1\124"+
+		"\1\105\1\55\1\uffff\1\124\1\117\1\122\1\117\1\55\1\124\1\122\1\55\1\113"+
+		"\1\116\1\122\2\uffff\1\107\1\uffff\1\105\1\117\1\66\1\143\2\50\1\67\1"+
+		"\62\1\154\1\122\1\67\1\65\1\162\1\116\1\120\1\uffff\1\124\1\104\1\uffff"+
+		"\2\uffff\1\120\2\105\1\116\1\106\1\111\1\122\2\105\1\111\1\115\1\124\1"+
+		"\55\1\116\1\104\1\111\1\104\1\uffff\1\106\2\uffff\1\uffff\1\uffff\1\uffff"+
+		"\1\117\1\66\1\143\2\50\1\67\1\62\1\154\1\105\1\65\1\162\2\50\1\uffff\1"+
+		"\105\2\uffff\1\101\1\124\1\122\1\124\1\101\1\117\1\124\1\106\1\116\1\107"+
+		"\1\55\1\117\1\111\1\117\1\124\1\uffff\1\117\1\124\1\uffff\1\uffff\1\uffff"+
+		"\2\uffff\1\124\1\66\1\143\2\50\1\62\1\154\1\106\1\162\3\uffff\1\uffff"+
+		"\1\103\1\uffff\1\55\1\uffff\1\103\1\116\1\123\2\124\1\110\1\122\1\120"+
+		"\1\104\1\124\1\117\1\111\1\117\1\uffff\1\103\1\55\2\uffff\1\uffff\1\143"+
 		"\2\50\1\154\1\111\1\uffff\1\105\1\uffff\1\123\1\uffff\1\105\3\uffff\1"+
 		"\105\1\124\2\105\1\111\1\uffff\1\104\1\124\1\120\1\104\1\124\1\125\1\113"+
 		"\1\uffff\2\50\1\130\1\uffff\1\124\1\uffff\2\uffff\1\103\1\uffff\1\122"+
@@ -20520,24 +20675,24 @@
 		"\122\1\105\1\122\1\uffff\1\117\1\uffff\1\115\1\uffff\1\122\1\116\1\122"+
 		"\1\105\1\uffff\1\uffff\1\105\1\116\1\123\1\uffff\1\122\1\105\2\uffff\1"+
 		"\122\2\uffff\1\uffff\1\uffff";
-	static final String DFA209_acceptS =
+	static final String DFA212_acceptS =
 		"\6\uffff\1\6\3\uffff\1\12\1\13\1\14\1\15\1\uffff\1\17\2\uffff\1\24\1\26"+
 		"\1\27\1\30\3\uffff\1\43\1\46\1\47\1\uffff\1\52\4\uffff\1\137\2\uffff\1"+
-		"\144\1\145\22\uffff\1\130\1\131\1\2\1\42\1\40\1\uffff\1\23\1\4\1\32\1"+
-		"\5\1\33\1\7\1\132\1\10\1\25\1\41\1\11\1\36\1\16\1\21\1\20\1\146\1\147"+
-		"\1\22\1\44\1\31\1\34\1\136\1\37\1\133\1\134\1\135\1\35\1\55\11\uffff\1"+
-		"\53\1\54\2\uffff\1\1\34\uffff\1\3\1\51\21\uffff\1\117\32\uffff\1\50\1"+
-		"\140\30\uffff\1\122\36\uffff\1\45\2\uffff\1\57\25\uffff\1\120\1\125\1"+
-		"\uffff\1\116\20\uffff\1\60\1\111\23\uffff\1\115\1\uffff\1\114\1\126\11"+
-		"\uffff\1\142\1\143\1\56\22\uffff\1\124\2\uffff\1\113\1\121\6\uffff\1\112"+
-		"\1\uffff\1\62\1\uffff\1\110\21\uffff\1\127\6\uffff\1\123\1\65\1\uffff"+
-		"\1\67\5\uffff\1\100\10\uffff\1\61\1\uffff\1\64\3\uffff\1\71\5\uffff\1"+
-		"\103\4\uffff\1\141\2\uffff\1\70\16\uffff\1\74\2\uffff\1\101\1\102\12\uffff"+
-		"\1\76\1\104\1\105\2\uffff\1\63\3\uffff\1\75\1\uffff\1\106\6\uffff\1\66"+
-		"\4\uffff\1\72\5\uffff\1\107\1\73\1\uffff\1\77";
-	static final String DFA209_specialS =
-		"\40\uffff\1\2\75\uffff\1\1\53\uffff\1\0\u0152\uffff}>";
-	static final String[] DFA209_transitionS = {
+		"\145\1\146\22\uffff\1\130\1\131\1\2\1\42\1\40\1\uffff\1\23\1\4\1\32\1"+
+		"\5\1\33\1\7\1\132\1\10\1\25\1\41\1\11\1\36\1\16\1\21\1\20\1\147\1\150"+
+		"\1\22\1\44\1\31\1\34\1\136\1\37\1\133\1\134\1\135\1\35\1\55\4\uffff\1"+
+		"\141\5\uffff\1\53\1\54\2\uffff\1\1\34\uffff\1\3\1\51\21\uffff\1\117\32"+
+		"\uffff\1\50\1\140\30\uffff\1\122\36\uffff\1\45\2\uffff\1\57\25\uffff\1"+
+		"\120\1\125\1\uffff\1\116\20\uffff\1\60\1\111\23\uffff\1\115\1\uffff\1"+
+		"\114\1\126\11\uffff\1\143\1\144\1\56\22\uffff\1\124\2\uffff\1\113\1\121"+
+		"\6\uffff\1\112\1\uffff\1\62\1\uffff\1\110\21\uffff\1\127\6\uffff\1\123"+
+		"\1\65\1\uffff\1\67\5\uffff\1\100\10\uffff\1\61\1\uffff\1\64\3\uffff\1"+
+		"\71\5\uffff\1\103\4\uffff\1\142\2\uffff\1\70\16\uffff\1\74\2\uffff\1\101"+
+		"\1\102\12\uffff\1\76\1\104\1\105\2\uffff\1\63\3\uffff\1\75\1\uffff\1\106"+
+		"\6\uffff\1\66\4\uffff\1\72\5\uffff\1\107\1\73\1\uffff\1\77";
+	static final String DFA212_specialS =
+		"\40\uffff\1\2\75\uffff\1\1\54\uffff\1\0\u0152\uffff}>";
+	static final String[] DFA212_transitionS = {
 			"\1\45\1\46\2\uffff\1\46\22\uffff\1\45\1\30\1\32\1\41\1\7\1\27\1\31\1"+
 			"\32\1\23\1\24\1\10\1\22\1\25\1\3\1\26\1\21\12\42\1\20\1\17\1\2\1\16\1"+
 			"\11\1\uffff\1\1\3\35\1\43\11\35\1\34\3\35\1\44\2\35\1\37\5\35\1\14\1"+
@@ -20578,43 +20733,43 @@
 			"",
 			"\1\133",
 			"",
-			"\1\135\11\uffff\1\136\25\uffff\1\134",
-			"\1\137\11\uffff\1\136\25\uffff\1\134",
-			"\12\35\1\uffff\1\35\2\uffff\42\35\1\141\4\35\1\143\1\35\1\143\35\35"+
-			"\1\142\37\35\1\140\uff8a\35",
-			"\1\145\2\uffff\12\145\7\uffff\32\145\1\uffff\1\145\2\uffff\1\145\1\uffff"+
-			"\32\145\5\uffff\uff80\145",
+			"\1\137\46\uffff\1\135\11\uffff\1\136\25\uffff\1\134",
+			"\1\137\46\uffff\1\140\11\uffff\1\136\25\uffff\1\134",
+			"\12\35\1\uffff\1\35\2\uffff\42\35\1\142\4\35\1\144\1\35\1\144\35\35"+
+			"\1\143\37\35\1\141\uff8a\35",
+			"\1\146\2\uffff\12\146\7\uffff\32\146\1\uffff\1\146\2\uffff\1\146\1\uffff"+
+			"\32\146\5\uffff\uff80\146",
 			"",
-			"\1\146",
 			"\1\147",
+			"\1\150",
 			"",
 			"",
-			"\1\72\2\uffff\12\72\6\uffff\1\150\32\72\1\uffff\1\72\2\uffff\1\72\1"+
+			"\1\72\2\uffff\12\72\6\uffff\1\151\32\72\1\uffff\1\72\2\uffff\1\72\1"+
 			"\uffff\32\72\5\uffff\uff80\72",
-			"\1\151",
-			"\1\154\6\uffff\1\152\1\153",
-			"\1\155",
-			"\1\156\3\uffff\1\157",
-			"\1\160",
-			"\1\161\6\uffff\1\162",
-			"\1\163\5\uffff\1\164",
-			"\1\165",
+			"\1\152",
+			"\1\155\6\uffff\1\153\1\154",
+			"\1\156",
+			"\1\157\3\uffff\1\160",
+			"\1\161",
+			"\1\162\6\uffff\1\163",
+			"\1\164\5\uffff\1\165",
 			"\1\166",
 			"\1\167",
 			"\1\170",
-			"\1\172\3\uffff\1\171",
-			"\1\173\11\uffff\1\174",
-			"\1\u0080\12\uffff\1\177\5\uffff\1\176\5\uffff\1\175",
-			"\1\u0081",
-			"\1\u0082\6\uffff\1\u0083",
-			"\1\u0084",
+			"\1\171",
+			"\1\173\3\uffff\1\172",
+			"\1\174\11\uffff\1\175",
+			"\1\u0081\12\uffff\1\u0080\5\uffff\1\177\5\uffff\1\176",
+			"\1\u0082",
+			"\1\u0083\6\uffff\1\u0084",
+			"\1\u0085",
 			"",
 			"",
 			"",
 			"",
 			"",
-			"\1\u0085\2\uffff\32\u0086\1\uffff\1\u0086\2\uffff\1\u0086\1\uffff\32"+
-			"\u0086\5\uffff\uff80\u0086",
+			"\1\u0086\2\uffff\32\u0087\1\uffff\1\u0087\2\uffff\1\u0087\1\uffff\32"+
+			"\u0087\5\uffff\uff80\u0087",
 			"",
 			"",
 			"",
@@ -20643,34 +20798,34 @@
 			"",
 			"",
 			"",
-			"\1\u0087",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
-			"\12\35\1\uffff\1\35\2\uffff\42\35\1\u008c\4\35\1\u008e\1\35\1\u008e"+
-			"\32\35\1\u008d\37\35\1\u008b\uff8d\35",
-			"\1\u008f\17\uffff\1\u008a\17\uffff\1\u0088",
+			"\1\u0088",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\12\35\1\uffff\1\35\2\uffff\42\35\1\u008d\4\35\1\u008f\1\35\1\u008f"+
+			"\32\35\1\u008e\37\35\1\u008c\uff8d\35",
+			"",
+			"\1\u0090\17\uffff\1\u008b\17\uffff\1\u0089",
 			"\1\135\11\uffff\1\136\25\uffff\1\134",
-			"\1\u0090\4\uffff\1\u0091\1\uffff\1\u0091",
+			"\1\u0091\4\uffff\1\u0092\1\uffff\1\u0092",
 			"\1\135\11\uffff\1\136\25\uffff\1\134",
-			"\1\u0092",
-			"",
-			"",
 			"\1\u0093",
-			"\1\u0094",
 			"",
+			"",
+			"\1\u0094",
 			"\1\u0095",
+			"",
 			"\1\u0096",
 			"\1\u0097",
+			"\1\u0098",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0099",
 			"\1\u009a",
 			"\1\u009b",
 			"\1\u009c",
 			"\1\u009d",
-			"\1\u009f\6\uffff\1\u009e",
-			"\1\u00a0\3\uffff\1\u00a1",
-			"\1\u00a2",
+			"\1\u009e",
+			"\1\u00a0\6\uffff\1\u009f",
+			"\1\u00a1\3\uffff\1\u00a2",
 			"\1\u00a3",
 			"\1\u00a4",
 			"\1\u00a5",
@@ -20687,29 +20842,29 @@
 			"\1\u00b0",
 			"\1\u00b1",
 			"\1\u00b2",
+			"\1\u00b3",
 			"",
 			"",
 			"\1\35\2\uffff\12\35\7\uffff\32\35\1\uffff\1\35\2\uffff\1\35\1\uffff"+
 			"\32\35\5\uffff\uff80\35",
-			"\1\u00b4",
-			"\1\u00b4",
-			"\12\35\1\uffff\1\35\2\uffff\42\35\1\u00b6\3\35\1\u00b8\1\35\1\u00b8"+
-			"\25\35\1\u00b7\37\35\1\u00b5\uff93\35",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
-			"\1\u00b9\4\uffff\1\u00ba\1\uffff\1\u00ba",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
-			"\1\u00bb",
-			"\1\u00b4\4\uffff\1\u00bc",
-			"\1\u00bd\4\uffff\1\u00be\1\uffff\1\u00be",
-			"\1\u00bf",
-			"\1\135\11\uffff\1\136\25\uffff\1\134",
+			"\1\u00b5",
+			"\1\u00b5",
+			"\12\35\1\uffff\1\35\2\uffff\42\35\1\u00b7\3\35\1\u00b9\1\35\1\u00b9"+
+			"\25\35\1\u00b8\37\35\1\u00b6\uff93\35",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u00ba\4\uffff\1\u00bb\1\uffff\1\u00bb",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u00bc",
+			"\1\u00b5\4\uffff\1\u00bd",
+			"\1\u00be\4\uffff\1\u00bf\1\uffff\1\u00bf",
 			"\1\u00c0",
+			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"\1\u00c1",
 			"\1\u00c2",
 			"\1\u00c3",
 			"\1\u00c4",
-			"",
 			"\1\u00c5",
+			"",
 			"\1\u00c6",
 			"\1\u00c7",
 			"\1\u00c8",
@@ -20717,9 +20872,9 @@
 			"\1\u00ca",
 			"\1\u00cb",
 			"\1\u00cc",
+			"\1\u00cd",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u00ce",
 			"\1\u00cf",
 			"\1\u00d0",
 			"\1\u00d1",
@@ -20736,38 +20891,38 @@
 			"\1\u00dc",
 			"\1\u00dd",
 			"\1\u00de",
+			"\1\u00df",
 			"",
 			"",
-			"\1\u00b4",
-			"\1\u00df\3\uffff\1\u00e0\1\uffff\1\u00e0",
-			"\1\u00b4",
-			"\1\u00e2\37\uffff\1\u00e1",
-			"\1\u00e3\4\uffff\1\u00e4\1\uffff\1\u00e4",
-			"\1\u00e5",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
+			"\1\u00b5",
+			"\1\u00e0\3\uffff\1\u00e1\1\uffff\1\u00e1",
+			"\1\u00b5",
+			"\1\u00e3\37\uffff\1\u00e2",
+			"\1\u00e4\4\uffff\1\u00e5\1\uffff\1\u00e5",
 			"\1\u00e6",
-			"\1\u00e7\4\uffff\1\u00e8\1\uffff\1\u00e8",
-			"\1\u00e9",
-			"\1\135\11\uffff\1\136\25\uffff\1\134",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u00e7",
+			"\1\u00e8\4\uffff\1\u00e9\1\uffff\1\u00e9",
 			"\1\u00ea",
+			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"\1\u00eb",
 			"\1\u00ec",
 			"\1\u00ed",
 			"\1\u00ee",
+			"\1\u00ef",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u00f0",
 			"\1\u00f1",
 			"\1\u00f2",
 			"\1\u00f3",
 			"\1\u00f4",
 			"\1\u00f5",
 			"\1\u00f6",
-			"",
 			"\1\u00f7",
+			"",
 			"\1\u00f8",
-			"\1\u00fa\10\uffff\1\u00f9\5\uffff\1\u00fb",
-			"\1\u00fc",
+			"\1\u00f9",
+			"\1\u00fb\10\uffff\1\u00fa\5\uffff\1\u00fc",
 			"\1\u00fd",
 			"\1\u00fe",
 			"\1\u00ff",
@@ -20775,37 +20930,37 @@
 			"\1\u0101",
 			"\1\u0102",
 			"\1\u0103",
-			"\1\72\2\uffff\12\72\7\uffff\10\72\1\u0104\21\72\1\uffff\1\72\2\uffff"+
+			"\1\u0104",
+			"\1\72\2\uffff\12\72\7\uffff\10\72\1\u0105\21\72\1\uffff\1\72\2\uffff"+
 			"\1\72\1\uffff\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0107",
+			"\1\u0108",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0109",
 			"\1\u010a",
-			"\1\u010b\3\uffff\1\u010c\1\uffff\1\u010c",
-			"\1\u010e\37\uffff\1\u010d",
-			"\1\u00b4",
-			"\1\u00b4",
-			"\1\u010f\4\uffff\1\u0110\1\uffff\1\u0110",
-			"\1\u0111",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
+			"\1\u010b",
+			"\1\u010c\3\uffff\1\u010d\1\uffff\1\u010d",
+			"\1\u010f\37\uffff\1\u010e",
+			"\1\u00b5",
+			"\1\u00b5",
+			"\1\u0110\4\uffff\1\u0111\1\uffff\1\u0111",
 			"\1\u0112",
-			"\1\u0113\1\uffff\1\u0113",
-			"\1\u0114",
-			"\1\135\11\uffff\1\136\25\uffff\1\134",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u0113",
+			"\1\u0114\1\uffff\1\u0114",
 			"\1\u0115",
+			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"\1\u0116",
-			"",
 			"\1\u0117",
+			"",
 			"\1\u0118",
+			"\1\u0119",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u011b",
 			"\1\u011c",
 			"\1\u011d",
 			"\1\u011e",
@@ -20816,15 +20971,16 @@
 			"\1\u0123",
 			"\1\u0124",
 			"\1\u0125",
-			"\1\u0128\12\uffff\1\u0127\6\uffff\1\u0126",
-			"\1\u0129",
+			"\1\u0126",
+			"\1\u0129\12\uffff\1\u0128\6\uffff\1\u0127",
 			"\1\u012a",
 			"\1\u012b",
 			"\1\u012c",
 			"\1\u012d",
+			"\1\u012e",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u012f",
+			"\1\u0130",
 			"",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
@@ -20832,25 +20988,24 @@
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0132",
-			"\1\u0133\3\uffff\1\u0134\1\uffff\1\u0134",
-			"\1\u0136\37\uffff\1\u0135",
-			"\1\u00b4",
-			"\1\u00b4",
-			"\1\u0137\1\uffff\1\u0137",
-			"\1\u0138",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
+			"\1\u0133",
+			"\1\u0134\3\uffff\1\u0135\1\uffff\1\u0135",
+			"\1\u0137\37\uffff\1\u0136",
+			"\1\u00b5",
+			"\1\u00b5",
+			"\1\u0138\1\uffff\1\u0138",
 			"\1\u0139",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
 			"\1\u013a",
-			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"\1\u013b",
+			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"\1\u013c",
+			"\1\u013d",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u013e",
-			"",
-			"",
 			"\1\u013f",
+			"",
+			"",
 			"\1\u0140",
 			"\1\u0141",
 			"\1\u0142",
@@ -20864,11 +21019,12 @@
 			"\1\u014a",
 			"\1\u014b",
 			"\1\u014c",
-			"\1\u014f\12\uffff\1\u014e\6\uffff\1\u014d",
+			"\1\u014d",
+			"\1\u0150\12\uffff\1\u014f\6\uffff\1\u014e",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0151",
 			"\1\u0152",
+			"\1\u0153",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"",
@@ -20876,138 +21032,137 @@
 			"\32\72\5\uffff\uff80\72",
 			"",
 			"",
-			"\1\u0155",
-			"\1\u0156\1\uffff\1\u0156",
-			"\1\u0158\37\uffff\1\u0157",
-			"\1\u00b4",
-			"\1\u00b4",
-			"\1\u0159",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
+			"\1\u0156",
+			"\1\u0157\1\uffff\1\u0157",
+			"\1\u0159\37\uffff\1\u0158",
+			"\1\u00b5",
+			"\1\u00b5",
 			"\1\u015a",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
+			"\1\u015b",
 			"\1\135\11\uffff\1\136\25\uffff\1\134",
 			"",
 			"",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u015c",
+			"\1\u015d",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u015e",
+			"\1\u015f",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0160",
 			"\1\u0161",
 			"\1\u0162",
 			"\1\u0163",
 			"\1\u0164",
 			"\1\u0165",
-			"\1\u0167\10\uffff\1\u0166\5\uffff\1\u0168",
-			"\1\u0169",
+			"\1\u0166",
+			"\1\u0168\10\uffff\1\u0167\5\uffff\1\u0169",
 			"\1\u016a",
 			"\1\u016b",
 			"\1\u016c",
 			"\1\u016d",
 			"\1\u016e",
-			"",
 			"\1\u016f",
+			"",
 			"\1\u0170",
+			"\1\u0171",
 			"",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0173\37\uffff\1\u0172",
-			"\1\u00b4",
-			"\1\u00b4",
-			"\1\u0089\17\uffff\1\u008a\17\uffff\1\u0088",
-			"\1\u0174",
-			"",
+			"\1\u0174\37\uffff\1\u0173",
+			"\1\u00b5",
+			"\1\u00b5",
+			"\1\u008a\17\uffff\1\u008b\17\uffff\1\u0089",
 			"\1\u0175",
 			"",
 			"\1\u0176",
 			"",
 			"\1\u0177",
+			"",
+			"\1\u0178",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u017a\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
+			"\1\u017b\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u017c",
 			"\1\u017d",
 			"\1\u017e",
 			"\1\u017f",
 			"\1\u0180",
+			"\1\u0181",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0182",
 			"\1\u0183",
 			"\1\u0184",
 			"\1\u0185",
 			"\1\u0186",
 			"\1\u0187",
 			"\1\u0188",
-			"",
-			"\1\u00b4",
-			"\1\u00b4",
 			"\1\u0189",
+			"",
+			"\1\u00b5",
+			"\1\u00b5",
+			"\1\u018a",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u018b",
+			"\1\u018c",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"",
 			"",
-			"\1\u018d",
-			"",
 			"\1\u018e",
-			"\1\u018f\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
+			"",
+			"\1\u018f",
+			"\1\u0190\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0191",
 			"\1\u0192",
 			"\1\u0193",
-			"",
 			"\1\u0194",
+			"",
 			"\1\u0195",
+			"\1\u0196",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u0197",
 			"\1\u0198",
 			"\1\u0199",
 			"\1\u019a",
 			"\1\u019b",
-			"",
 			"\1\u019c",
 			"",
 			"\1\u019d",
+			"",
+			"\1\u019e",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u019f",
-			"",
 			"\1\u01a0",
+			"",
 			"\1\u01a1",
 			"\1\u01a2",
 			"\1\u01a3",
 			"\1\u01a4",
-			"",
 			"\1\u01a5",
+			"",
 			"\1\u01a6",
 			"\1\u01a7",
 			"\1\u01a8",
-			"",
 			"\1\u01a9",
-			"\1\u01aa",
 			"",
+			"\1\u01aa",
 			"\1\u01ab",
-			"\1\u01ac\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
+			"",
+			"\1\u01ac",
+			"\1\u01ad\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01ae",
 			"\1\u01af",
+			"\1\u01b0",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01b2",
 			"\1\u01b3",
 			"\1\u01b4",
 			"\1\u01b5",
@@ -21015,9 +21170,10 @@
 			"\1\u01b7",
 			"\1\u01b8",
 			"\1\u01b9",
-			"",
 			"\1\u01ba",
-			"\1\u01bb\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
+			"",
+			"\1\u01bb",
+			"\1\u01bc\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"",
 			"",
@@ -21025,50 +21181,50 @@
 			"\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01bf",
 			"\1\u01c0",
+			"\1\u01c1",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01c2",
 			"\1\u01c3",
 			"\1\u01c4",
+			"\1\u01c5",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01c6",
+			"\1\u01c7",
 			"",
 			"",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01c8",
-			"",
 			"\1\u01c9",
+			"",
 			"\1\u01ca",
 			"\1\u01cb",
-			"",
 			"\1\u01cc",
 			"",
 			"\1\u01cd",
+			"",
+			"\1\u01ce",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01cf",
 			"\1\u01d0",
 			"\1\u01d1",
 			"\1\u01d2",
+			"\1\u01d3",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01d4",
 			"\1\u01d5",
 			"\1\u01d6",
-			"",
 			"\1\u01d7",
+			"",
 			"\1\u01d8",
+			"\1\u01d9",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
 			"\32\72\5\uffff\uff80\72",
-			"\1\u01db",
+			"\1\u01dc",
 			"",
 			"",
 			"\1\72\2\uffff\12\72\7\uffff\32\72\1\uffff\1\72\2\uffff\1\72\1\uffff"+
@@ -21076,38 +21232,38 @@
 			""
 	};
 
-	static final short[] DFA209_eot = DFA.unpackEncodedString(DFA209_eotS);
-	static final short[] DFA209_eof = DFA.unpackEncodedString(DFA209_eofS);
-	static final char[] DFA209_min = DFA.unpackEncodedStringToUnsignedChars(DFA209_minS);
-	static final char[] DFA209_max = DFA.unpackEncodedStringToUnsignedChars(DFA209_maxS);
-	static final short[] DFA209_accept = DFA.unpackEncodedString(DFA209_acceptS);
-	static final short[] DFA209_special = DFA.unpackEncodedString(DFA209_specialS);
-	static final short[][] DFA209_transition;
+	static final short[] DFA212_eot = DFA.unpackEncodedString(DFA212_eotS);
+	static final short[] DFA212_eof = DFA.unpackEncodedString(DFA212_eofS);
+	static final char[] DFA212_min = DFA.unpackEncodedStringToUnsignedChars(DFA212_minS);
+	static final char[] DFA212_max = DFA.unpackEncodedStringToUnsignedChars(DFA212_maxS);
+	static final short[] DFA212_accept = DFA.unpackEncodedString(DFA212_acceptS);
+	static final short[] DFA212_special = DFA.unpackEncodedString(DFA212_specialS);
+	static final short[][] DFA212_transition;
 
 	static {
-		int numStates = DFA209_transitionS.length;
-		DFA209_transition = new short[numStates][];
+		int numStates = DFA212_transitionS.length;
+		DFA212_transition = new short[numStates][];
 		for (int i=0; i<numStates; i++) {
-			DFA209_transition[i] = DFA.unpackEncodedString(DFA209_transitionS[i]);
+			DFA212_transition[i] = DFA.unpackEncodedString(DFA212_transitionS[i]);
 		}
 	}
 
-	protected class DFA209 extends DFA {
+	protected class DFA212 extends DFA {
 
-		public DFA209(BaseRecognizer recognizer) {
+		public DFA212(BaseRecognizer recognizer) {
 			this.recognizer = recognizer;
-			this.decisionNumber = 209;
-			this.eot = DFA209_eot;
-			this.eof = DFA209_eof;
-			this.min = DFA209_min;
-			this.max = DFA209_max;
-			this.accept = DFA209_accept;
-			this.special = DFA209_special;
-			this.transition = DFA209_transition;
+			this.decisionNumber = 212;
+			this.eot = DFA212_eot;
+			this.eof = DFA212_eof;
+			this.min = DFA212_min;
+			this.max = DFA212_max;
+			this.accept = DFA212_accept;
+			this.special = DFA212_special;
+			this.transition = DFA212_transition;
 		}
 		@Override
 		public String getDescription() {
-			return "1:1: Tokens : ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT );";
+			return "1:1: Tokens : ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT );";
 		}
 		@Override
 		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
@@ -21115,41 +21271,41 @@
 			int _s = s;
 			switch ( s ) {
 					case 0 : 
-						int LA209_138 = input.LA(1);
+						int LA212_139 = input.LA(1);
 						s = -1;
-						if ( (LA209_138=='l') ) {s = 181;}
-						else if ( (LA209_138=='0') ) {s = 182;}
-						else if ( (LA209_138=='L') ) {s = 183;}
-						else if ( ((LA209_138 >= '\u0000' && LA209_138 <= '\t')||LA209_138=='\u000B'||(LA209_138 >= '\u000E' && LA209_138 <= '/')||(LA209_138 >= '1' && LA209_138 <= '3')||LA209_138=='5'||(LA209_138 >= '7' && LA209_138 <= 'K')||(LA209_138 >= 'M' && LA209_138 <= 'k')||(LA209_138 >= 'm' && LA209_138 <= '\uFFFF')) ) {s = 29;}
-						else if ( (LA209_138=='4'||LA209_138=='6') ) {s = 184;}
+						if ( (LA212_139=='l') ) {s = 182;}
+						else if ( (LA212_139=='0') ) {s = 183;}
+						else if ( (LA212_139=='L') ) {s = 184;}
+						else if ( ((LA212_139 >= '\u0000' && LA212_139 <= '\t')||LA212_139=='\u000B'||(LA212_139 >= '\u000E' && LA212_139 <= '/')||(LA212_139 >= '1' && LA212_139 <= '3')||LA212_139=='5'||(LA212_139 >= '7' && LA212_139 <= 'K')||(LA212_139 >= 'M' && LA212_139 <= 'k')||(LA212_139 >= 'm' && LA212_139 <= '\uFFFF')) ) {s = 29;}
+						else if ( (LA212_139=='4'||LA212_139=='6') ) {s = 185;}
 						if ( s>=0 ) return s;
 						break;
 
 					case 1 : 
-						int LA209_94 = input.LA(1);
+						int LA212_94 = input.LA(1);
 						s = -1;
-						if ( (LA209_94=='r') ) {s = 139;}
-						else if ( (LA209_94=='0') ) {s = 140;}
-						else if ( (LA209_94=='R') ) {s = 141;}
-						else if ( ((LA209_94 >= '\u0000' && LA209_94 <= '\t')||LA209_94=='\u000B'||(LA209_94 >= '\u000E' && LA209_94 <= '/')||(LA209_94 >= '1' && LA209_94 <= '4')||LA209_94=='6'||(LA209_94 >= '8' && LA209_94 <= 'Q')||(LA209_94 >= 'S' && LA209_94 <= 'q')||(LA209_94 >= 's' && LA209_94 <= '\uFFFF')) ) {s = 29;}
-						else if ( (LA209_94=='5'||LA209_94=='7') ) {s = 142;}
+						if ( (LA212_94=='r') ) {s = 140;}
+						else if ( (LA212_94=='0') ) {s = 141;}
+						else if ( (LA212_94=='R') ) {s = 142;}
+						else if ( ((LA212_94 >= '\u0000' && LA212_94 <= '\t')||LA212_94=='\u000B'||(LA212_94 >= '\u000E' && LA212_94 <= '/')||(LA212_94 >= '1' && LA212_94 <= '4')||LA212_94=='6'||(LA212_94 >= '8' && LA212_94 <= 'Q')||(LA212_94 >= 'S' && LA212_94 <= 'q')||(LA212_94 >= 's' && LA212_94 <= '\uFFFF')) ) {s = 29;}
+						else if ( (LA212_94=='5'||LA212_94=='7') ) {s = 143;}
 						if ( s>=0 ) return s;
 						break;
 
 					case 2 : 
-						int LA209_32 = input.LA(1);
+						int LA212_32 = input.LA(1);
 						s = -1;
-						if ( (LA209_32=='u') ) {s = 96;}
-						else if ( (LA209_32=='0') ) {s = 97;}
-						else if ( (LA209_32=='U') ) {s = 98;}
-						else if ( ((LA209_32 >= '\u0000' && LA209_32 <= '\t')||LA209_32=='\u000B'||(LA209_32 >= '\u000E' && LA209_32 <= '/')||(LA209_32 >= '1' && LA209_32 <= '4')||LA209_32=='6'||(LA209_32 >= '8' && LA209_32 <= 'T')||(LA209_32 >= 'V' && LA209_32 <= 't')||(LA209_32 >= 'v' && LA209_32 <= '\uFFFF')) ) {s = 29;}
-						else if ( (LA209_32=='5'||LA209_32=='7') ) {s = 99;}
+						if ( (LA212_32=='u') ) {s = 97;}
+						else if ( (LA212_32=='0') ) {s = 98;}
+						else if ( (LA212_32=='U') ) {s = 99;}
+						else if ( ((LA212_32 >= '\u0000' && LA212_32 <= '\t')||LA212_32=='\u000B'||(LA212_32 >= '\u000E' && LA212_32 <= '/')||(LA212_32 >= '1' && LA212_32 <= '4')||LA212_32=='6'||(LA212_32 >= '8' && LA212_32 <= 'T')||(LA212_32 >= 'V' && LA212_32 <= 't')||(LA212_32 >= 'v' && LA212_32 <= '\uFFFF')) ) {s = 29;}
+						else if ( (LA212_32=='5'||LA212_32=='7') ) {s = 100;}
 						if ( s>=0 ) return s;
 						break;
 			}
 			if (state.backtracking>0) {state.failed=true; return -1;}
 			NoViableAltException nvae =
-				new NoViableAltException(getDescription(), 209, _s, input);
+				new NoViableAltException(getDescription(), 212, _s, input);
 			error(nvae);
 			throw nvae;
 		}
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java
index 5827c59..1eb6819 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5.2 Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g 2019-03-31 15:20:13
+// $ANTLR 3.5.2 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2020-03-07 11:38:00
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -45,23 +45,23 @@
 		"CP_EQ", "CP_NOT_EQ", "D", "DASHMATCH", "DCOLON", "DIMENSION", "DOT", 
 		"E", "EMS", "ENDS", "ESCAPE", "EXCLAMATION_MARK", "EXS", "F", "FONT_FACE_SYM", 
 		"FREQ", "G", "GEN", "GREATER", "GREATER_OR_EQ", "H", "HASH", "HASH_SYMBOL", 
-		"HEXCHAR", "I", "IDENT", "IMPORTANT_SYM", "IMPORT_SYM", "INCLUDES", "INVALID", 
-		"J", "K", "L", "LBRACE", "LBRACKET", "LEFTBOTTOM_SYM", "LEFTMIDDLE_SYM", 
-		"LEFTTOP_SYM", "LENGTH", "LESS", "LESS_AND", "LESS_JS_STRING", "LESS_OR_EQ", 
-		"LESS_REST", "LINE_COMMENT", "LPAREN", "M", "MEDIA_SYM", "MINUS", "MOZ_DOCUMENT_SYM", 
-		"MOZ_DOMAIN", "MOZ_REGEXP", "MOZ_URL_PREFIX", "N", "NAME", "NAMESPACE_SYM", 
-		"NL", "NMCHAR", "NMSTART", "NONASCII", "NOT", "NUMBER", "O", "OPEQ", "P", 
-		"PAGE_SYM", "PERCENTAGE", "PERCENTAGE_SYMBOL", "PIPE", "PLUS", "Q", "R", 
-		"RBRACE", "RBRACKET", "REM", "RESOLUTION", "RIGHTBOTTOM_SYM", "RIGHTMIDDLE_SYM", 
-		"RIGHTTOP_SYM", "RPAREN", "S", "SASS_AT_ROOT", "SASS_CONTENT", "SASS_DEBUG", 
-		"SASS_DEFAULT", "SASS_EACH", "SASS_ELSE", "SASS_ELSEIF", "SASS_ERROR", 
-		"SASS_EXTEND", "SASS_EXTEND_ONLY_SELECTOR", "SASS_FOR", "SASS_FUNCTION", 
-		"SASS_GLOBAL", "SASS_IF", "SASS_INCLUDE", "SASS_MIXIN", "SASS_OPTIONAL", 
-		"SASS_RETURN", "SASS_VAR", "SASS_WARN", "SASS_WHILE", "SEMI", "SOLIDUS", 
-		"STAR", "STRING", "SUPPORTS_SYM", "T", "TILDE", "TIME", "TOPCENTER_SYM", 
-		"TOPLEFTCORNER_SYM", "TOPLEFT_SYM", "TOPRIGHTCORNER_SYM", "TOPRIGHT_SYM", 
-		"U", "UNICODE", "URI", "URL", "V", "VARIABLE", "W", "WEBKIT_KEYFRAMES_SYM", 
-		"WS", "X", "Y", "Z"
+		"HEXCHAR", "HEXCHAR_WILDCARD", "I", "IDENT", "IMPORTANT_SYM", "IMPORT_SYM", 
+		"INCLUDES", "INVALID", "J", "K", "L", "LBRACE", "LBRACKET", "LEFTBOTTOM_SYM", 
+		"LEFTMIDDLE_SYM", "LEFTTOP_SYM", "LENGTH", "LESS", "LESS_AND", "LESS_JS_STRING", 
+		"LESS_OR_EQ", "LESS_REST", "LINE_COMMENT", "LPAREN", "M", "MEDIA_SYM", 
+		"MINUS", "MOZ_DOCUMENT_SYM", "MOZ_DOMAIN", "MOZ_REGEXP", "MOZ_URL_PREFIX", 
+		"N", "NAME", "NAMESPACE_SYM", "NL", "NMCHAR", "NMSTART", "NONASCII", "NOT", 
+		"NUMBER", "O", "OPEQ", "P", "PAGE_SYM", "PERCENTAGE", "PERCENTAGE_SYMBOL", 
+		"PIPE", "PLUS", "Q", "R", "RBRACE", "RBRACKET", "REM", "RESOLUTION", "RIGHTBOTTOM_SYM", 
+		"RIGHTMIDDLE_SYM", "RIGHTTOP_SYM", "RPAREN", "S", "SASS_AT_ROOT", "SASS_CONTENT", 
+		"SASS_DEBUG", "SASS_DEFAULT", "SASS_EACH", "SASS_ELSE", "SASS_ELSEIF", 
+		"SASS_ERROR", "SASS_EXTEND", "SASS_EXTEND_ONLY_SELECTOR", "SASS_FOR", 
+		"SASS_FUNCTION", "SASS_GLOBAL", "SASS_IF", "SASS_INCLUDE", "SASS_MIXIN", 
+		"SASS_OPTIONAL", "SASS_RETURN", "SASS_VAR", "SASS_WARN", "SASS_WHILE", 
+		"SEMI", "SOLIDUS", "STAR", "STRING", "SUPPORTS_SYM", "T", "TILDE", "TIME", 
+		"TOPCENTER_SYM", "TOPLEFTCORNER_SYM", "TOPLEFT_SYM", "TOPRIGHTCORNER_SYM", 
+		"TOPRIGHT_SYM", "U", "UNICODE", "URANGE", "URI", "URL", "V", "VARIABLE", 
+		"W", "WEBKIT_KEYFRAMES_SYM", "WS", "X", "Y", "Z"
 	};
 	public static final int EOF=-1;
 	public static final int A=4;
@@ -109,109 +109,111 @@
 	public static final int HASH=46;
 	public static final int HASH_SYMBOL=47;
 	public static final int HEXCHAR=48;
-	public static final int I=49;
-	public static final int IDENT=50;
-	public static final int IMPORTANT_SYM=51;
-	public static final int IMPORT_SYM=52;
-	public static final int INCLUDES=53;
-	public static final int INVALID=54;
-	public static final int J=55;
-	public static final int K=56;
-	public static final int L=57;
-	public static final int LBRACE=58;
-	public static final int LBRACKET=59;
-	public static final int LEFTBOTTOM_SYM=60;
-	public static final int LEFTMIDDLE_SYM=61;
-	public static final int LEFTTOP_SYM=62;
-	public static final int LENGTH=63;
-	public static final int LESS=64;
-	public static final int LESS_AND=65;
-	public static final int LESS_JS_STRING=66;
-	public static final int LESS_OR_EQ=67;
-	public static final int LESS_REST=68;
-	public static final int LINE_COMMENT=69;
-	public static final int LPAREN=70;
-	public static final int M=71;
-	public static final int MEDIA_SYM=72;
-	public static final int MINUS=73;
-	public static final int MOZ_DOCUMENT_SYM=74;
-	public static final int MOZ_DOMAIN=75;
-	public static final int MOZ_REGEXP=76;
-	public static final int MOZ_URL_PREFIX=77;
-	public static final int N=78;
-	public static final int NAME=79;
-	public static final int NAMESPACE_SYM=80;
-	public static final int NL=81;
-	public static final int NMCHAR=82;
-	public static final int NMSTART=83;
-	public static final int NONASCII=84;
-	public static final int NOT=85;
-	public static final int NUMBER=86;
-	public static final int O=87;
-	public static final int OPEQ=88;
-	public static final int P=89;
-	public static final int PAGE_SYM=90;
-	public static final int PERCENTAGE=91;
-	public static final int PERCENTAGE_SYMBOL=92;
-	public static final int PIPE=93;
-	public static final int PLUS=94;
-	public static final int Q=95;
-	public static final int R=96;
-	public static final int RBRACE=97;
-	public static final int RBRACKET=98;
-	public static final int REM=99;
-	public static final int RESOLUTION=100;
-	public static final int RIGHTBOTTOM_SYM=101;
-	public static final int RIGHTMIDDLE_SYM=102;
-	public static final int RIGHTTOP_SYM=103;
-	public static final int RPAREN=104;
-	public static final int S=105;
-	public static final int SASS_AT_ROOT=106;
-	public static final int SASS_CONTENT=107;
-	public static final int SASS_DEBUG=108;
-	public static final int SASS_DEFAULT=109;
-	public static final int SASS_EACH=110;
-	public static final int SASS_ELSE=111;
-	public static final int SASS_ELSEIF=112;
-	public static final int SASS_ERROR=113;
-	public static final int SASS_EXTEND=114;
-	public static final int SASS_EXTEND_ONLY_SELECTOR=115;
-	public static final int SASS_FOR=116;
-	public static final int SASS_FUNCTION=117;
-	public static final int SASS_GLOBAL=118;
-	public static final int SASS_IF=119;
-	public static final int SASS_INCLUDE=120;
-	public static final int SASS_MIXIN=121;
-	public static final int SASS_OPTIONAL=122;
-	public static final int SASS_RETURN=123;
-	public static final int SASS_VAR=124;
-	public static final int SASS_WARN=125;
-	public static final int SASS_WHILE=126;
-	public static final int SEMI=127;
-	public static final int SOLIDUS=128;
-	public static final int STAR=129;
-	public static final int STRING=130;
-	public static final int SUPPORTS_SYM=131;
-	public static final int T=132;
-	public static final int TILDE=133;
-	public static final int TIME=134;
-	public static final int TOPCENTER_SYM=135;
-	public static final int TOPLEFTCORNER_SYM=136;
-	public static final int TOPLEFT_SYM=137;
-	public static final int TOPRIGHTCORNER_SYM=138;
-	public static final int TOPRIGHT_SYM=139;
-	public static final int U=140;
-	public static final int UNICODE=141;
-	public static final int URI=142;
-	public static final int URL=143;
-	public static final int V=144;
-	public static final int VARIABLE=145;
-	public static final int W=146;
-	public static final int WEBKIT_KEYFRAMES_SYM=147;
-	public static final int WS=148;
-	public static final int X=149;
-	public static final int Y=150;
-	public static final int Z=151;
+	public static final int HEXCHAR_WILDCARD=49;
+	public static final int I=50;
+	public static final int IDENT=51;
+	public static final int IMPORTANT_SYM=52;
+	public static final int IMPORT_SYM=53;
+	public static final int INCLUDES=54;
+	public static final int INVALID=55;
+	public static final int J=56;
+	public static final int K=57;
+	public static final int L=58;
+	public static final int LBRACE=59;
+	public static final int LBRACKET=60;
+	public static final int LEFTBOTTOM_SYM=61;
+	public static final int LEFTMIDDLE_SYM=62;
+	public static final int LEFTTOP_SYM=63;
+	public static final int LENGTH=64;
+	public static final int LESS=65;
+	public static final int LESS_AND=66;
+	public static final int LESS_JS_STRING=67;
+	public static final int LESS_OR_EQ=68;
+	public static final int LESS_REST=69;
+	public static final int LINE_COMMENT=70;
+	public static final int LPAREN=71;
+	public static final int M=72;
+	public static final int MEDIA_SYM=73;
+	public static final int MINUS=74;
+	public static final int MOZ_DOCUMENT_SYM=75;
+	public static final int MOZ_DOMAIN=76;
+	public static final int MOZ_REGEXP=77;
+	public static final int MOZ_URL_PREFIX=78;
+	public static final int N=79;
+	public static final int NAME=80;
+	public static final int NAMESPACE_SYM=81;
+	public static final int NL=82;
+	public static final int NMCHAR=83;
+	public static final int NMSTART=84;
+	public static final int NONASCII=85;
+	public static final int NOT=86;
+	public static final int NUMBER=87;
+	public static final int O=88;
+	public static final int OPEQ=89;
+	public static final int P=90;
+	public static final int PAGE_SYM=91;
+	public static final int PERCENTAGE=92;
+	public static final int PERCENTAGE_SYMBOL=93;
+	public static final int PIPE=94;
+	public static final int PLUS=95;
+	public static final int Q=96;
+	public static final int R=97;
+	public static final int RBRACE=98;
+	public static final int RBRACKET=99;
+	public static final int REM=100;
+	public static final int RESOLUTION=101;
+	public static final int RIGHTBOTTOM_SYM=102;
+	public static final int RIGHTMIDDLE_SYM=103;
+	public static final int RIGHTTOP_SYM=104;
+	public static final int RPAREN=105;
+	public static final int S=106;
+	public static final int SASS_AT_ROOT=107;
+	public static final int SASS_CONTENT=108;
+	public static final int SASS_DEBUG=109;
+	public static final int SASS_DEFAULT=110;
+	public static final int SASS_EACH=111;
+	public static final int SASS_ELSE=112;
+	public static final int SASS_ELSEIF=113;
+	public static final int SASS_ERROR=114;
+	public static final int SASS_EXTEND=115;
+	public static final int SASS_EXTEND_ONLY_SELECTOR=116;
+	public static final int SASS_FOR=117;
+	public static final int SASS_FUNCTION=118;
+	public static final int SASS_GLOBAL=119;
+	public static final int SASS_IF=120;
+	public static final int SASS_INCLUDE=121;
+	public static final int SASS_MIXIN=122;
+	public static final int SASS_OPTIONAL=123;
+	public static final int SASS_RETURN=124;
+	public static final int SASS_VAR=125;
+	public static final int SASS_WARN=126;
+	public static final int SASS_WHILE=127;
+	public static final int SEMI=128;
+	public static final int SOLIDUS=129;
+	public static final int STAR=130;
+	public static final int STRING=131;
+	public static final int SUPPORTS_SYM=132;
+	public static final int T=133;
+	public static final int TILDE=134;
+	public static final int TIME=135;
+	public static final int TOPCENTER_SYM=136;
+	public static final int TOPLEFTCORNER_SYM=137;
+	public static final int TOPLEFT_SYM=138;
+	public static final int TOPRIGHTCORNER_SYM=139;
+	public static final int TOPRIGHT_SYM=140;
+	public static final int U=141;
+	public static final int UNICODE=142;
+	public static final int URANGE=143;
+	public static final int URI=144;
+	public static final int URL=145;
+	public static final int V=146;
+	public static final int VARIABLE=147;
+	public static final int W=148;
+	public static final int WEBKIT_KEYFRAMES_SYM=149;
+	public static final int WS=150;
+	public static final int X=151;
+	public static final int Y=152;
+	public static final int Z=153;
 
 	// delegates
 	public Parser[] getDelegates() {
@@ -222,49 +224,49 @@
 
 
 	public static final String[] ruleNames = new String[] {
-		"invalidRule", "cp_mixin_call", "sass_control_block", "mediaQuery", "bodyItem", 
-		"synpred46_Css3", "synpred5_Css3", "cp_mixin_call_arg", "namespacePrefixName", 
-		"ws", "synpred36_Css3", "supportsAtRule", "cp_variable", "sass_while", 
-		"namespace", "synpred27_Css3", "mediaQueryOperator", "syncTo_SEMI", "synpred26_Css3", 
-		"synpred16_Css3", "moz_document_function", "pseudoPage", "namespaces", 
-		"cp_term_symbol", "sass_each", "charSetValue", "slAttributeName", "supportsDecl", 
-		"declarations", "synpred11_Css3", "cp_expression", "cp_expression_operator", 
-		"less_when", "charSet", "selectorsGroup", "generic_at_rule", "less_condition_operator", 
-		"media", "synpred45_Css3", "synpred28_Css3", "declaration", "syncToFollow", 
-		"less_condition", "moz_document", "propertyDeclaration", "synpred10_Css3", 
-		"vendorAtRule", "cp_expression_list", "synpred17_Css3", "prio", "cp_args_list", 
-		"synpred32_Css3", "imports", "slAttributeValue", "synpred43_Css3", "cp_math_expressions", 
-		"less_fn_name", "synpred9_Css3", "typeSelector", "sass_extend", "synpred31_Css3", 
-		"functionName", "key_or", "cp_mixin_declaration", "rule", "synpred38_Css3", 
-		"operator", "sass_each_variables", "resourceIdentifier", "webkitKeyframes", 
-		"supportsFeature", "expression", "synpred3_Css3", "cp_propertyValue", 
-		"styleSheet", "sass_control_expression", "synpred20_Css3", "synpred52_Css3", 
-		"synpred24_Css3", "synpred44_Css3", "synpred12_Css3", "less_function_in_condition", 
-		"esPred", "property", "sass_function_declaration", "synpred41_Css3", "webkitKeyframeSelectors", 
-		"synpred7_Css3", "syncTo_RBRACE", "synpred6_Css3", "combinator", "synpred2_Css3", 
-		"fontFace", "synpred25_Css3", "synpred51_Css3", "sass_map", "synpred30_Css3", 
-		"expressionPredicate", "mediaType", "namespacePrefix", "elementSubsequent", 
-		"cp_math_expression_atom", "less_selector_interpolation", "function", 
-		"synpred37_Css3", "cp_mixin_call_args", "simpleSelectorSequence", "pseudo", 
-		"supportsConjunction", "sass_debug", "unaryOperator", "sass_content", 
-		"webkitKeyframesBlock", "slAttribute", "fnAttributes", "atRuleId", "cp_variable_declaration", 
-		"cp_expression_atom", "mediaFeature", "fnAttributeValue", "sass_if", "importItem", 
-		"propertyValue", "sass_map_pair", "cp_math_expression", "cp_mixin_name", 
-		"sass_nested_properties", "fnAttribute", "synpred42_Css3", "sass_control", 
-		"selector", "sass_interpolation_expression_var", "cp_arg", "synpred21_Css3", 
-		"synpred49_Css3", "key_only", "fnAttributeName", "sass_function_return", 
-		"cssId", "cssClass", "sass_selector_interpolation_exp", "synpred23_Css3", 
-		"synpred13_Css3", "sass_function_name", "at_rule", "mediaQueryList", "sass_extend_only_selector", 
-		"sass_map_pairs", "sass_else", "synpred50_Css3", "synpred34_Css3", "supportsCondition", 
-		"margin_sym", "synpred1_Css3", "key_and", "less_selector_interpolation_exp", 
-		"mediaExpression", "cp_mixin_block", "supportsDisjunction", "elementName", 
-		"hexColor", "synpred48_Css3", "mediaBody", "sass_for", "synpred40_Css3", 
-		"synpred14_Css3", "synpred47_Css3", "mediaFeatureValue", "supportsInParens", 
-		"counterStyle", "supportsWithOperator", "synpred33_Css3", "body", "page", 
-		"synpred39_Css3", "less_import_types", "synpred18_Css3", "synpred19_Css3", 
-		"margin", "synpred4_Css3", "mediaBodyItem", "sass_error", "term", "sass_map_name", 
-		"less_mixin_guarded", "synpred8_Css3", "synpred22_Css3", "synpred35_Css3", 
-		"syncToDeclarationsRule", "synpred15_Css3", "synpred29_Css3"
+		"invalidRule", "cp_math_expression", "webkitKeyframeSelectors", "synpred44_Css3", 
+		"fontFace", "counterStyle", "sass_each", "body", "vendorAtRule", "synpred50_Css3", 
+		"less_condition_operator", "margin", "less_condition", "synpred20_Css3", 
+		"synpred45_Css3", "namespaces", "cssClass", "cp_term_symbol", "hexColor", 
+		"syncToFollow", "synpred35_Css3", "key_and", "supportsCondition", "synpred25_Css3", 
+		"fnAttribute", "less_import_types", "synpred39_Css3", "synpred11_Css3", 
+		"synpred9_Css3", "cp_math_expressions", "cp_arg", "unaryOperator", "sass_control", 
+		"synpred32_Css3", "syncTo_SEMI", "function", "fnAttributeName", "typeSelector", 
+		"mediaFeatureValue", "resourceIdentifier", "namespacePrefix", "cp_mixin_call_args", 
+		"sass_control_expression", "combinator", "sass_function_return", "cp_expression_list", 
+		"cp_mixin_call_arg", "supportsWithOperator", "sass_control_block", "key_only", 
+		"synpred2_Css3", "sass_if", "synpred14_Css3", "synpred29_Css3", "cp_propertyValue", 
+		"fnAttributeValue", "synpred8_Css3", "moz_document", "elementName", "elementSubsequent", 
+		"supportsAtRule", "charSet", "mediaQueryOperator", "namespacePrefixName", 
+		"charSetValue", "declarations", "rule", "styleSheet", "synpred48_Css3", 
+		"mediaQuery", "cp_mixin_call", "slAttributeName", "synpred1_Css3", "atRuleId", 
+		"synpred47_Css3", "importItem", "synpred41_Css3", "selectorsGroup", "synpred49_Css3", 
+		"cp_mixin_name", "synpred21_Css3", "webkitKeyframes", "cp_expression_atom", 
+		"ws", "synpred30_Css3", "cp_math_expression_atom", "supportsDisjunction", 
+		"synpred40_Css3", "synpred15_Css3", "mediaBodyItem", "sass_extend", "synpred12_Css3", 
+		"synpred51_Css3", "less_when", "less_function_in_condition", "cp_variable", 
+		"sass_extend_only_selector", "sass_selector_interpolation_exp", "supportsDecl", 
+		"namespace", "less_selector_interpolation", "synpred26_Css3", "synpred31_Css3", 
+		"synpred36_Css3", "supportsInParens", "key_or", "sass_interpolation_expression_var", 
+		"cssId", "pseudo", "mediaBody", "propertyDeclaration", "synpred24_Css3", 
+		"expression", "at_rule", "selector", "mediaExpression", "sass_map_pairs", 
+		"less_selector_interpolation_exp", "synpred3_Css3", "less_mixin_guarded", 
+		"synpred34_Css3", "sass_error", "synpred23_Css3", "supportsConjunction", 
+		"moz_document_function", "simpleSelectorSequence", "synpred17_Css3", "page", 
+		"media", "imports", "pseudoPage", "syncTo_RBRACE", "sass_function_name", 
+		"sass_for", "synpred18_Css3", "webkitKeyframesBlock", "expressionPredicate", 
+		"synpred7_Css3", "cp_args_list", "sass_map_name", "synpred28_Css3", "cp_expression_operator", 
+		"sass_while", "mediaType", "sass_content", "term", "synpred10_Css3", "mediaQueryList", 
+		"sass_else", "cp_mixin_block", "synpred33_Css3", "sass_map_pair", "slAttribute", 
+		"synpred5_Css3", "mediaFeature", "functionName", "fnAttributes", "synpred46_Css3", 
+		"synpred27_Css3", "synpred37_Css3", "declaration", "synpred38_Css3", "supportsFeature", 
+		"cp_mixin_declaration", "less_fn_name", "propertyValue", "property", "synpred13_Css3", 
+		"cp_expression", "sass_each_variables", "synpred16_Css3", "prio", "sass_debug", 
+		"synpred6_Css3", "synpred52_Css3", "margin_sym", "esPred", "synpred42_Css3", 
+		"synpred43_Css3", "cp_variable_declaration", "sass_map", "generic_at_rule", 
+		"sass_function_declaration", "synpred22_Css3", "bodyItem", "slAttributeValue", 
+		"synpred4_Css3", "operator", "synpred19_Css3", "sass_nested_properties", 
+		"syncToDeclarationsRule"
 	};
 
 	public static final boolean[] decisionCanBacktrack = new boolean[] {
@@ -353,7 +355,7 @@
 	}
 
 	@Override public String[] getTokenNames() { return Css3Parser.tokenNames; }
-	@Override public String getGrammarFileName() { return "Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g"; }
+	@Override public String getGrammarFileName() { return "/home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g"; }
 
 
 
@@ -518,7 +520,7 @@
 
 
 	// $ANTLR start "styleSheet"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:277:1: styleSheet : ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:277:1: styleSheet : ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF ;
 	public final void styleSheet() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "styleSheet");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -526,13 +528,13 @@
 		dbg.location(277, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:278:5: ( ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:278:5: ( ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:279:6: ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:279:6: ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF
 			{
 			dbg.location(279,6);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:279:6: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:279:6: ( ws )?
 			int alt1=2;
 			try { dbg.enterSubRule(1);
 			try { dbg.enterDecision(1, decisionCanBacktrack[1]);
@@ -547,7 +549,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:279:6: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:279:6: ws
 					{
 					dbg.location(279,6);
 					pushFollow(FOLLOW_ws_in_styleSheet99);
@@ -560,7 +562,7 @@
 			}
 			} finally {dbg.exitSubRule(1);}
 			dbg.location(280,6);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:280:6: ( charSet ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:280:6: ( charSet ( ws )? )?
 			int alt3=2;
 			try { dbg.enterSubRule(3);
 			try { dbg.enterDecision(3, decisionCanBacktrack[3]);
@@ -579,14 +581,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:280:8: charSet ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:280:8: charSet ( ws )?
 					{
 					dbg.location(280,8);
 					pushFollow(FOLLOW_charSet_in_styleSheet109);
 					charSet();
 					state._fsp--;
 					if (state.failed) return;dbg.location(280,16);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:280:16: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:280:16: ( ws )?
 					int alt2=2;
 					try { dbg.enterSubRule(2);
 					try { dbg.enterDecision(2, decisionCanBacktrack[2]);
@@ -601,7 +603,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:280:16: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:280:16: ws
 							{
 							dbg.location(280,16);
 							pushFollow(FOLLOW_ws_in_styleSheet111);
@@ -620,7 +622,7 @@
 			}
 			} finally {dbg.exitSubRule(3);}
 			dbg.location(281,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:281:9: ( imports )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:281:9: ( imports )?
 			int alt4=2;
 			try { dbg.enterSubRule(4);
 			try { dbg.enterDecision(4, decisionCanBacktrack[4]);
@@ -638,7 +640,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:281:9: imports
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:281:9: imports
 					{
 					dbg.location(281,9);
 					pushFollow(FOLLOW_imports_in_styleSheet125);
@@ -651,7 +653,7 @@
 			}
 			} finally {dbg.exitSubRule(4);}
 			dbg.location(282,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:282:9: ( namespaces )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:282:9: ( namespaces )?
 			int alt5=2;
 			try { dbg.enterSubRule(5);
 			try { dbg.enterDecision(5, decisionCanBacktrack[5]);
@@ -670,7 +672,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:282:9: namespaces
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:282:9: namespaces
 					{
 					dbg.location(282,9);
 					pushFollow(FOLLOW_namespaces_in_styleSheet136);
@@ -683,7 +685,7 @@
 			}
 			} finally {dbg.exitSubRule(5);}
 			dbg.location(283,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:283:9: ( body )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:283:9: ( body )?
 			int alt6=2;
 			try { dbg.enterSubRule(6);
 			try { dbg.enterDecision(6, decisionCanBacktrack[6]);
@@ -698,7 +700,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:283:9: body
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:283:9: body
 					{
 					dbg.location(283,9);
 					pushFollow(FOLLOW_body_in_styleSheet147);
@@ -737,7 +739,7 @@
 
 
 	// $ANTLR start "namespaces"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:287:1: namespaces : ( namespace ( ws )? )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:287:1: namespaces : ( namespace ( ws )? )+ ;
 	public final void namespaces() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "namespaces");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -745,13 +747,13 @@
 		dbg.location(287, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:288:2: ( ( namespace ( ws )? )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:288:2: ( ( namespace ( ws )? )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:289:2: ( namespace ( ws )? )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:289:2: ( namespace ( ws )? )+
 			{
 			dbg.location(289,2);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:289:2: ( namespace ( ws )? )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:289:2: ( namespace ( ws )? )+
 			int cnt8=0;
 			try { dbg.enterSubRule(8);
 
@@ -774,14 +776,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:289:4: namespace ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:289:4: namespace ( ws )?
 					{
 					dbg.location(289,4);
 					pushFollow(FOLLOW_namespace_in_namespaces172);
 					namespace();
 					state._fsp--;
 					if (state.failed) return;dbg.location(289,14);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:289:14: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:289:14: ( ws )?
 					int alt7=2;
 					try { dbg.enterSubRule(7);
 					try { dbg.enterDecision(7, decisionCanBacktrack[7]);
@@ -796,7 +798,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:289:14: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:289:14: ws
 							{
 							dbg.location(289,14);
 							pushFollow(FOLLOW_ws_in_namespaces174);
@@ -849,7 +851,7 @@
 
 
 	// $ANTLR start "namespace"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:292:1: namespace : NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:292:1: namespace : NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI ;
 	public final void namespace() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "namespace");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -857,14 +859,14 @@
 		dbg.location(292, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:3: ( NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:3: ( NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:5: NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:5: NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI
 			{
 			dbg.location(293,5);
 			match(input,NAMESPACE_SYM,FOLLOW_NAMESPACE_SYM_in_namespace190); if (state.failed) return;dbg.location(293,19);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:19: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:19: ( ws )?
 			int alt9=2;
 			try { dbg.enterSubRule(9);
 			try { dbg.enterDecision(9, decisionCanBacktrack[9]);
@@ -879,7 +881,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:19: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:19: ws
 					{
 					dbg.location(293,19);
 					pushFollow(FOLLOW_ws_in_namespace192);
@@ -892,7 +894,7 @@
 			}
 			} finally {dbg.exitSubRule(9);}
 			dbg.location(293,23);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:23: ( namespacePrefixName ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:23: ( namespacePrefixName ( ws )? )?
 			int alt11=2;
 			try { dbg.enterSubRule(11);
 			try { dbg.enterDecision(11, decisionCanBacktrack[11]);
@@ -907,14 +909,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:24: namespacePrefixName ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:24: namespacePrefixName ( ws )?
 					{
 					dbg.location(293,24);
 					pushFollow(FOLLOW_namespacePrefixName_in_namespace196);
 					namespacePrefixName();
 					state._fsp--;
 					if (state.failed) return;dbg.location(293,44);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:44: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:44: ( ws )?
 					int alt10=2;
 					try { dbg.enterSubRule(10);
 					try { dbg.enterDecision(10, decisionCanBacktrack[10]);
@@ -929,7 +931,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:44: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:44: ws
 							{
 							dbg.location(293,44);
 							pushFollow(FOLLOW_ws_in_namespace198);
@@ -952,7 +954,7 @@
 			resourceIdentifier();
 			state._fsp--;
 			if (state.failed) return;dbg.location(293,69);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:69: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:69: ( ws )?
 			int alt12=2;
 			try { dbg.enterSubRule(12);
 			try { dbg.enterDecision(12, decisionCanBacktrack[12]);
@@ -967,7 +969,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:293:69: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:293:69: ws
 					{
 					dbg.location(293,69);
 					pushFollow(FOLLOW_ws_in_namespace205);
@@ -1006,7 +1008,7 @@
 
 
 	// $ANTLR start "namespacePrefixName"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:296:1: namespacePrefixName : IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:296:1: namespacePrefixName : IDENT ;
 	public final void namespacePrefixName() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "namespacePrefixName");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1014,10 +1016,10 @@
 		dbg.location(296, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:297:3: ( IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:297:3: ( IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:297:5: IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:297:5: IDENT
 			{
 			dbg.location(297,5);
 			match(input,IDENT,FOLLOW_IDENT_in_namespacePrefixName221); if (state.failed) return;
@@ -1046,7 +1048,7 @@
 
 
 	// $ANTLR start "resourceIdentifier"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:300:1: resourceIdentifier : ( STRING | URI );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:300:1: resourceIdentifier : ( STRING | URI );
 	public final void resourceIdentifier() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "resourceIdentifier");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1054,10 +1056,10 @@
 		dbg.location(300, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:301:3: ( STRING | URI )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:301:3: ( STRING | URI )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(301,3);
 			if ( input.LA(1)==STRING||input.LA(1)==URI ) {
@@ -1096,7 +1098,7 @@
 
 
 	// $ANTLR start "charSet"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:304:1: charSet : CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:304:1: charSet : CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI ;
 	public final void charSet() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "charSet");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1104,14 +1106,14 @@
 		dbg.location(304, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:5: ( CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:5: ( CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:9: CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:9: CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI
 			{
 			dbg.location(305,9);
 			match(input,CHARSET_SYM,FOLLOW_CHARSET_SYM_in_charSet255); if (state.failed) return;dbg.location(305,21);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:21: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:21: ( ws )?
 			int alt13=2;
 			try { dbg.enterSubRule(13);
 			try { dbg.enterDecision(13, decisionCanBacktrack[13]);
@@ -1126,7 +1128,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:21: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:21: ws
 					{
 					dbg.location(305,21);
 					pushFollow(FOLLOW_ws_in_charSet257);
@@ -1143,7 +1145,7 @@
 			charSetValue();
 			state._fsp--;
 			if (state.failed) return;dbg.location(305,38);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:38: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:38: ( ws )?
 			int alt14=2;
 			try { dbg.enterSubRule(14);
 			try { dbg.enterDecision(14, decisionCanBacktrack[14]);
@@ -1158,7 +1160,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:305:38: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:305:38: ws
 					{
 					dbg.location(305,38);
 					pushFollow(FOLLOW_ws_in_charSet262);
@@ -1197,7 +1199,7 @@
 
 
 	// $ANTLR start "charSetValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:308:1: charSetValue : STRING ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:308:1: charSetValue : STRING ;
 	public final void charSetValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "charSetValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1205,10 +1207,10 @@
 		dbg.location(308, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:309:2: ( STRING )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:309:2: ( STRING )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:309:4: STRING
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:309:4: STRING
 			{
 			dbg.location(309,4);
 			match(input,STRING,FOLLOW_STRING_in_charSetValue279); if (state.failed) return;
@@ -1237,7 +1239,7 @@
 
 
 	// $ANTLR start "imports"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:312:1: imports : ( importItem ( ws )? SEMI ( ws )? )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:312:1: imports : ( importItem ( ws )? SEMI ( ws )? )+ ;
 	public final void imports() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "imports");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1245,13 +1247,13 @@
 		dbg.location(312, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:313:2: ( ( importItem ( ws )? SEMI ( ws )? )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:313:2: ( ( importItem ( ws )? SEMI ( ws )? )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:2: ( importItem ( ws )? SEMI ( ws )? )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:2: ( importItem ( ws )? SEMI ( ws )? )+
 			{
 			dbg.location(314,2);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:2: ( importItem ( ws )? SEMI ( ws )? )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:2: ( importItem ( ws )? SEMI ( ws )? )+
 			int cnt17=0;
 			try { dbg.enterSubRule(17);
 
@@ -1275,14 +1277,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:4: importItem ( ws )? SEMI ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:4: importItem ( ws )? SEMI ( ws )?
 					{
 					dbg.location(314,4);
 					pushFollow(FOLLOW_importItem_in_imports293);
 					importItem();
 					state._fsp--;
 					if (state.failed) return;dbg.location(314,15);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:15: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:15: ( ws )?
 					int alt15=2;
 					try { dbg.enterSubRule(15);
 					try { dbg.enterDecision(15, decisionCanBacktrack[15]);
@@ -1297,7 +1299,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:15: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:15: ws
 							{
 							dbg.location(314,15);
 							pushFollow(FOLLOW_ws_in_imports295);
@@ -1311,7 +1313,7 @@
 					} finally {dbg.exitSubRule(15);}
 					dbg.location(314,19);
 					match(input,SEMI,FOLLOW_SEMI_in_imports298); if (state.failed) return;dbg.location(314,24);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:24: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:24: ( ws )?
 					int alt16=2;
 					try { dbg.enterSubRule(16);
 					try { dbg.enterDecision(16, decisionCanBacktrack[16]);
@@ -1326,7 +1328,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:314:24: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:314:24: ws
 							{
 							dbg.location(314,24);
 							pushFollow(FOLLOW_ws_in_imports300);
@@ -1379,7 +1381,7 @@
 
 
 	// $ANTLR start "importItem"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:317:1: importItem : ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:317:1: importItem : ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? );
 	public final void importItem() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "importItem");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -1387,7 +1389,7 @@
 		dbg.location(317, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:318:5: ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:318:5: ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? )
 			int alt32=3;
 			try { dbg.enterDecision(32, decisionCanBacktrack[32]);
 
@@ -1405,11 +1407,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:9: IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:9: IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					{
 					dbg.location(319,9);
 					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem326); if (state.failed) return;dbg.location(319,20);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:20: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:20: ( ws )?
 					int alt18=2;
 					try { dbg.enterSubRule(18);
 					try { dbg.enterDecision(18, decisionCanBacktrack[18]);
@@ -1424,7 +1426,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:20: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:20: ws
 							{
 							dbg.location(319,20);
 							pushFollow(FOLLOW_ws_in_importItem328);
@@ -1441,7 +1443,7 @@
 					resourceIdentifier();
 					state._fsp--;
 					if (state.failed) return;dbg.location(319,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:43: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:43: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					int alt20=2;
 					try { dbg.enterSubRule(20);
 					try { dbg.enterDecision(20, decisionCanBacktrack[20]);
@@ -1609,10 +1611,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:44: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:44: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
 							{
 							dbg.location(319,66);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:66: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:66: ( ws )?
 							int alt19=2;
 							try { dbg.enterSubRule(19);
 							try { dbg.enterDecision(19, decisionCanBacktrack[19]);
@@ -1627,7 +1629,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:66: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:66: ws
 									{
 									dbg.location(319,66);
 									pushFollow(FOLLOW_ws_in_importItem341);
@@ -1655,7 +1657,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:9: {...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:9: {...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					{
 					dbg.location(322,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -1663,7 +1665,7 @@
 						throw new FailedPredicateException(input, "importItem", "isScssSource()");
 					}dbg.location(322,27);
 					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem377); if (state.failed) return;dbg.location(322,38);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:38: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:38: ( ws )?
 					int alt21=2;
 					try { dbg.enterSubRule(21);
 					try { dbg.enterDecision(21, decisionCanBacktrack[21]);
@@ -1678,7 +1680,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:38: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:38: ws
 							{
 							dbg.location(322,38);
 							pushFollow(FOLLOW_ws_in_importItem379);
@@ -1695,7 +1697,7 @@
 					resourceIdentifier();
 					state._fsp--;
 					if (state.failed) return;dbg.location(322,61);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:61: ( ( ws )? COMMA ( ws )? resourceIdentifier )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:61: ( ( ws )? COMMA ( ws )? resourceIdentifier )*
 					try { dbg.enterSubRule(24);
 
 					loop24:
@@ -1717,10 +1719,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:62: ( ws )? COMMA ( ws )? resourceIdentifier
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:62: ( ws )? COMMA ( ws )? resourceIdentifier
 							{
 							dbg.location(322,62);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:62: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:62: ( ws )?
 							int alt22=2;
 							try { dbg.enterSubRule(22);
 							try { dbg.enterDecision(22, decisionCanBacktrack[22]);
@@ -1735,7 +1737,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:62: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:62: ws
 									{
 									dbg.location(322,62);
 									pushFollow(FOLLOW_ws_in_importItem385);
@@ -1749,7 +1751,7 @@
 							} finally {dbg.exitSubRule(22);}
 							dbg.location(322,66);
 							match(input,COMMA,FOLLOW_COMMA_in_importItem388); if (state.failed) return;dbg.location(322,72);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:72: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:72: ( ws )?
 							int alt23=2;
 							try { dbg.enterSubRule(23);
 							try { dbg.enterDecision(23, decisionCanBacktrack[23]);
@@ -1764,7 +1766,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:72: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:72: ws
 									{
 									dbg.location(322,72);
 									pushFollow(FOLLOW_ws_in_importItem390);
@@ -1790,7 +1792,7 @@
 					}
 					} finally {dbg.exitSubRule(24);}
 					dbg.location(322,97);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:97: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:97: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					int alt26=2;
 					try { dbg.enterSubRule(26);
 					try { dbg.enterDecision(26, decisionCanBacktrack[26]);
@@ -1958,10 +1960,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:98: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:98: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
 							{
 							dbg.location(322,120);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:120: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:120: ( ws )?
 							int alt25=2;
 							try { dbg.enterSubRule(25);
 							try { dbg.enterDecision(25, decisionCanBacktrack[25]);
@@ -1976,7 +1978,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:120: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:120: ws
 									{
 									dbg.location(322,120);
 									pushFollow(FOLLOW_ws_in_importItem405);
@@ -2004,7 +2006,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:9: {...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:9: {...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					{
 					dbg.location(324,9);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -2012,7 +2014,7 @@
 						throw new FailedPredicateException(input, "importItem", "isLessSource()");
 					}dbg.location(324,27);
 					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem432); if (state.failed) return;dbg.location(324,38);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:38: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:38: ( ws )?
 					int alt27=2;
 					try { dbg.enterSubRule(27);
 					try { dbg.enterDecision(27, decisionCanBacktrack[27]);
@@ -2027,7 +2029,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:38: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:38: ws
 							{
 							dbg.location(324,38);
 							pushFollow(FOLLOW_ws_in_importItem434);
@@ -2040,7 +2042,7 @@
 					}
 					} finally {dbg.exitSubRule(27);}
 					dbg.location(324,42);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:42: ( LPAREN less_import_types RPAREN ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:42: ( LPAREN less_import_types RPAREN ( ws )? )?
 					int alt29=2;
 					try { dbg.enterSubRule(29);
 					try { dbg.enterDecision(29, decisionCanBacktrack[29]);
@@ -2055,7 +2057,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:43: LPAREN less_import_types RPAREN ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:43: LPAREN less_import_types RPAREN ( ws )?
 							{
 							dbg.location(324,43);
 							match(input,LPAREN,FOLLOW_LPAREN_in_importItem438); if (state.failed) return;dbg.location(324,50);
@@ -2064,7 +2066,7 @@
 							state._fsp--;
 							if (state.failed) return;dbg.location(324,68);
 							match(input,RPAREN,FOLLOW_RPAREN_in_importItem442); if (state.failed) return;dbg.location(324,75);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:75: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:75: ( ws )?
 							int alt28=2;
 							try { dbg.enterSubRule(28);
 							try { dbg.enterDecision(28, decisionCanBacktrack[28]);
@@ -2079,7 +2081,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:75: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:75: ws
 									{
 									dbg.location(324,75);
 									pushFollow(FOLLOW_ws_in_importItem444);
@@ -2102,7 +2104,7 @@
 					resourceIdentifier();
 					state._fsp--;
 					if (state.failed) return;dbg.location(324,100);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:100: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:100: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
 					int alt31=2;
 					try { dbg.enterSubRule(31);
 					try { dbg.enterDecision(31, decisionCanBacktrack[31]);
@@ -2270,10 +2272,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:101: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:101: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
 							{
 							dbg.location(324,123);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:123: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:123: ( ws )?
 							int alt30=2;
 							try { dbg.enterSubRule(30);
 							try { dbg.enterDecision(30, decisionCanBacktrack[30]);
@@ -2288,7 +2290,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:123: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:123: ws
 									{
 									dbg.location(324,123);
 									pushFollow(FOLLOW_ws_in_importItem459);
@@ -2338,7 +2340,7 @@
 
 
 	// $ANTLR start "media"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:326:1: media : MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:326:1: media : MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE ;
 	public final void media() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "media");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -2346,14 +2348,14 @@
 		dbg.location(326, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:327:5: ( MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:327:5: ( MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:327:7: MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:327:7: MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE
 			{
 			dbg.location(327,7);
 			match(input,MEDIA_SYM,FOLLOW_MEDIA_SYM_in_media480); if (state.failed) return;dbg.location(327,17);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:327:17: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:327:17: ( ws )?
 			int alt33=2;
 			try { dbg.enterSubRule(33);
 			try { dbg.enterDecision(33, decisionCanBacktrack[33]);
@@ -2368,7 +2370,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:327:17: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:327:17: ws
 					{
 					dbg.location(327,17);
 					pushFollow(FOLLOW_ws_in_media482);
@@ -2381,10 +2383,10 @@
 			}
 			} finally {dbg.exitSubRule(33);}
 			dbg.location(328,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:328:5: ( mediaQueryList )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:328:5: ( mediaQueryList )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:329:10: mediaQueryList
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:329:10: mediaQueryList
 			{
 			dbg.location(329,10);
 			pushFollow(FOLLOW_mediaQueryList_in_media500);
@@ -2393,7 +2395,7 @@
 			if (state.failed) return;
 			}
 			dbg.location(330,7);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:330:7: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:330:7: ( ws )?
 			int alt34=2;
 			try { dbg.enterSubRule(34);
 			try { dbg.enterDecision(34, decisionCanBacktrack[34]);
@@ -2408,7 +2410,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:330:7: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:330:7: ws
 					{
 					dbg.location(330,7);
 					pushFollow(FOLLOW_ws_in_media508);
@@ -2422,7 +2424,7 @@
 			} finally {dbg.exitSubRule(34);}
 			dbg.location(331,5);
 			match(input,LBRACE,FOLLOW_LBRACE_in_media515); if (state.failed) return;dbg.location(331,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:331:12: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:331:12: ( ws )?
 			int alt35=2;
 			try { dbg.enterSubRule(35);
 			try { dbg.enterDecision(35, decisionCanBacktrack[35]);
@@ -2437,7 +2439,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:331:12: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:331:12: ws
 					{
 					dbg.location(331,12);
 					pushFollow(FOLLOW_ws_in_media517);
@@ -2454,7 +2456,7 @@
 			syncToFollow();
 			state._fsp--;
 			if (state.failed) return;dbg.location(332,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:332:9: ( mediaBody )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:332:9: ( mediaBody )?
 			int alt36=2;
 			try { dbg.enterSubRule(36);
 			try { dbg.enterDecision(36, decisionCanBacktrack[36]);
@@ -2469,7 +2471,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:332:9: mediaBody
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:332:9: mediaBody
 					{
 					dbg.location(332,9);
 					pushFollow(FOLLOW_mediaBody_in_media530);
@@ -2508,7 +2510,7 @@
 
 
 	// $ANTLR start "mediaBody"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:336:1: mediaBody : ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:336:1: mediaBody : ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ ;
 	public final void mediaBody() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaBody");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -2516,13 +2518,13 @@
 		dbg.location(336, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:337:5: ( ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:337:5: ( ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:338:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:338:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
 			{
 			dbg.location(338,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:338:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:338:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
 			int cnt42=0;
 			try { dbg.enterSubRule(42);
 
@@ -2620,20 +2622,20 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
 					{
 					dbg.location(339,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:12: mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:12: mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
 					{
 					dbg.location(339,12);
 					pushFollow(FOLLOW_mediaBodyItem_in_mediaBody571);
 					mediaBodyItem();
 					state._fsp--;
 					if (state.failed) return;dbg.location(339,26);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:26: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:26: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
 					int alt38=2;
 					try { dbg.enterSubRule(38);
 					try { dbg.enterDecision(38, decisionCanBacktrack[38]);
@@ -2652,10 +2654,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:27: ( ( ws )? SEMI )=> ( ws )? SEMI
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:27: ( ( ws )? SEMI )=> ( ws )? SEMI
 							{
 							dbg.location(339,39);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:39: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:39: ( ws )?
 							int alt37=2;
 							try { dbg.enterSubRule(37);
 							try { dbg.enterDecision(37, decisionCanBacktrack[37]);
@@ -2670,7 +2672,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:39: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:39: ws
 									{
 									dbg.location(339,39);
 									pushFollow(FOLLOW_ws_in_mediaBody581);
@@ -2690,7 +2692,7 @@
 					}
 					} finally {dbg.exitSubRule(38);}
 					dbg.location(339,50);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:50: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:50: ( ws )?
 					int alt39=2;
 					try { dbg.enterSubRule(39);
 					try { dbg.enterDecision(39, decisionCanBacktrack[39]);
@@ -2705,7 +2707,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:50: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:50: ws
 							{
 							dbg.location(339,50);
 							pushFollow(FOLLOW_ws_in_mediaBody588);
@@ -2725,17 +2727,17 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:341:10: ( SEMI ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:341:10: ( SEMI ( ws )? )
 					{
 					dbg.location(341,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:341:10: ( SEMI ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:341:10: ( SEMI ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:341:12: SEMI ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:341:12: SEMI ( ws )?
 					{
 					dbg.location(341,12);
 					match(input,SEMI,FOLLOW_SEMI_in_mediaBody615); if (state.failed) return;dbg.location(341,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:341:17: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:341:17: ( ws )?
 					int alt40=2;
 					try { dbg.enterSubRule(40);
 					try { dbg.enterDecision(40, decisionCanBacktrack[40]);
@@ -2750,7 +2752,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:341:17: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:341:17: ws
 							{
 							dbg.location(341,17);
 							pushFollow(FOLLOW_ws_in_mediaBody617);
@@ -2770,13 +2772,13 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
 					{
 					dbg.location(342,12);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:13: {...}? sass_extend ( ws | ( SEMI ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:13: {...}? sass_extend ( ws | ( SEMI ) )
 					{
 					dbg.location(342,13);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -2787,7 +2789,7 @@
 					sass_extend();
 					state._fsp--;
 					if (state.failed) return;dbg.location(342,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:43: ( ws | ( SEMI ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:43: ( ws | ( SEMI ) )
 					int alt41=2;
 					try { dbg.enterSubRule(41);
 					try { dbg.enterDecision(41, decisionCanBacktrack[41]);
@@ -2814,7 +2816,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:44: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:44: ws
 							{
 							dbg.location(342,44);
 							pushFollow(FOLLOW_ws_in_mediaBody639);
@@ -2826,13 +2828,13 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:49: ( SEMI )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:49: ( SEMI )
 							{
 							dbg.location(342,49);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:49: ( SEMI )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:49: ( SEMI )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:342:50: SEMI
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:342:50: SEMI
 							{
 							dbg.location(342,50);
 							match(input,SEMI,FOLLOW_SEMI_in_mediaBody644); if (state.failed) return;
@@ -2886,7 +2888,7 @@
 
 
 	// $ANTLR start "mediaBodyItem"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:346:1: mediaBodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media | supportsAtRule );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:346:1: mediaBodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media | supportsAtRule );
 	public final void mediaBodyItem() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaBodyItem");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -2894,7 +2896,7 @@
 		dbg.location(346, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:347:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media | supportsAtRule )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:347:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media | supportsAtRule )
 			int alt47=15;
 			try { dbg.enterDecision(47, decisionCanBacktrack[47]);
 
@@ -3475,7 +3477,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
 					{
 					dbg.location(348,96);
 					pushFollow(FOLLOW_cp_mixin_declaration_in_mediaBodyItem718);
@@ -3487,7 +3489,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
 					{
 					dbg.location(350,55);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -3498,7 +3500,7 @@
 					cp_mixin_call();
 					state._fsp--;
 					if (state.failed) return;dbg.location(350,87);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:87: ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:87: ( ( ws )? IMPORTANT_SYM )?
 					int alt44=2;
 					try { dbg.enterSubRule(44);
 					try { dbg.enterDecision(44, decisionCanBacktrack[44]);
@@ -3517,10 +3519,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:88: ( ws )? IMPORTANT_SYM
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:88: ( ws )? IMPORTANT_SYM
 							{
 							dbg.location(350,88);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:88: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:88: ( ws )?
 							int alt43=2;
 							try { dbg.enterSubRule(43);
 							try { dbg.enterDecision(43, decisionCanBacktrack[43]);
@@ -3535,7 +3537,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:88: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:88: ws
 									{
 									dbg.location(350,88);
 									pushFollow(FOLLOW_ws_in_mediaBodyItem754);
@@ -3560,7 +3562,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
 					{
 					dbg.location(351,25);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -3571,7 +3573,7 @@
 					cp_mixin_call();
 					state._fsp--;
 					if (state.failed) return;dbg.location(351,57);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:57: ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:57: ( ( ws )? IMPORTANT_SYM )?
 					int alt46=2;
 					try { dbg.enterSubRule(46);
 					try { dbg.enterDecision(46, decisionCanBacktrack[46]);
@@ -3590,10 +3592,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:58: ( ws )? IMPORTANT_SYM
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:58: ( ws )? IMPORTANT_SYM
 							{
 							dbg.location(351,58);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:58: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:58: ( ws )?
 							int alt45=2;
 							try { dbg.enterSubRule(45);
 							try { dbg.enterDecision(45, decisionCanBacktrack[45]);
@@ -3608,7 +3610,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:58: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:58: ws
 									{
 									dbg.location(351,58);
 									pushFollow(FOLLOW_ws_in_mediaBodyItem777);
@@ -3633,7 +3635,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
 					{
 					dbg.location(352,145);
 					pushFollow(FOLLOW_rule_in_mediaBodyItem845);
@@ -3645,7 +3647,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:353:7: ( propertyDeclaration )=> propertyDeclaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:353:7: ( propertyDeclaration )=> propertyDeclaration
 					{
 					dbg.location(353,30);
 					pushFollow(FOLLOW_propertyDeclaration_in_mediaBodyItem857);
@@ -3657,7 +3659,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:354:7: {...}? sass_debug
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:354:7: {...}? sass_debug
 					{
 					dbg.location(354,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -3673,7 +3675,7 @@
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:355:7: {...}? sass_control
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:355:7: {...}? sass_control
 					{
 					dbg.location(355,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -3689,7 +3691,7 @@
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:356:7: {...}? sass_content
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:356:7: {...}? sass_content
 					{
 					dbg.location(356,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -3705,7 +3707,7 @@
 				case 9 :
 					dbg.enterAlt(9);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:357:7: {...}? importItem
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:357:7: {...}? importItem
 					{
 					dbg.location(357,7);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -3721,7 +3723,7 @@
 				case 10 :
 					dbg.enterAlt(10);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:358:7: rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:358:7: rule
 					{
 					dbg.location(358,7);
 					pushFollow(FOLLOW_rule_in_mediaBodyItem905);
@@ -3733,7 +3735,7 @@
 				case 11 :
 					dbg.enterAlt(11);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:359:7: page
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:359:7: page
 					{
 					dbg.location(359,7);
 					pushFollow(FOLLOW_page_in_mediaBodyItem913);
@@ -3745,7 +3747,7 @@
 				case 12 :
 					dbg.enterAlt(12);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:360:7: fontFace
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:360:7: fontFace
 					{
 					dbg.location(360,7);
 					pushFollow(FOLLOW_fontFace_in_mediaBodyItem921);
@@ -3757,7 +3759,7 @@
 				case 13 :
 					dbg.enterAlt(13);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:361:7: vendorAtRule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:7: vendorAtRule
 					{
 					dbg.location(361,7);
 					pushFollow(FOLLOW_vendorAtRule_in_mediaBodyItem929);
@@ -3769,7 +3771,7 @@
 				case 14 :
 					dbg.enterAlt(14);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:363:7: media
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:363:7: media
 					{
 					dbg.location(363,7);
 					pushFollow(FOLLOW_media_in_mediaBodyItem942);
@@ -3781,7 +3783,7 @@
 				case 15 :
 					dbg.enterAlt(15);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:364:7: supportsAtRule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:364:7: supportsAtRule
 					{
 					dbg.location(364,7);
 					pushFollow(FOLLOW_supportsAtRule_in_mediaBodyItem950);
@@ -3815,7 +3817,7 @@
 
 
 	// $ANTLR start "mediaQueryList"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:367:1: mediaQueryList : mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:367:1: mediaQueryList : mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* ;
 	public final void mediaQueryList() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaQueryList");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -3823,17 +3825,17 @@
 		dbg.location(367, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:2: ( mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:2: ( mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:4: mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:4: mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
 			{
 			dbg.location(368,4);
 			pushFollow(FOLLOW_mediaQuery_in_mediaQueryList964);
 			mediaQuery();
 			state._fsp--;
 			if (state.failed) return;dbg.location(368,15);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:15: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:15: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
 			try { dbg.enterSubRule(50);
 
 			loop50:
@@ -3855,10 +3857,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:17: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:17: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery
 					{
 					dbg.location(368,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:31: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:31: ( ws )?
 					int alt48=2;
 					try { dbg.enterSubRule(48);
 					try { dbg.enterDecision(48, decisionCanBacktrack[48]);
@@ -3873,7 +3875,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:31: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:31: ws
 							{
 							dbg.location(368,31);
 							pushFollow(FOLLOW_ws_in_mediaQueryList976);
@@ -3887,7 +3889,7 @@
 					} finally {dbg.exitSubRule(48);}
 					dbg.location(368,35);
 					match(input,COMMA,FOLLOW_COMMA_in_mediaQueryList979); if (state.failed) return;dbg.location(368,41);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:41: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:41: ( ws )?
 					int alt49=2;
 					try { dbg.enterSubRule(49);
 					try { dbg.enterDecision(49, decisionCanBacktrack[49]);
@@ -3902,7 +3904,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:41: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:41: ws
 							{
 							dbg.location(368,41);
 							pushFollow(FOLLOW_ws_in_mediaQueryList981);
@@ -3953,7 +3955,7 @@
 
 
 	// $ANTLR start "mediaQuery"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:371:1: mediaQuery : ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:371:1: mediaQuery : ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable );
 	public final void mediaQuery() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaQuery");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -3961,7 +3963,7 @@
 		dbg.location(371, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:372:2: ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:372:2: ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable )
 			int alt59=3;
 			try { dbg.enterDecision(59, decisionCanBacktrack[59]);
 
@@ -4062,10 +4064,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:5: ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:5: ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
 					{
 					dbg.location(373,5);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:5: ( mediaQueryOperator ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:5: ( mediaQueryOperator ( ws )? )?
 					int alt52=2;
 					try { dbg.enterSubRule(52);
 					try { dbg.enterDecision(52, decisionCanBacktrack[52]);
@@ -4086,14 +4088,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:6: mediaQueryOperator ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:6: mediaQueryOperator ( ws )?
 							{
 							dbg.location(373,6);
 							pushFollow(FOLLOW_mediaQueryOperator_in_mediaQuery1003);
 							mediaQueryOperator();
 							state._fsp--;
 							if (state.failed) return;dbg.location(373,25);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:25: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:25: ( ws )?
 							int alt51=2;
 							try { dbg.enterSubRule(51);
 							try { dbg.enterDecision(51, decisionCanBacktrack[51]);
@@ -4108,7 +4110,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:25: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:25: ws
 									{
 									dbg.location(373,25);
 									pushFollow(FOLLOW_ws_in_mediaQuery1005);
@@ -4131,7 +4133,7 @@
 					mediaType();
 					state._fsp--;
 					if (state.failed) return;dbg.location(373,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:43: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:43: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
 					try { dbg.enterSubRule(55);
 
 					loop55:
@@ -4161,10 +4163,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:44: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:44: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
 							{
 							dbg.location(373,60);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:60: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:60: ( ws )?
 							int alt53=2;
 							try { dbg.enterSubRule(53);
 							try { dbg.enterDecision(53, decisionCanBacktrack[53]);
@@ -4179,7 +4181,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:60: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:60: ws
 									{
 									dbg.location(373,60);
 									pushFollow(FOLLOW_ws_in_mediaQuery1023);
@@ -4196,7 +4198,7 @@
 							key_and();
 							state._fsp--;
 							if (state.failed) return;dbg.location(373,72);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:72: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:72: ( ws )?
 							int alt54=2;
 							try { dbg.enterSubRule(54);
 							try { dbg.enterDecision(54, decisionCanBacktrack[54]);
@@ -4211,7 +4213,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:72: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:72: ws
 									{
 									dbg.location(373,72);
 									pushFollow(FOLLOW_ws_in_mediaQuery1028);
@@ -4242,14 +4244,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:7: mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:7: mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
 					{
 					dbg.location(374,7);
 					pushFollow(FOLLOW_mediaExpression_in_mediaQuery1042);
 					mediaExpression();
 					state._fsp--;
 					if (state.failed) return;dbg.location(374,23);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:23: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:23: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
 					try { dbg.enterSubRule(58);
 
 					loop58:
@@ -4279,10 +4281,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:24: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:24: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
 							{
 							dbg.location(374,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:40: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:40: ( ws )?
 							int alt56=2;
 							try { dbg.enterSubRule(56);
 							try { dbg.enterDecision(56, decisionCanBacktrack[56]);
@@ -4297,7 +4299,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:40: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:40: ws
 									{
 									dbg.location(374,40);
 									pushFollow(FOLLOW_ws_in_mediaQuery1053);
@@ -4314,7 +4316,7 @@
 							key_and();
 							state._fsp--;
 							if (state.failed) return;dbg.location(374,52);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:52: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:52: ( ws )?
 							int alt57=2;
 							try { dbg.enterSubRule(57);
 							try { dbg.enterDecision(57, decisionCanBacktrack[57]);
@@ -4329,7 +4331,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:52: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:52: ws
 									{
 									dbg.location(374,52);
 									pushFollow(FOLLOW_ws_in_mediaQuery1058);
@@ -4360,7 +4362,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:375:7: {...}? cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:375:7: {...}? cp_variable
 					{
 					dbg.location(375,7);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -4398,7 +4400,7 @@
 
 
 	// $ANTLR start "mediaQueryOperator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:378:1: mediaQueryOperator : ( key_only | NOT );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:378:1: mediaQueryOperator : ( key_only | NOT );
 	public final void mediaQueryOperator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaQueryOperator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -4406,7 +4408,7 @@
 		dbg.location(378, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:379:3: ( key_only | NOT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:379:3: ( key_only | NOT )
 			int alt60=2;
 			try { dbg.enterDecision(60, decisionCanBacktrack[60]);
 
@@ -4432,7 +4434,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:379:5: key_only
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:379:5: key_only
 					{
 					dbg.location(379,5);
 					pushFollow(FOLLOW_key_only_in_mediaQueryOperator1086);
@@ -4444,7 +4446,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:379:16: NOT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:379:16: NOT
 					{
 					dbg.location(379,16);
 					match(input,NOT,FOLLOW_NOT_in_mediaQueryOperator1090); if (state.failed) return;
@@ -4475,7 +4477,7 @@
 
 
 	// $ANTLR start "mediaType"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:382:1: mediaType : ( IDENT | GEN |{...}? sass_interpolation_expression_var );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:382:1: mediaType : ( IDENT | GEN |{...}? sass_interpolation_expression_var );
 	public final void mediaType() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaType");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -4483,7 +4485,7 @@
 		dbg.location(382, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:383:2: ( IDENT | GEN |{...}? sass_interpolation_expression_var )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:383:2: ( IDENT | GEN |{...}? sass_interpolation_expression_var )
 			int alt61=3;
 			try { dbg.enterDecision(61, decisionCanBacktrack[61]);
 
@@ -4516,7 +4518,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:383:4: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:383:4: IDENT
 					{
 					dbg.location(383,4);
 					match(input,IDENT,FOLLOW_IDENT_in_mediaType1102); if (state.failed) return;
@@ -4525,7 +4527,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:383:12: GEN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:383:12: GEN
 					{
 					dbg.location(383,12);
 					match(input,GEN,FOLLOW_GEN_in_mediaType1106); if (state.failed) return;
@@ -4534,7 +4536,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:383:18: {...}? sass_interpolation_expression_var
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:383:18: {...}? sass_interpolation_expression_var
 					{
 					dbg.location(383,18);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4572,7 +4574,7 @@
 
 
 	// $ANTLR start "mediaExpression"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:386:1: mediaExpression : ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:1: mediaExpression : ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var );
 	public final void mediaExpression() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaExpression");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -4580,7 +4582,7 @@
 		dbg.location(386, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:387:5: ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:387:5: ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var )
 			int alt65=2;
 			try { dbg.enterDecision(65, decisionCanBacktrack[65]);
 
@@ -4598,17 +4600,17 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:5: ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:5: ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
 					{
 					dbg.location(388,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:17: ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:17: ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:18: LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:18: LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN
 					{
 					dbg.location(388,18);
 					match(input,LPAREN,FOLLOW_LPAREN_in_mediaExpression1137); if (state.failed) return;dbg.location(388,25);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:25: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:25: ( ws )?
 					int alt62=2;
 					try { dbg.enterSubRule(62);
 					try { dbg.enterDecision(62, decisionCanBacktrack[62]);
@@ -4623,7 +4625,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:25: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:25: ws
 							{
 							dbg.location(388,25);
 							pushFollow(FOLLOW_ws_in_mediaExpression1139);
@@ -4640,7 +4642,7 @@
 					mediaFeature();
 					state._fsp--;
 					if (state.failed) return;dbg.location(388,42);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:42: ( mediaFeatureValue )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:42: ( mediaFeatureValue )?
 					int alt63=2;
 					try { dbg.enterSubRule(63);
 					try { dbg.enterDecision(63, decisionCanBacktrack[63]);
@@ -4659,7 +4661,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:42: mediaFeatureValue
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:42: mediaFeatureValue
 							{
 							dbg.location(388,42);
 							pushFollow(FOLLOW_mediaFeatureValue_in_mediaExpression1144);
@@ -4672,7 +4674,7 @@
 					}
 					} finally {dbg.exitSubRule(63);}
 					dbg.location(388,61);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:61: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:61: ( ws )?
 					int alt64=2;
 					try { dbg.enterSubRule(64);
 					try { dbg.enterDecision(64, decisionCanBacktrack[64]);
@@ -4687,7 +4689,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:61: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:61: ws
 							{
 							dbg.location(388,61);
 							pushFollow(FOLLOW_ws_in_mediaExpression1147);
@@ -4708,7 +4710,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:389:7: ( HASH )=>{...}? sass_interpolation_expression_var
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:389:7: ( HASH )=>{...}? sass_interpolation_expression_var
 					{
 					dbg.location(389,17);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4746,7 +4748,7 @@
 
 
 	// $ANTLR start "mediaFeatureValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:392:1: mediaFeatureValue : ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:392:1: mediaFeatureValue : ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) ;
 	public final void mediaFeatureValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaFeatureValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -4754,13 +4756,13 @@
 		dbg.location(392, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:393:5: ( ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:393:5: ( ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:394:5: ( ws )? COLON ( ws )? ({...}? cp_expression | expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:5: ( ws )? COLON ( ws )? ({...}? cp_expression | expression )
 			{
 			dbg.location(394,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:394:5: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:5: ( ws )?
 			int alt66=2;
 			try { dbg.enterSubRule(66);
 			try { dbg.enterDecision(66, decisionCanBacktrack[66]);
@@ -4775,7 +4777,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:394:5: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:5: ws
 					{
 					dbg.location(394,5);
 					pushFollow(FOLLOW_ws_in_mediaFeatureValue1188);
@@ -4789,7 +4791,7 @@
 			} finally {dbg.exitSubRule(66);}
 			dbg.location(394,9);
 			match(input,COLON,FOLLOW_COLON_in_mediaFeatureValue1191); if (state.failed) return;dbg.location(394,15);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:394:15: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:15: ( ws )?
 			int alt67=2;
 			try { dbg.enterSubRule(67);
 			try { dbg.enterDecision(67, decisionCanBacktrack[67]);
@@ -4804,7 +4806,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:394:15: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:15: ws
 					{
 					dbg.location(394,15);
 					pushFollow(FOLLOW_ws_in_mediaFeatureValue1193);
@@ -4817,7 +4819,7 @@
 			}
 			} finally {dbg.exitSubRule(67);}
 			dbg.location(395,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:395:5: ({...}? cp_expression | expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:395:5: ({...}? cp_expression | expression )
 			int alt68=2;
 			try { dbg.enterSubRule(68);
 			try { dbg.enterDecision(68, decisionCanBacktrack[68]);
@@ -4880,7 +4882,7 @@
 
 				}
 				break;
-			case PERCENTAGE:
+			case URANGE:
 				{
 				int LA68_7 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4892,7 +4894,7 @@
 
 				}
 				break;
-			case LENGTH:
+			case PERCENTAGE:
 				{
 				int LA68_8 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4904,7 +4906,7 @@
 
 				}
 				break;
-			case EMS:
+			case LENGTH:
 				{
 				int LA68_9 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4916,7 +4918,7 @@
 
 				}
 				break;
-			case REM:
+			case EMS:
 				{
 				int LA68_10 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4928,7 +4930,7 @@
 
 				}
 				break;
-			case EXS:
+			case REM:
 				{
 				int LA68_11 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4940,7 +4942,7 @@
 
 				}
 				break;
-			case ANGLE:
+			case EXS:
 				{
 				int LA68_12 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4952,7 +4954,7 @@
 
 				}
 				break;
-			case TIME:
+			case ANGLE:
 				{
 				int LA68_13 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4964,7 +4966,7 @@
 
 				}
 				break;
-			case FREQ:
+			case TIME:
 				{
 				int LA68_14 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4976,7 +4978,7 @@
 
 				}
 				break;
-			case RESOLUTION:
+			case FREQ:
 				{
 				int LA68_15 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -4988,7 +4990,7 @@
 
 				}
 				break;
-			case DIMENSION:
+			case RESOLUTION:
 				{
 				int LA68_16 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5000,7 +5002,7 @@
 
 				}
 				break;
-			case STRING:
+			case DIMENSION:
 				{
 				int LA68_17 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5012,7 +5014,7 @@
 
 				}
 				break;
-			case TILDE:
+			case STRING:
 				{
 				int LA68_18 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5024,7 +5026,7 @@
 
 				}
 				break;
-			case LESS_JS_STRING:
+			case TILDE:
 				{
 				int LA68_19 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5036,7 +5038,7 @@
 
 				}
 				break;
-			case GEN:
+			case LESS_JS_STRING:
 				{
 				int LA68_20 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5048,7 +5050,7 @@
 
 				}
 				break;
-			case URI:
+			case GEN:
 				{
 				int LA68_21 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5060,7 +5062,7 @@
 
 				}
 				break;
-			case HASH:
+			case URI:
 				{
 				int LA68_22 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5072,6 +5074,18 @@
 
 				}
 				break;
+			case HASH:
+				{
+				int LA68_23 = input.LA(2);
+				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
+					alt68=1;
+				}
+				else if ( (true) ) {
+					alt68=2;
+				}
+
+				}
+				break;
 			case AT_IDENT:
 			case BOTTOMCENTER_SYM:
 			case BOTTOMLEFTCORNER_SYM:
@@ -5113,7 +5127,7 @@
 			case TOPRIGHT_SYM:
 			case WEBKIT_KEYFRAMES_SYM:
 				{
-				int LA68_23 = input.LA(2);
+				int LA68_24 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
 					alt68=1;
 				}
@@ -5127,32 +5141,6 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 68, 23, input);
-						dbg.recognitionException(nvae);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			case SASS_VAR:
-				{
-				int LA68_24 = input.LA(2);
-				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt68=1;
-				}
-				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt68=2;
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
 							new NoViableAltException("", 68, 24, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
@@ -5163,13 +5151,13 @@
 
 				}
 				break;
-			case LESS_AND:
+			case SASS_VAR:
 				{
 				int LA68_25 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt68=1;
 				}
-				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
+				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt68=2;
 				}
 
@@ -5189,7 +5177,7 @@
 
 				}
 				break;
-			case HASH_SYMBOL:
+			case LESS_AND:
 				{
 				int LA68_26 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
@@ -5215,13 +5203,13 @@
 
 				}
 				break;
-			case AT_SIGN:
+			case HASH_SYMBOL:
 				{
 				int LA68_27 = input.LA(2);
-				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt68=1;
 				}
-				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
 					alt68=2;
 				}
 
@@ -5241,9 +5229,35 @@
 
 				}
 				break;
-			case PERCENTAGE_SYMBOL:
+			case AT_SIGN:
 				{
 				int LA68_28 = input.LA(2);
+				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+					alt68=1;
+				}
+				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+					alt68=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 68, 28, input);
+						dbg.recognitionException(nvae);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			case PERCENTAGE_SYMBOL:
+				{
+				int LA68_29 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 					alt68=1;
 				}
@@ -5257,7 +5271,7 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 68, 28, input);
+							new NoViableAltException("", 68, 29, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
 					} finally {
@@ -5280,7 +5294,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:396:9: {...}? cp_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:9: {...}? cp_expression
 					{
 					dbg.location(396,9);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -5296,7 +5310,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:398:9: expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:398:9: expression
 					{
 					dbg.location(398,9);
 					pushFollow(FOLLOW_expression_in_mediaFeatureValue1232);
@@ -5334,7 +5348,7 @@
 
 
 	// $ANTLR start "mediaFeature"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:402:1: mediaFeature : ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:402:1: mediaFeature : ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) );
 	public final void mediaFeature() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "mediaFeature");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -5342,7 +5356,7 @@
 		dbg.location(402, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:2: ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:2: ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) )
 			int alt70=3;
 			try { dbg.enterDecision(70, decisionCanBacktrack[70]);
 
@@ -5416,7 +5430,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:4: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:4: IDENT
 					{
 					dbg.location(403,4);
 					match(input,IDENT,FOLLOW_IDENT_in_mediaFeature1252); if (state.failed) return;
@@ -5425,7 +5439,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:12: GEN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:12: GEN
 					{
 					dbg.location(403,12);
 					match(input,GEN,FOLLOW_GEN_in_mediaFeature1256); if (state.failed) return;
@@ -5434,14 +5448,14 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:18: {...}? ( cp_variable | sass_interpolation_expression_var )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:18: {...}? ( cp_variable | sass_interpolation_expression_var )
 					{
 					dbg.location(403,18);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "mediaFeature", "isCssPreprocessorSource()");
 					}dbg.location(403,47);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:47: ( cp_variable | sass_interpolation_expression_var )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:47: ( cp_variable | sass_interpolation_expression_var )
 					int alt69=2;
 					try { dbg.enterSubRule(69);
 					try { dbg.enterDecision(69, decisionCanBacktrack[69]);
@@ -5468,7 +5482,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:49: cp_variable
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:49: cp_variable
 							{
 							dbg.location(403,49);
 							pushFollow(FOLLOW_cp_variable_in_mediaFeature1264);
@@ -5480,7 +5494,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:403:63: sass_interpolation_expression_var
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:63: sass_interpolation_expression_var
 							{
 							dbg.location(403,63);
 							pushFollow(FOLLOW_sass_interpolation_expression_var_in_mediaFeature1268);
@@ -5520,7 +5534,7 @@
 
 
 	// $ANTLR start "body"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:406:2: body : ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:406:2: body : ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ ;
 	public final void body() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "body");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -5528,13 +5542,13 @@
 		dbg.location(406, 1);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:407:5: ( ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:407:5: ( ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:408:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:408:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
 			{
 			dbg.location(408,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:408:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:408:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
 			int cnt75=0;
 			try { dbg.enterSubRule(75);
 
@@ -5557,20 +5571,20 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
 					{
 					dbg.location(409,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:12: bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:12: bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
 					{
 					dbg.location(409,12);
 					pushFollow(FOLLOW_bodyItem_in_body1302);
 					bodyItem();
 					state._fsp--;
 					if (state.failed) return;dbg.location(409,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:21: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:21: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
 					int alt72=2;
 					try { dbg.enterSubRule(72);
 					try { dbg.enterDecision(72, decisionCanBacktrack[72]);
@@ -5589,10 +5603,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:22: ( ( ws )? SEMI )=> ( ws )? SEMI
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:22: ( ( ws )? SEMI )=> ( ws )? SEMI
 							{
 							dbg.location(409,34);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:34: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:34: ( ws )?
 							int alt71=2;
 							try { dbg.enterSubRule(71);
 							try { dbg.enterDecision(71, decisionCanBacktrack[71]);
@@ -5607,7 +5621,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:34: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:34: ws
 									{
 									dbg.location(409,34);
 									pushFollow(FOLLOW_ws_in_body1312);
@@ -5627,7 +5641,7 @@
 					}
 					} finally {dbg.exitSubRule(72);}
 					dbg.location(409,45);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:45: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:45: ( ws )?
 					int alt73=2;
 					try { dbg.enterSubRule(73);
 					try { dbg.enterDecision(73, decisionCanBacktrack[73]);
@@ -5642,7 +5656,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:45: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:45: ws
 							{
 							dbg.location(409,45);
 							pushFollow(FOLLOW_ws_in_body1319);
@@ -5662,17 +5676,17 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:411:10: ( SEMI ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:10: ( SEMI ( ws )? )
 					{
 					dbg.location(411,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:411:10: ( SEMI ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:10: ( SEMI ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:411:12: SEMI ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:12: SEMI ( ws )?
 					{
 					dbg.location(411,12);
 					match(input,SEMI,FOLLOW_SEMI_in_body1346); if (state.failed) return;dbg.location(411,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:411:17: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:17: ( ws )?
 					int alt74=2;
 					try { dbg.enterSubRule(74);
 					try { dbg.enterDecision(74, decisionCanBacktrack[74]);
@@ -5687,7 +5701,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:411:17: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:17: ws
 							{
 							dbg.location(411,17);
 							pushFollow(FOLLOW_ws_in_body1348);
@@ -5742,7 +5756,7 @@
 
 
 	// $ANTLR start "bodyItem"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:415:1: bodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:415:1: bodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration );
 	public final void bodyItem() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "bodyItem");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -5750,7 +5764,7 @@
 		dbg.location(415, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:416:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:416:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration )
 			int alt76=11;
 			try { dbg.enterDecision(76, decisionCanBacktrack[76]);
 
@@ -6324,7 +6338,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
 					{
 					dbg.location(417,107);
 					pushFollow(FOLLOW_cp_mixin_declaration_in_bodyItem1428);
@@ -6336,7 +6350,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:419:11: ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:11: ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call
 					{
 					dbg.location(419,38);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -6352,7 +6366,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:420:11: ( cp_mixin_call )=>{...}? cp_mixin_call
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:11: ( cp_mixin_call )=>{...}? cp_mixin_call
 					{
 					dbg.location(420,29);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -6368,7 +6382,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:421:8: rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:8: rule
 					{
 					dbg.location(421,8);
 					pushFollow(FOLLOW_rule_in_bodyItem1489);
@@ -6380,7 +6394,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:422:11: ( cp_variable ( ws )? COLON )=> cp_variable_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:11: ( cp_variable ( ws )? COLON )=> cp_variable_declaration
 					{
 					dbg.location(422,37);
 					pushFollow(FOLLOW_cp_variable_declaration_in_bodyItem1511);
@@ -6392,7 +6406,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:423:11: ( sass_map )=> sass_map
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:11: ( sass_map )=> sass_map
 					{
 					dbg.location(423,24);
 					pushFollow(FOLLOW_sass_map_in_bodyItem1528);
@@ -6404,7 +6418,7 @@
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:424:11: at_rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:11: at_rule
 					{
 					dbg.location(424,11);
 					pushFollow(FOLLOW_at_rule_in_bodyItem1540);
@@ -6416,7 +6430,7 @@
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:426:11: {...}? importItem
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:426:11: {...}? importItem
 					{
 					dbg.location(426,11);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -6432,7 +6446,7 @@
 				case 9 :
 					dbg.enterAlt(9);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:427:11: {...}? sass_debug
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:427:11: {...}? sass_debug
 					{
 					dbg.location(427,11);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -6448,7 +6462,7 @@
 				case 10 :
 					dbg.enterAlt(10);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:428:11: {...}? sass_control
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:428:11: {...}? sass_control
 					{
 					dbg.location(428,11);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -6464,7 +6478,7 @@
 				case 11 :
 					dbg.enterAlt(11);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:429:11: {...}? sass_function_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:429:11: {...}? sass_function_declaration
 					{
 					dbg.location(429,11);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -6505,7 +6519,7 @@
 
 
 	// $ANTLR start "supportsAtRule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:435:1: supportsAtRule : SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:435:1: supportsAtRule : SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE ;
 	public final void supportsAtRule() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsAtRule");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -6513,14 +6527,14 @@
 		dbg.location(435, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:436:2: ( SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:436:2: ( SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:2: SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:2: SUPPORTS_SYM ( ws )? supportsCondition ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE
 			{
 			dbg.location(437,2);
 			match(input,SUPPORTS_SYM,FOLLOW_SUPPORTS_SYM_in_supportsAtRule1625); if (state.failed) return;dbg.location(437,15);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:15: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:15: ( ws )?
 			int alt77=2;
 			try { dbg.enterSubRule(77);
 			try { dbg.enterDecision(77, decisionCanBacktrack[77]);
@@ -6535,7 +6549,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:15: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:15: ws
 					{
 					dbg.location(437,15);
 					pushFollow(FOLLOW_ws_in_supportsAtRule1627);
@@ -6552,7 +6566,7 @@
 			supportsCondition();
 			state._fsp--;
 			if (state.failed) return;dbg.location(437,37);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:37: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:37: ( ws )?
 			int alt78=2;
 			try { dbg.enterSubRule(78);
 			try { dbg.enterDecision(78, decisionCanBacktrack[78]);
@@ -6567,7 +6581,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:37: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:37: ws
 					{
 					dbg.location(437,37);
 					pushFollow(FOLLOW_ws_in_supportsAtRule1632);
@@ -6581,7 +6595,7 @@
 			} finally {dbg.exitSubRule(78);}
 			dbg.location(437,41);
 			match(input,LBRACE,FOLLOW_LBRACE_in_supportsAtRule1635); if (state.failed) return;dbg.location(437,48);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:48: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:48: ( ws )?
 			int alt79=2;
 			try { dbg.enterSubRule(79);
 			try { dbg.enterDecision(79, decisionCanBacktrack[79]);
@@ -6596,7 +6610,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:48: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:48: ws
 					{
 					dbg.location(437,48);
 					pushFollow(FOLLOW_ws_in_supportsAtRule1637);
@@ -6613,7 +6627,7 @@
 			syncToFollow();
 			state._fsp--;
 			if (state.failed) return;dbg.location(437,65);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:65: ( mediaBody )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:65: ( mediaBody )?
 			int alt80=2;
 			try { dbg.enterSubRule(80);
 			try { dbg.enterDecision(80, decisionCanBacktrack[80]);
@@ -6628,7 +6642,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:437:65: mediaBody
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:437:65: mediaBody
 					{
 					dbg.location(437,65);
 					pushFollow(FOLLOW_mediaBody_in_supportsAtRule1642);
@@ -6667,7 +6681,7 @@
 
 
 	// $ANTLR start "supportsCondition"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:441:1: supportsCondition : ( NOT ws supportsInParens | supportsInParens ( ws supportsWithOperator )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:441:1: supportsCondition : ( NOT ws supportsInParens | supportsInParens ( ws supportsWithOperator )? );
 	public final void supportsCondition() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsCondition");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -6675,7 +6689,7 @@
 		dbg.location(441, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:442:2: ( NOT ws supportsInParens | supportsInParens ( ws supportsWithOperator )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:442:2: ( NOT ws supportsInParens | supportsInParens ( ws supportsWithOperator )? )
 			int alt82=2;
 			try { dbg.enterDecision(82, decisionCanBacktrack[82]);
 
@@ -6701,7 +6715,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:443:2: NOT ws supportsInParens
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:443:2: NOT ws supportsInParens
 					{
 					dbg.location(443,2);
 					match(input,NOT,FOLLOW_NOT_in_supportsCondition1658); if (state.failed) return;dbg.location(443,6);
@@ -6718,14 +6732,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:444:4: supportsInParens ( ws supportsWithOperator )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:4: supportsInParens ( ws supportsWithOperator )?
 					{
 					dbg.location(444,4);
 					pushFollow(FOLLOW_supportsInParens_in_supportsCondition1667);
 					supportsInParens();
 					state._fsp--;
 					if (state.failed) return;dbg.location(444,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:444:21: ( ws supportsWithOperator )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:21: ( ws supportsWithOperator )?
 					int alt81=2;
 					try { dbg.enterSubRule(81);
 					try { dbg.enterDecision(81, decisionCanBacktrack[81]);
@@ -6744,7 +6758,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:444:22: ws supportsWithOperator
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:22: ws supportsWithOperator
 							{
 							dbg.location(444,22);
 							pushFollow(FOLLOW_ws_in_supportsCondition1670);
@@ -6788,7 +6802,7 @@
 
 
 	// $ANTLR start "supportsWithOperator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:447:1: supportsWithOperator : ( supportsConjunction ( ws supportsConjunction )* | supportsDisjunction ( ws supportsDisjunction )* );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:447:1: supportsWithOperator : ( supportsConjunction ( ws supportsConjunction )* | supportsDisjunction ( ws supportsDisjunction )* );
 	public final void supportsWithOperator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsWithOperator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -6796,7 +6810,7 @@
 		dbg.location(447, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:448:9: ( supportsConjunction ( ws supportsConjunction )* | supportsDisjunction ( ws supportsDisjunction )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:448:9: ( supportsConjunction ( ws supportsConjunction )* | supportsDisjunction ( ws supportsDisjunction )* )
 			int alt85=2;
 			try { dbg.enterDecision(85, decisionCanBacktrack[85]);
 
@@ -6840,14 +6854,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:449:9: supportsConjunction ( ws supportsConjunction )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:449:9: supportsConjunction ( ws supportsConjunction )*
 					{
 					dbg.location(449,9);
 					pushFollow(FOLLOW_supportsConjunction_in_supportsWithOperator1700);
 					supportsConjunction();
 					state._fsp--;
 					if (state.failed) return;dbg.location(449,29);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:449:29: ( ws supportsConjunction )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:449:29: ( ws supportsConjunction )*
 					try { dbg.enterSubRule(83);
 
 					loop83:
@@ -6869,7 +6883,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:449:30: ws supportsConjunction
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:449:30: ws supportsConjunction
 							{
 							dbg.location(449,30);
 							pushFollow(FOLLOW_ws_in_supportsWithOperator1703);
@@ -6894,14 +6908,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:450:11: supportsDisjunction ( ws supportsDisjunction )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:11: supportsDisjunction ( ws supportsDisjunction )*
 					{
 					dbg.location(450,11);
 					pushFollow(FOLLOW_supportsDisjunction_in_supportsWithOperator1719);
 					supportsDisjunction();
 					state._fsp--;
 					if (state.failed) return;dbg.location(450,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:450:31: ( ws supportsDisjunction )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:31: ( ws supportsDisjunction )*
 					try { dbg.enterSubRule(84);
 
 					loop84:
@@ -6923,7 +6937,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:450:32: ws supportsDisjunction
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:32: ws supportsDisjunction
 							{
 							dbg.location(450,32);
 							pushFollow(FOLLOW_ws_in_supportsWithOperator1722);
@@ -6970,7 +6984,7 @@
 
 
 	// $ANTLR start "supportsConjunction"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:453:1: supportsConjunction : ( key_and ws supportsInParens ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:453:1: supportsConjunction : ( key_and ws supportsInParens ) ;
 	public final void supportsConjunction() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsConjunction");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -6978,16 +6992,16 @@
 		dbg.location(453, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:454:9: ( ( key_and ws supportsInParens ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:9: ( ( key_and ws supportsInParens ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:454:11: ( key_and ws supportsInParens )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:11: ( key_and ws supportsInParens )
 			{
 			dbg.location(454,11);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:454:11: ( key_and ws supportsInParens )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:11: ( key_and ws supportsInParens )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:454:12: key_and ws supportsInParens
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:12: key_and ws supportsInParens
 			{
 			dbg.location(454,12);
 			pushFollow(FOLLOW_key_and_in_supportsConjunction1752);
@@ -7029,7 +7043,7 @@
 
 
 	// $ANTLR start "supportsDisjunction"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:457:1: supportsDisjunction : ( key_or ws supportsInParens ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:457:1: supportsDisjunction : ( key_or ws supportsInParens ) ;
 	public final void supportsDisjunction() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsDisjunction");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7037,16 +7051,16 @@
 		dbg.location(457, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:458:9: ( ( key_or ws supportsInParens ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:458:9: ( ( key_or ws supportsInParens ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:458:11: ( key_or ws supportsInParens )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:458:11: ( key_or ws supportsInParens )
 			{
 			dbg.location(458,11);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:458:11: ( key_or ws supportsInParens )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:458:11: ( key_or ws supportsInParens )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:458:12: key_or ws supportsInParens
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:458:12: key_or ws supportsInParens
 			{
 			dbg.location(458,12);
 			pushFollow(FOLLOW_key_or_in_supportsDisjunction1783);
@@ -7088,7 +7102,7 @@
 
 
 	// $ANTLR start "supportsInParens"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:461:1: supportsInParens : LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:461:1: supportsInParens : LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN ;
 	public final void supportsInParens() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsInParens");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7096,14 +7110,14 @@
 		dbg.location(461, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:462:2: ( LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:462:2: ( LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:2: LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:2: LPAREN ( ws )? ( supportsCondition | supportsFeature ) ( ws )? RPAREN
 			{
 			dbg.location(463,2);
 			match(input,LPAREN,FOLLOW_LPAREN_in_supportsInParens1807); if (state.failed) return;dbg.location(463,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:9: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:9: ( ws )?
 			int alt86=2;
 			try { dbg.enterSubRule(86);
 			try { dbg.enterDecision(86, decisionCanBacktrack[86]);
@@ -7118,7 +7132,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:9: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:9: ws
 					{
 					dbg.location(463,9);
 					pushFollow(FOLLOW_ws_in_supportsInParens1809);
@@ -7131,7 +7145,7 @@
 			}
 			} finally {dbg.exitSubRule(86);}
 			dbg.location(463,13);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:13: ( supportsCondition | supportsFeature )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:13: ( supportsCondition | supportsFeature )
 			int alt87=2;
 			try { dbg.enterSubRule(87);
 			try { dbg.enterDecision(87, decisionCanBacktrack[87]);
@@ -7158,7 +7172,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:14: supportsCondition
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:14: supportsCondition
 					{
 					dbg.location(463,14);
 					pushFollow(FOLLOW_supportsCondition_in_supportsInParens1813);
@@ -7170,7 +7184,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:34: supportsFeature
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:34: supportsFeature
 					{
 					dbg.location(463,34);
 					pushFollow(FOLLOW_supportsFeature_in_supportsInParens1817);
@@ -7183,7 +7197,7 @@
 			}
 			} finally {dbg.exitSubRule(87);}
 			dbg.location(463,51);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:51: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:51: ( ws )?
 			int alt88=2;
 			try { dbg.enterSubRule(88);
 			try { dbg.enterDecision(88, decisionCanBacktrack[88]);
@@ -7198,7 +7212,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:463:51: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:51: ws
 					{
 					dbg.location(463,51);
 					pushFollow(FOLLOW_ws_in_supportsInParens1820);
@@ -7237,7 +7251,7 @@
 
 
 	// $ANTLR start "supportsFeature"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:466:1: supportsFeature : supportsDecl ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:466:1: supportsFeature : supportsDecl ;
 	public final void supportsFeature() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsFeature");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7245,10 +7259,10 @@
 		dbg.location(466, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:467:2: ( supportsDecl )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:467:2: ( supportsDecl )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:468:2: supportsDecl
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:468:2: supportsDecl
 			{
 			dbg.location(468,2);
 			pushFollow(FOLLOW_supportsDecl_in_supportsFeature1836);
@@ -7280,7 +7294,7 @@
 
 
 	// $ANTLR start "supportsDecl"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:471:1: supportsDecl : declaration ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:471:1: supportsDecl : declaration ;
 	public final void supportsDecl() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "supportsDecl");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7288,10 +7302,10 @@
 		dbg.location(471, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:472:2: ( declaration )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:472:2: ( declaration )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:473:2: declaration
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:473:2: declaration
 			{
 			dbg.location(473,2);
 			pushFollow(FOLLOW_declaration_in_supportsDecl1849);
@@ -7323,7 +7337,7 @@
 
 
 	// $ANTLR start "at_rule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:476:1: at_rule : ( media | page | counterStyle | fontFace | supportsAtRule | vendorAtRule );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:476:1: at_rule : ( media | page | counterStyle | fontFace | supportsAtRule | vendorAtRule );
 	public final void at_rule() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "at_rule");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7331,7 +7345,7 @@
 		dbg.location(476, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:477:5: ( media | page | counterStyle | fontFace | supportsAtRule | vendorAtRule )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:477:5: ( media | page | counterStyle | fontFace | supportsAtRule | vendorAtRule )
 			int alt89=6;
 			try { dbg.enterDecision(89, decisionCanBacktrack[89]);
 
@@ -7381,7 +7395,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:478:5: media
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:478:5: media
 					{
 					dbg.location(478,5);
 					pushFollow(FOLLOW_media_in_at_rule1867);
@@ -7393,7 +7407,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:479:7: page
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:479:7: page
 					{
 					dbg.location(479,7);
 					pushFollow(FOLLOW_page_in_at_rule1875);
@@ -7405,7 +7419,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:480:7: counterStyle
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:7: counterStyle
 					{
 					dbg.location(480,7);
 					pushFollow(FOLLOW_counterStyle_in_at_rule1883);
@@ -7417,7 +7431,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:481:7: fontFace
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:481:7: fontFace
 					{
 					dbg.location(481,7);
 					pushFollow(FOLLOW_fontFace_in_at_rule1891);
@@ -7429,7 +7443,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:482:7: supportsAtRule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:7: supportsAtRule
 					{
 					dbg.location(482,7);
 					pushFollow(FOLLOW_supportsAtRule_in_at_rule1899);
@@ -7441,7 +7455,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:483:7: vendorAtRule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:483:7: vendorAtRule
 					{
 					dbg.location(483,7);
 					pushFollow(FOLLOW_vendorAtRule_in_at_rule1907);
@@ -7475,7 +7489,7 @@
 
 
 	// $ANTLR start "vendorAtRule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:486:1: vendorAtRule : ( moz_document | webkitKeyframes | generic_at_rule );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:486:1: vendorAtRule : ( moz_document | webkitKeyframes | generic_at_rule );
 	public final void vendorAtRule() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "vendorAtRule");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7483,7 +7497,7 @@
 		dbg.location(486, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:487:3: ( moz_document | webkitKeyframes | generic_at_rule )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:487:3: ( moz_document | webkitKeyframes | generic_at_rule )
 			int alt90=3;
 			try { dbg.enterDecision(90, decisionCanBacktrack[90]);
 
@@ -7516,7 +7530,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:487:3: moz_document
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:487:3: moz_document
 					{
 					dbg.location(487,3);
 					pushFollow(FOLLOW_moz_document_in_vendorAtRule1920);
@@ -7528,7 +7542,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:487:18: webkitKeyframes
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:487:18: webkitKeyframes
 					{
 					dbg.location(487,18);
 					pushFollow(FOLLOW_webkitKeyframes_in_vendorAtRule1924);
@@ -7540,7 +7554,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:487:36: generic_at_rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:487:36: generic_at_rule
 					{
 					dbg.location(487,36);
 					pushFollow(FOLLOW_generic_at_rule_in_vendorAtRule1928);
@@ -7574,7 +7588,7 @@
 
 
 	// $ANTLR start "atRuleId"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:489:1: atRuleId : ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:489:1: atRuleId : ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) );
 	public final void atRuleId() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "atRuleId");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7582,7 +7596,7 @@
 		dbg.location(489, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:490:2: ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:2: ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) )
 			int alt92=3;
 			try { dbg.enterDecision(92, decisionCanBacktrack[92]);
 
@@ -7656,7 +7670,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:2: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:2: IDENT
 					{
 					dbg.location(491,2);
 					match(input,IDENT,FOLLOW_IDENT_in_atRuleId1938); if (state.failed) return;
@@ -7665,7 +7679,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:10: STRING
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:10: STRING
 					{
 					dbg.location(491,10);
 					match(input,STRING,FOLLOW_STRING_in_atRuleId1942); if (state.failed) return;
@@ -7674,14 +7688,14 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:19: {...}? ( cp_variable | sass_interpolation_expression_var )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:19: {...}? ( cp_variable | sass_interpolation_expression_var )
 					{
 					dbg.location(491,19);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "atRuleId", "isCssPreprocessorSource()");
 					}dbg.location(491,48);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:48: ( cp_variable | sass_interpolation_expression_var )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:48: ( cp_variable | sass_interpolation_expression_var )
 					int alt91=2;
 					try { dbg.enterSubRule(91);
 					try { dbg.enterDecision(91, decisionCanBacktrack[91]);
@@ -7708,7 +7722,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:50: cp_variable
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:50: cp_variable
 							{
 							dbg.location(491,50);
 							pushFollow(FOLLOW_cp_variable_in_atRuleId1950);
@@ -7720,7 +7734,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:491:64: sass_interpolation_expression_var
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:64: sass_interpolation_expression_var
 							{
 							dbg.location(491,64);
 							pushFollow(FOLLOW_sass_interpolation_expression_var_in_atRuleId1954);
@@ -7760,7 +7774,7 @@
 
 
 	// $ANTLR start "generic_at_rule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:494:1: generic_at_rule : AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:494:1: generic_at_rule : AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE ;
 	public final void generic_at_rule() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "generic_at_rule");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7768,14 +7782,14 @@
 		dbg.location(494, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:5: ( AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:5: ( AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:7: AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:7: AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE
 			{
 			dbg.location(495,7);
 			match(input,AT_IDENT,FOLLOW_AT_IDENT_in_generic_at_rule1970); if (state.failed) return;dbg.location(495,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:16: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:16: ( ws )?
 			int alt93=2;
 			try { dbg.enterSubRule(93);
 			try { dbg.enterDecision(93, decisionCanBacktrack[93]);
@@ -7790,7 +7804,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:16: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:16: ws
 					{
 					dbg.location(495,16);
 					pushFollow(FOLLOW_ws_in_generic_at_rule1972);
@@ -7803,7 +7817,7 @@
 			}
 			} finally {dbg.exitSubRule(93);}
 			dbg.location(495,20);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:20: ( atRuleId ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:20: ( atRuleId ( ws )? )?
 			int alt95=2;
 			try { dbg.enterSubRule(95);
 			try { dbg.enterDecision(95, decisionCanBacktrack[95]);
@@ -7818,14 +7832,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:22: atRuleId ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:22: atRuleId ( ws )?
 					{
 					dbg.location(495,22);
 					pushFollow(FOLLOW_atRuleId_in_generic_at_rule1977);
 					atRuleId();
 					state._fsp--;
 					if (state.failed) return;dbg.location(495,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:31: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:31: ( ws )?
 					int alt94=2;
 					try { dbg.enterSubRule(94);
 					try { dbg.enterDecision(94, decisionCanBacktrack[94]);
@@ -7840,7 +7854,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:495:31: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:31: ws
 							{
 							dbg.location(495,31);
 							pushFollow(FOLLOW_ws_in_generic_at_rule1979);
@@ -7890,7 +7904,7 @@
 
 
 	// $ANTLR start "moz_document"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:500:1: moz_document : MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:500:1: moz_document : MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ;
 	public final void moz_document() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "moz_document");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -7898,14 +7912,14 @@
 		dbg.location(500, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:501:2: ( MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:501:2: ( MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:2: MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:2: MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE
 			{
 			dbg.location(502,2);
 			match(input,MOZ_DOCUMENT_SYM,FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document2025); if (state.failed) return;dbg.location(502,19);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:19: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:19: ( ws )?
 			int alt96=2;
 			try { dbg.enterSubRule(96);
 			try { dbg.enterDecision(96, decisionCanBacktrack[96]);
@@ -7920,7 +7934,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:19: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:19: ws
 					{
 					dbg.location(502,19);
 					pushFollow(FOLLOW_ws_in_moz_document2027);
@@ -7933,17 +7947,17 @@
 			}
 			} finally {dbg.exitSubRule(96);}
 			dbg.location(502,23);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:23: ( moz_document_function ( ws )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:23: ( moz_document_function ( ws )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:25: moz_document_function ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:25: moz_document_function ( ws )?
 			{
 			dbg.location(502,25);
 			pushFollow(FOLLOW_moz_document_function_in_moz_document2032);
 			moz_document_function();
 			state._fsp--;
 			if (state.failed) return;dbg.location(502,47);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:47: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:47: ( ws )?
 			int alt97=2;
 			try { dbg.enterSubRule(97);
 			try { dbg.enterDecision(97, decisionCanBacktrack[97]);
@@ -7958,7 +7972,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:47: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:47: ws
 					{
 					dbg.location(502,47);
 					pushFollow(FOLLOW_ws_in_moz_document2034);
@@ -7973,7 +7987,7 @@
 
 			}
 			dbg.location(502,52);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:52: ( COMMA ( ws )? moz_document_function ( ws )? )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:52: ( COMMA ( ws )? moz_document_function ( ws )? )*
 			try { dbg.enterSubRule(100);
 
 			loop100:
@@ -7992,11 +8006,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:54: COMMA ( ws )? moz_document_function ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:54: COMMA ( ws )? moz_document_function ( ws )?
 					{
 					dbg.location(502,54);
 					match(input,COMMA,FOLLOW_COMMA_in_moz_document2040); if (state.failed) return;dbg.location(502,60);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:60: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:60: ( ws )?
 					int alt98=2;
 					try { dbg.enterSubRule(98);
 					try { dbg.enterDecision(98, decisionCanBacktrack[98]);
@@ -8011,7 +8025,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:60: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:60: ws
 							{
 							dbg.location(502,60);
 							pushFollow(FOLLOW_ws_in_moz_document2042);
@@ -8028,7 +8042,7 @@
 					moz_document_function();
 					state._fsp--;
 					if (state.failed) return;dbg.location(502,86);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:86: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:86: ( ws )?
 					int alt99=2;
 					try { dbg.enterSubRule(99);
 					try { dbg.enterDecision(99, decisionCanBacktrack[99]);
@@ -8043,7 +8057,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:502:86: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:502:86: ws
 							{
 							dbg.location(502,86);
 							pushFollow(FOLLOW_ws_in_moz_document2047);
@@ -8066,7 +8080,7 @@
 			} finally {dbg.exitSubRule(100);}
 			dbg.location(503,2);
 			match(input,LBRACE,FOLLOW_LBRACE_in_moz_document2054); if (state.failed) return;dbg.location(503,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:503:9: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:503:9: ( ws )?
 			int alt101=2;
 			try { dbg.enterSubRule(101);
 			try { dbg.enterDecision(101, decisionCanBacktrack[101]);
@@ -8081,7 +8095,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:503:9: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:503:9: ws
 					{
 					dbg.location(503,9);
 					pushFollow(FOLLOW_ws_in_moz_document2056);
@@ -8094,7 +8108,7 @@
 			}
 			} finally {dbg.exitSubRule(101);}
 			dbg.location(504,3);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:504:3: ( body )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:504:3: ( body )?
 			int alt102=2;
 			try { dbg.enterSubRule(102);
 			try { dbg.enterDecision(102, decisionCanBacktrack[102]);
@@ -8109,7 +8123,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:504:3: body
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:504:3: body
 					{
 					dbg.location(504,3);
 					pushFollow(FOLLOW_body_in_moz_document2061);
@@ -8148,7 +8162,7 @@
 
 
 	// $ANTLR start "moz_document_function"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:508:1: moz_document_function : ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:508:1: moz_document_function : ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP );
 	public final void moz_document_function() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "moz_document_function");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -8156,10 +8170,10 @@
 		dbg.location(508, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:509:2: ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:509:2: ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(509,2);
 			if ( (input.LA(1) >= MOZ_DOMAIN && input.LA(1) <= MOZ_URL_PREFIX)||input.LA(1)==URI ) {
@@ -8198,7 +8212,7 @@
 
 
 	// $ANTLR start "webkitKeyframes"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:514:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:514:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ;
 	public final void webkitKeyframes() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframes");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -8206,14 +8220,14 @@
 		dbg.location(514, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:515:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:515:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:516:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE
 			{
 			dbg.location(516,2);
 			match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes2103); if (state.failed) return;dbg.location(516,23);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:516:23: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:23: ( ws )?
 			int alt103=2;
 			try { dbg.enterSubRule(103);
 			try { dbg.enterDecision(103, decisionCanBacktrack[103]);
@@ -8228,7 +8242,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:516:23: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:23: ws
 					{
 					dbg.location(516,23);
 					pushFollow(FOLLOW_ws_in_webkitKeyframes2105);
@@ -8245,7 +8259,7 @@
 			atRuleId();
 			state._fsp--;
 			if (state.failed) return;dbg.location(516,36);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:516:36: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:36: ( ws )?
 			int alt104=2;
 			try { dbg.enterSubRule(104);
 			try { dbg.enterDecision(104, decisionCanBacktrack[104]);
@@ -8260,7 +8274,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:516:36: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:36: ws
 					{
 					dbg.location(516,36);
 					pushFollow(FOLLOW_ws_in_webkitKeyframes2110);
@@ -8274,7 +8288,7 @@
 			} finally {dbg.exitSubRule(104);}
 			dbg.location(517,2);
 			match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes2114); if (state.failed) return;dbg.location(517,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:517:9: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:517:9: ( ws )?
 			int alt105=2;
 			try { dbg.enterSubRule(105);
 			try { dbg.enterDecision(105, decisionCanBacktrack[105]);
@@ -8289,7 +8303,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:517:9: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:517:9: ws
 					{
 					dbg.location(517,9);
 					pushFollow(FOLLOW_ws_in_webkitKeyframes2116);
@@ -8302,7 +8316,7 @@
 			}
 			} finally {dbg.exitSubRule(105);}
 			dbg.location(518,3);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:518:3: ( webkitKeyframesBlock ( ws )? )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:518:3: ( webkitKeyframesBlock ( ws )? )*
 			try { dbg.enterSubRule(107);
 
 			loop107:
@@ -8321,14 +8335,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:518:5: webkitKeyframesBlock ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:518:5: webkitKeyframesBlock ( ws )?
 					{
 					dbg.location(518,5);
 					pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes2123);
 					webkitKeyframesBlock();
 					state._fsp--;
 					if (state.failed) return;dbg.location(518,26);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:518:26: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:518:26: ( ws )?
 					int alt106=2;
 					try { dbg.enterSubRule(106);
 					try { dbg.enterDecision(106, decisionCanBacktrack[106]);
@@ -8343,7 +8357,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:518:26: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:518:26: ws
 							{
 							dbg.location(518,26);
 							pushFollow(FOLLOW_ws_in_webkitKeyframes2125);
@@ -8391,7 +8405,7 @@
 
 
 	// $ANTLR start "webkitKeyframesBlock"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:522:1: webkitKeyframesBlock : ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:522:1: webkitKeyframesBlock : ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? );
 	public final void webkitKeyframesBlock() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframesBlock");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -8399,7 +8413,7 @@
 		dbg.location(522, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:523:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:523:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? )
 			int alt112=2;
 			try { dbg.enterDecision(112, decisionCanBacktrack[112]);
 
@@ -8425,14 +8439,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:524:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
 					{
 					dbg.location(524,2);
 					pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock2144);
 					webkitKeyframeSelectors();
 					state._fsp--;
 					if (state.failed) return;dbg.location(524,26);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:524:26: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:26: ( ws )?
 					int alt108=2;
 					try { dbg.enterSubRule(108);
 					try { dbg.enterDecision(108, decisionCanBacktrack[108]);
@@ -8447,7 +8461,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:524:26: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:26: ws
 							{
 							dbg.location(524,26);
 							pushFollow(FOLLOW_ws_in_webkitKeyframesBlock2146);
@@ -8461,7 +8475,7 @@
 					} finally {dbg.exitSubRule(108);}
 					dbg.location(525,2);
 					match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock2150); if (state.failed) return;dbg.location(525,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:525:10: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:525:10: ( ws )?
 					int alt109=2;
 					try { dbg.enterSubRule(109);
 					try { dbg.enterDecision(109, decisionCanBacktrack[109]);
@@ -8476,7 +8490,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:525:10: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:525:10: ws
 							{
 							dbg.location(525,10);
 							pushFollow(FOLLOW_ws_in_webkitKeyframesBlock2153);
@@ -8493,7 +8507,7 @@
 					syncToFollow();
 					state._fsp--;
 					if (state.failed) return;dbg.location(526,3);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:526:3: ( declarations )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:526:3: ( declarations )?
 					int alt110=2;
 					try { dbg.enterSubRule(110);
 					try { dbg.enterDecision(110, decisionCanBacktrack[110]);
@@ -8508,7 +8522,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:526:3: declarations
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:526:3: declarations
 							{
 							dbg.location(526,3);
 							pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock2160);
@@ -8527,7 +8541,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:528:11: {...}?{...}? sass_content ( SEMI )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:528:11: {...}?{...}? sass_content ( SEMI )?
 					{
 					dbg.location(528,11);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -8542,7 +8556,7 @@
 					sass_content();
 					state._fsp--;
 					if (state.failed) return;dbg.location(528,61);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:528:61: ( SEMI )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:528:61: ( SEMI )?
 					int alt111=2;
 					try { dbg.enterSubRule(111);
 					try { dbg.enterDecision(111, decisionCanBacktrack[111]);
@@ -8557,7 +8571,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:528:61: SEMI
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:528:61: SEMI
 							{
 							dbg.location(528,61);
 							match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock2183); if (state.failed) return;
@@ -8594,7 +8608,7 @@
 
 
 	// $ANTLR start "webkitKeyframeSelectors"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:531:1: webkitKeyframeSelectors : ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:1: webkitKeyframeSelectors : ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ;
 	public final void webkitKeyframeSelectors() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframeSelectors");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -8602,13 +8616,13 @@
 		dbg.location(531, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:532:2: ( ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:532:2: ( ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
 			{
 			dbg.location(533,2);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
 			int alt113=3;
 			try { dbg.enterSubRule(113);
 			try { dbg.enterDecision(113, decisionCanBacktrack[113]);
@@ -8656,7 +8670,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:4: {...}? IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:4: {...}? IDENT
 					{
 					dbg.location(533,4);
 					if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
@@ -8669,7 +8683,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:39: {...}? IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:39: {...}? IDENT
 					{
 					dbg.location(533,39);
 					if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
@@ -8682,7 +8696,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:72: PERCENTAGE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:72: PERCENTAGE
 					{
 					dbg.location(533,72);
 					match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2210); if (state.failed) return;
@@ -8692,7 +8706,7 @@
 			}
 			} finally {dbg.exitSubRule(113);}
 			dbg.location(533,85);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
 			try { dbg.enterSubRule(117);
 
 			loop117:
@@ -8714,10 +8728,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:87: ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:87: ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE )
 					{
 					dbg.location(533,87);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:87: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:87: ( ws )?
 					int alt114=2;
 					try { dbg.enterSubRule(114);
 					try { dbg.enterDecision(114, decisionCanBacktrack[114]);
@@ -8732,7 +8746,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:87: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:87: ws
 							{
 							dbg.location(533,87);
 							pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors2216);
@@ -8746,7 +8760,7 @@
 					} finally {dbg.exitSubRule(114);}
 					dbg.location(533,91);
 					match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors2219); if (state.failed) return;dbg.location(533,97);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:97: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:97: ( ws )?
 					int alt115=2;
 					try { dbg.enterSubRule(115);
 					try { dbg.enterDecision(115, decisionCanBacktrack[115]);
@@ -8761,7 +8775,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:97: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:97: ws
 							{
 							dbg.location(533,97);
 							pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors2221);
@@ -8774,7 +8788,7 @@
 					}
 					} finally {dbg.exitSubRule(115);}
 					dbg.location(533,101);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
 					int alt116=3;
 					try { dbg.enterSubRule(116);
 					try { dbg.enterDecision(116, decisionCanBacktrack[116]);
@@ -8822,7 +8836,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:103: {...}? IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:103: {...}? IDENT
 							{
 							dbg.location(533,103);
 							if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
@@ -8835,7 +8849,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:138: {...}? IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:138: {...}? IDENT
 							{
 							dbg.location(533,138);
 							if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
@@ -8848,7 +8862,7 @@
 						case 3 :
 							dbg.enterAlt(3);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:533:171: PERCENTAGE
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:171: PERCENTAGE
 							{
 							dbg.location(533,171);
 							match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2238); if (state.failed) return;
@@ -8892,7 +8906,7 @@
 
 
 	// $ANTLR start "page"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:536:1: page : PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:536:1: page : PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE ;
 	public final void page() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "page");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -8900,14 +8914,14 @@
 		dbg.location(536, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:5: ( PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:5: ( PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE
 			{
 			dbg.location(537,7);
 			match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page2257); if (state.failed) return;dbg.location(537,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:16: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:16: ( ws )?
 			int alt118=2;
 			try { dbg.enterSubRule(118);
 			try { dbg.enterDecision(118, decisionCanBacktrack[118]);
@@ -8922,7 +8936,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:16: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:16: ws
 					{
 					dbg.location(537,16);
 					pushFollow(FOLLOW_ws_in_page2259);
@@ -8935,7 +8949,7 @@
 			}
 			} finally {dbg.exitSubRule(118);}
 			dbg.location(537,20);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:20: ( IDENT ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:20: ( IDENT ( ws )? )?
 			int alt120=2;
 			try { dbg.enterSubRule(120);
 			try { dbg.enterDecision(120, decisionCanBacktrack[120]);
@@ -8950,11 +8964,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:22: IDENT ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:22: IDENT ( ws )?
 					{
 					dbg.location(537,22);
 					match(input,IDENT,FOLLOW_IDENT_in_page2264); if (state.failed) return;dbg.location(537,28);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:28: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:28: ( ws )?
 					int alt119=2;
 					try { dbg.enterSubRule(119);
 					try { dbg.enterDecision(119, decisionCanBacktrack[119]);
@@ -8969,7 +8983,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:28: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:28: ws
 							{
 							dbg.location(537,28);
 							pushFollow(FOLLOW_ws_in_page2266);
@@ -8988,7 +9002,7 @@
 			}
 			} finally {dbg.exitSubRule(120);}
 			dbg.location(537,35);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:35: ( pseudoPage ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:35: ( pseudoPage ( ws )? )?
 			int alt122=2;
 			try { dbg.enterSubRule(122);
 			try { dbg.enterDecision(122, decisionCanBacktrack[122]);
@@ -9003,14 +9017,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:36: pseudoPage ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:36: pseudoPage ( ws )?
 					{
 					dbg.location(537,36);
 					pushFollow(FOLLOW_pseudoPage_in_page2273);
 					pseudoPage();
 					state._fsp--;
 					if (state.failed) return;dbg.location(537,47);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:47: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:47: ( ws )?
 					int alt121=2;
 					try { dbg.enterSubRule(121);
 					try { dbg.enterDecision(121, decisionCanBacktrack[121]);
@@ -9025,7 +9039,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:537:47: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:47: ws
 							{
 							dbg.location(537,47);
 							pushFollow(FOLLOW_ws_in_page2275);
@@ -9045,7 +9059,7 @@
 			} finally {dbg.exitSubRule(122);}
 			dbg.location(538,9);
 			match(input,LBRACE,FOLLOW_LBRACE_in_page2288); if (state.failed) return;dbg.location(538,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:538:16: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:538:16: ( ws )?
 			int alt123=2;
 			try { dbg.enterSubRule(123);
 			try { dbg.enterDecision(123, decisionCanBacktrack[123]);
@@ -9060,7 +9074,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:538:16: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:538:16: ws
 					{
 					dbg.location(538,16);
 					pushFollow(FOLLOW_ws_in_page2290);
@@ -9073,7 +9087,7 @@
 			}
 			} finally {dbg.exitSubRule(123);}
 			dbg.location(541,13);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:13: ( ( propertyDeclaration | margin ) ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:13: ( ( propertyDeclaration | margin ) ( ws )? )?
 			int alt126=2;
 			try { dbg.enterSubRule(126);
 			try { dbg.enterDecision(126, decisionCanBacktrack[126]);
@@ -9088,10 +9102,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:14: ( propertyDeclaration | margin ) ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:14: ( propertyDeclaration | margin ) ( ws )?
 					{
 					dbg.location(541,14);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:14: ( propertyDeclaration | margin )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:14: ( propertyDeclaration | margin )
 					int alt124=2;
 					try { dbg.enterSubRule(124);
 					try { dbg.enterDecision(124, decisionCanBacktrack[124]);
@@ -9110,7 +9124,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:15: propertyDeclaration
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:15: propertyDeclaration
 							{
 							dbg.location(541,15);
 							pushFollow(FOLLOW_propertyDeclaration_in_page2333);
@@ -9122,7 +9136,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:35: margin
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:35: margin
 							{
 							dbg.location(541,35);
 							pushFollow(FOLLOW_margin_in_page2335);
@@ -9135,7 +9149,7 @@
 					}
 					} finally {dbg.exitSubRule(124);}
 					dbg.location(541,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:43: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:43: ( ws )?
 					int alt125=2;
 					try { dbg.enterSubRule(125);
 					try { dbg.enterDecision(125, decisionCanBacktrack[125]);
@@ -9150,7 +9164,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:43: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:43: ws
 							{
 							dbg.location(541,43);
 							pushFollow(FOLLOW_ws_in_page2338);
@@ -9169,7 +9183,7 @@
 			}
 			} finally {dbg.exitSubRule(126);}
 			dbg.location(541,49);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:49: ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:49: ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )*
 			try { dbg.enterSubRule(131);
 
 			loop131:
@@ -9188,11 +9202,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:50: SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:50: SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )?
 					{
 					dbg.location(541,50);
 					match(input,SEMI,FOLLOW_SEMI_in_page2344); if (state.failed) return;dbg.location(541,55);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:55: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:55: ( ws )?
 					int alt127=2;
 					try { dbg.enterSubRule(127);
 					try { dbg.enterDecision(127, decisionCanBacktrack[127]);
@@ -9207,7 +9221,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:55: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:55: ws
 							{
 							dbg.location(541,55);
 							pushFollow(FOLLOW_ws_in_page2346);
@@ -9220,7 +9234,7 @@
 					}
 					} finally {dbg.exitSubRule(127);}
 					dbg.location(541,59);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:59: ( ( propertyDeclaration | margin ) ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:59: ( ( propertyDeclaration | margin ) ( ws )? )?
 					int alt130=2;
 					try { dbg.enterSubRule(130);
 					try { dbg.enterDecision(130, decisionCanBacktrack[130]);
@@ -9235,10 +9249,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:60: ( propertyDeclaration | margin ) ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:60: ( propertyDeclaration | margin ) ( ws )?
 							{
 							dbg.location(541,60);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:60: ( propertyDeclaration | margin )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:60: ( propertyDeclaration | margin )
 							int alt128=2;
 							try { dbg.enterSubRule(128);
 							try { dbg.enterDecision(128, decisionCanBacktrack[128]);
@@ -9257,7 +9271,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:61: propertyDeclaration
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:61: propertyDeclaration
 									{
 									dbg.location(541,61);
 									pushFollow(FOLLOW_propertyDeclaration_in_page2351);
@@ -9269,7 +9283,7 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:81: margin
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:81: margin
 									{
 									dbg.location(541,81);
 									pushFollow(FOLLOW_margin_in_page2353);
@@ -9282,7 +9296,7 @@
 							}
 							} finally {dbg.exitSubRule(128);}
 							dbg.location(541,89);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:89: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:89: ( ws )?
 							int alt129=2;
 							try { dbg.enterSubRule(129);
 							try { dbg.enterDecision(129, decisionCanBacktrack[129]);
@@ -9297,7 +9311,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:541:89: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:541:89: ws
 									{
 									dbg.location(541,89);
 									pushFollow(FOLLOW_ws_in_page2356);
@@ -9351,7 +9365,7 @@
 
 
 	// $ANTLR start "counterStyle"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:545:1: counterStyle : COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:1: counterStyle : COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
 	public final void counterStyle() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "counterStyle");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9359,14 +9373,14 @@
 		dbg.location(545, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:5: ( COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:5: ( COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
 			{
 			dbg.location(546,7);
 			match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle2388); if (state.failed) return;dbg.location(546,25);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:25: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:25: ( ws )?
 			int alt132=2;
 			try { dbg.enterSubRule(132);
 			try { dbg.enterDecision(132, decisionCanBacktrack[132]);
@@ -9381,7 +9395,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:25: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:25: ws
 					{
 					dbg.location(546,25);
 					pushFollow(FOLLOW_ws_in_counterStyle2390);
@@ -9395,7 +9409,7 @@
 			} finally {dbg.exitSubRule(132);}
 			dbg.location(546,29);
 			match(input,IDENT,FOLLOW_IDENT_in_counterStyle2393); if (state.failed) return;dbg.location(546,35);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:35: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:35: ( ws )?
 			int alt133=2;
 			try { dbg.enterSubRule(133);
 			try { dbg.enterDecision(133, decisionCanBacktrack[133]);
@@ -9410,7 +9424,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:546:35: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:35: ws
 					{
 					dbg.location(546,35);
 					pushFollow(FOLLOW_ws_in_counterStyle2395);
@@ -9424,7 +9438,7 @@
 			} finally {dbg.exitSubRule(133);}
 			dbg.location(547,9);
 			match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle2406); if (state.failed) return;dbg.location(547,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:547:16: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:16: ( ws )?
 			int alt134=2;
 			try { dbg.enterSubRule(134);
 			try { dbg.enterDecision(134, decisionCanBacktrack[134]);
@@ -9439,7 +9453,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:547:16: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:16: ws
 					{
 					dbg.location(547,16);
 					pushFollow(FOLLOW_ws_in_counterStyle2408);
@@ -9456,7 +9470,7 @@
 			syncToDeclarationsRule();
 			state._fsp--;
 			if (state.failed) return;dbg.location(548,3);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:548:3: ( declarations )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:548:3: ( declarations )?
 			int alt135=2;
 			try { dbg.enterSubRule(135);
 			try { dbg.enterDecision(135, decisionCanBacktrack[135]);
@@ -9471,7 +9485,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:548:3: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:548:3: declarations
 					{
 					dbg.location(548,3);
 					pushFollow(FOLLOW_declarations_in_counterStyle2415);
@@ -9510,7 +9524,7 @@
 
 
 	// $ANTLR start "fontFace"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:552:1: fontFace : FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:552:1: fontFace : FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
 	public final void fontFace() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "fontFace");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9518,14 +9532,14 @@
 		dbg.location(552, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:553:5: ( FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:5: ( FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:553:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
 			{
 			dbg.location(553,7);
 			match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace2443); if (state.failed) return;dbg.location(553,21);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:553:21: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:21: ( ws )?
 			int alt136=2;
 			try { dbg.enterSubRule(136);
 			try { dbg.enterDecision(136, decisionCanBacktrack[136]);
@@ -9540,7 +9554,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:553:21: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:21: ws
 					{
 					dbg.location(553,21);
 					pushFollow(FOLLOW_ws_in_fontFace2445);
@@ -9554,7 +9568,7 @@
 			} finally {dbg.exitSubRule(136);}
 			dbg.location(554,9);
 			match(input,LBRACE,FOLLOW_LBRACE_in_fontFace2456); if (state.failed) return;dbg.location(554,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:554:16: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:554:16: ( ws )?
 			int alt137=2;
 			try { dbg.enterSubRule(137);
 			try { dbg.enterDecision(137, decisionCanBacktrack[137]);
@@ -9569,7 +9583,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:554:16: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:554:16: ws
 					{
 					dbg.location(554,16);
 					pushFollow(FOLLOW_ws_in_fontFace2458);
@@ -9586,7 +9600,7 @@
 			syncToDeclarationsRule();
 			state._fsp--;
 			if (state.failed) return;dbg.location(555,3);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:555:3: ( declarations )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:555:3: ( declarations )?
 			int alt138=2;
 			try { dbg.enterSubRule(138);
 			try { dbg.enterDecision(138, decisionCanBacktrack[138]);
@@ -9601,7 +9615,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:555:3: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:555:3: declarations
 					{
 					dbg.location(555,3);
 					pushFollow(FOLLOW_declarations_in_fontFace2465);
@@ -9640,7 +9654,7 @@
 
 
 	// $ANTLR start "margin"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:559:1: margin : margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:559:1: margin : margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
 	public final void margin() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "margin");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9648,17 +9662,17 @@
 		dbg.location(559, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:2: ( margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:2: ( margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
 			{
 			dbg.location(560,4);
 			pushFollow(FOLLOW_margin_sym_in_margin2490);
 			margin_sym();
 			state._fsp--;
 			if (state.failed) return;dbg.location(560,15);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:15: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:15: ( ws )?
 			int alt139=2;
 			try { dbg.enterSubRule(139);
 			try { dbg.enterDecision(139, decisionCanBacktrack[139]);
@@ -9673,7 +9687,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:15: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:15: ws
 					{
 					dbg.location(560,15);
 					pushFollow(FOLLOW_ws_in_margin2492);
@@ -9687,7 +9701,7 @@
 			} finally {dbg.exitSubRule(139);}
 			dbg.location(560,19);
 			match(input,LBRACE,FOLLOW_LBRACE_in_margin2495); if (state.failed) return;dbg.location(560,26);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:26: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:26: ( ws )?
 			int alt140=2;
 			try { dbg.enterSubRule(140);
 			try { dbg.enterDecision(140, decisionCanBacktrack[140]);
@@ -9702,7 +9716,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:26: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:26: ws
 					{
 					dbg.location(560,26);
 					pushFollow(FOLLOW_ws_in_margin2497);
@@ -9719,7 +9733,7 @@
 			syncToDeclarationsRule();
 			state._fsp--;
 			if (state.failed) return;dbg.location(560,53);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:53: ( declarations )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:53: ( declarations )?
 			int alt141=2;
 			try { dbg.enterSubRule(141);
 			try { dbg.enterDecision(141, decisionCanBacktrack[141]);
@@ -9734,7 +9748,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:560:53: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:53: declarations
 					{
 					dbg.location(560,53);
 					pushFollow(FOLLOW_declarations_in_margin2502);
@@ -9773,7 +9787,7 @@
 
 
 	// $ANTLR start "margin_sym"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:563:1: margin_sym : ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:563:1: margin_sym : ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM );
 	public final void margin_sym() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "margin_sym");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9781,10 +9795,10 @@
 		dbg.location(563, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:564:2: ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:564:2: ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(564,2);
 			if ( (input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM) ) {
@@ -9823,7 +9837,7 @@
 
 
 	// $ANTLR start "pseudoPage"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:583:1: pseudoPage : COLON IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:583:1: pseudoPage : COLON IDENT ;
 	public final void pseudoPage() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "pseudoPage");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9831,10 +9845,10 @@
 		dbg.location(583, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:584:5: ( COLON IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:584:5: ( COLON IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:584:7: COLON IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:584:7: COLON IDENT
 			{
 			dbg.location(584,7);
 			match(input,COLON,FOLLOW_COLON_in_pseudoPage2714); if (state.failed) return;dbg.location(584,13);
@@ -9864,7 +9878,7 @@
 
 
 	// $ANTLR start "operator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:587:1: operator : ( SOLIDUS | COMMA );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:587:1: operator : ( SOLIDUS | COMMA );
 	public final void operator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "operator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9872,10 +9886,10 @@
 		dbg.location(587, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:588:5: ( SOLIDUS | COMMA )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:588:5: ( SOLIDUS | COMMA )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(588,5);
 			if ( input.LA(1)==COMMA||input.LA(1)==SOLIDUS ) {
@@ -9914,7 +9928,7 @@
 
 
 	// $ANTLR start "unaryOperator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:592:1: unaryOperator : ( MINUS | PLUS );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:592:1: unaryOperator : ( MINUS | PLUS );
 	public final void unaryOperator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "unaryOperator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9922,10 +9936,10 @@
 		dbg.location(592, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:593:5: ( MINUS | PLUS )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:593:5: ( MINUS | PLUS )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(593,5);
 			if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
@@ -9964,7 +9978,7 @@
 
 
 	// $ANTLR start "property"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:597:1: property : ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:597:1: property : ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable );
 	public final void property() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "property");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -9972,7 +9986,7 @@
 		dbg.location(597, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:598:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:598:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable )
 			int alt142=6;
 			try { dbg.enterDecision(142, decisionCanBacktrack[142]);
 
@@ -10117,7 +10131,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:602:5: {...}? sass_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:602:5: {...}? sass_selector_interpolation_exp
 					{
 					dbg.location(602,5);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -10133,7 +10147,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:603:7: {...}? less_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:603:7: {...}? less_selector_interpolation_exp
 					{
 					dbg.location(603,7);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -10149,7 +10163,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:604:7: VARIABLE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:604:7: VARIABLE
 					{
 					dbg.location(604,7);
 					match(input,VARIABLE,FOLLOW_VARIABLE_in_property2818); if (state.failed) return;
@@ -10158,7 +10172,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:605:7: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:605:7: IDENT
 					{
 					dbg.location(605,7);
 					match(input,IDENT,FOLLOW_IDENT_in_property2826); if (state.failed) return;
@@ -10167,7 +10181,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:606:7: GEN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:606:7: GEN
 					{
 					dbg.location(606,7);
 					match(input,GEN,FOLLOW_GEN_in_property2834); if (state.failed) return;
@@ -10176,7 +10190,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:607:7: {...}? cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:607:7: {...}? cp_variable
 					{
 					dbg.location(607,7);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -10217,7 +10231,7 @@
 
 
 	// $ANTLR start "sass_map"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:614:1: sass_map : sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:614:1: sass_map : sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ;
 	public final void sass_map() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_map");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -10225,10 +10239,10 @@
 		dbg.location(614, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:615:5: ( sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:615:5: ( sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:616:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
 			{
 			dbg.location(616,5);
 			pushFollow(FOLLOW_sass_map_name_in_sass_map2871);
@@ -10236,7 +10250,7 @@
 			state._fsp--;
 			if (state.failed) return;dbg.location(616,19);
 			match(input,COLON,FOLLOW_COLON_in_sass_map2873); if (state.failed) return;dbg.location(616,25);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:616:25: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:25: ( ws )?
 			int alt143=2;
 			try { dbg.enterSubRule(143);
 			try { dbg.enterDecision(143, decisionCanBacktrack[143]);
@@ -10251,7 +10265,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:616:25: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:25: ws
 					{
 					dbg.location(616,25);
 					pushFollow(FOLLOW_ws_in_sass_map2875);
@@ -10265,7 +10279,7 @@
 			} finally {dbg.exitSubRule(143);}
 			dbg.location(616,29);
 			match(input,LPAREN,FOLLOW_LPAREN_in_sass_map2878); if (state.failed) return;dbg.location(616,36);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:616:36: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:36: ( ws )?
 			int alt144=2;
 			try { dbg.enterSubRule(144);
 			try { dbg.enterDecision(144, decisionCanBacktrack[144]);
@@ -10280,7 +10294,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:616:36: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:36: ws
 					{
 					dbg.location(616,36);
 					pushFollow(FOLLOW_ws_in_sass_map2880);
@@ -10297,7 +10311,7 @@
 			syncToFollow();
 			state._fsp--;
 			if (state.failed) return;dbg.location(618,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:618:9: ( sass_map_pairs )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:9: ( sass_map_pairs )?
 			int alt145=2;
 			try { dbg.enterSubRule(145);
 			try { dbg.enterDecision(145, decisionCanBacktrack[145]);
@@ -10312,7 +10326,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:618:9: sass_map_pairs
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:9: sass_map_pairs
 					{
 					dbg.location(618,9);
 					pushFollow(FOLLOW_sass_map_pairs_in_sass_map2902);
@@ -10326,7 +10340,7 @@
 			} finally {dbg.exitSubRule(145);}
 			dbg.location(619,5);
 			match(input,RPAREN,FOLLOW_RPAREN_in_sass_map2909); if (state.failed) return;dbg.location(619,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
 			try { dbg.enterSubRule(148);
 
 			loop148:
@@ -10348,16 +10362,16 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:13: ( ( ws )? SASS_DEFAULT )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:13: ( ( ws )? SASS_DEFAULT )
 					{
 					dbg.location(619,13);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:13: ( ( ws )? SASS_DEFAULT )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:13: ( ( ws )? SASS_DEFAULT )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:14: ( ws )? SASS_DEFAULT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:14: ( ws )? SASS_DEFAULT
 					{
 					dbg.location(619,14);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:14: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:14: ( ws )?
 					int alt146=2;
 					try { dbg.enterSubRule(146);
 					try { dbg.enterDecision(146, decisionCanBacktrack[146]);
@@ -10372,7 +10386,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:14: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:14: ws
 							{
 							dbg.location(619,14);
 							pushFollow(FOLLOW_ws_in_sass_map2913);
@@ -10393,16 +10407,16 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:34: ( ( ws )? SASS_GLOBAL )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:34: ( ( ws )? SASS_GLOBAL )
 					{
 					dbg.location(619,34);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:34: ( ( ws )? SASS_GLOBAL )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:34: ( ( ws )? SASS_GLOBAL )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:35: ( ws )? SASS_GLOBAL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:35: ( ws )? SASS_GLOBAL
 					{
 					dbg.location(619,35);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:35: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:35: ( ws )?
 					int alt147=2;
 					try { dbg.enterSubRule(147);
 					try { dbg.enterDecision(147, decisionCanBacktrack[147]);
@@ -10417,7 +10431,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:619:35: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:619:35: ws
 							{
 							dbg.location(619,35);
 							pushFollow(FOLLOW_ws_in_sass_map2922);
@@ -10467,7 +10481,7 @@
 
 
 	// $ANTLR start "sass_map_name"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:622:1: sass_map_name : cp_variable ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:622:1: sass_map_name : cp_variable ;
 	public final void sass_map_name() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_map_name");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -10475,10 +10489,10 @@
 		dbg.location(622, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:623:5: ( cp_variable )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:623:5: ( cp_variable )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:624:5: cp_variable
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:624:5: cp_variable
 			{
 			dbg.location(624,5);
 			pushFollow(FOLLOW_cp_variable_in_sass_map_name2949);
@@ -10510,7 +10524,7 @@
 
 
 	// $ANTLR start "sass_map_pairs"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:627:1: sass_map_pairs : ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:1: sass_map_pairs : ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ;
 	public final void sass_map_pairs() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_map_pairs");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -10518,13 +10532,13 @@
 		dbg.location(627, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:628:5: ( ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:628:5: ( ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:629:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:629:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
 			{
 			dbg.location(629,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:629:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:629:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
 			int cnt153=0;
 			try { dbg.enterSubRule(153);
 
@@ -10547,20 +10561,20 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
 					{
 					dbg.location(630,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )?
 					{
 					dbg.location(630,12);
 					pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs2983);
 					sass_map_pair();
 					state._fsp--;
 					if (state.failed) return;dbg.location(630,26);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?
 					int alt150=2;
 					try { dbg.enterSubRule(150);
 					try { dbg.enterDecision(150, decisionCanBacktrack[150]);
@@ -10579,10 +10593,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:27: ( ( ws )? COMMA )=> ( ws )? COMMA
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:27: ( ( ws )? COMMA )=> ( ws )? COMMA
 							{
 							dbg.location(630,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:40: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:40: ( ws )?
 							int alt149=2;
 							try { dbg.enterSubRule(149);
 							try { dbg.enterDecision(149, decisionCanBacktrack[149]);
@@ -10597,7 +10611,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:40: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:40: ws
 									{
 									dbg.location(630,40);
 									pushFollow(FOLLOW_ws_in_sass_map_pairs2993);
@@ -10617,7 +10631,7 @@
 					}
 					} finally {dbg.exitSubRule(150);}
 					dbg.location(630,52);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:52: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:52: ( ws )?
 					int alt151=2;
 					try { dbg.enterSubRule(151);
 					try { dbg.enterDecision(151, decisionCanBacktrack[151]);
@@ -10632,7 +10646,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:52: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:52: ws
 							{
 							dbg.location(630,52);
 							pushFollow(FOLLOW_ws_in_sass_map_pairs3000);
@@ -10652,17 +10666,17 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:632:10: ( COMMA ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:10: ( COMMA ( ws )? )
 					{
 					dbg.location(632,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:632:10: ( COMMA ( ws )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:10: ( COMMA ( ws )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:632:12: COMMA ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:12: COMMA ( ws )?
 					{
 					dbg.location(632,12);
 					match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs3027); if (state.failed) return;dbg.location(632,18);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:632:18: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:18: ( ws )?
 					int alt152=2;
 					try { dbg.enterSubRule(152);
 					try { dbg.enterDecision(152, decisionCanBacktrack[152]);
@@ -10677,7 +10691,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:632:18: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:18: ws
 							{
 							dbg.location(632,18);
 							pushFollow(FOLLOW_ws_in_sass_map_pairs3029);
@@ -10732,7 +10746,7 @@
 
 
 	// $ANTLR start "sass_map_pair"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:636:1: sass_map_pair : ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:636:1: sass_map_pair : ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ;
 	public final void sass_map_pair() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_map_pair");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -10740,13 +10754,13 @@
 		dbg.location(636, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:637:5: ( ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:637:5: ( ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )?
 			{
 			dbg.location(638,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map )
 			int alt156=5;
 			try { dbg.enterSubRule(156);
 			try { dbg.enterDecision(156, decisionCanBacktrack[156]);
@@ -10887,7 +10901,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:10: NUMBER
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:10: NUMBER
 					{
 					dbg.location(638,10);
 					match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair3065); if (state.failed) return;
@@ -10896,17 +10910,17 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:17: ( STRING ( ( ws )? STRING )* )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:17: ( STRING ( ( ws )? STRING )* )
 					{
 					dbg.location(638,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:17: ( STRING ( ( ws )? STRING )* )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:17: ( STRING ( ( ws )? STRING )* )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:18: STRING ( ( ws )? STRING )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:18: STRING ( ( ws )? STRING )*
 					{
 					dbg.location(638,18);
 					match(input,STRING,FOLLOW_STRING_in_sass_map_pair3068); if (state.failed) return;dbg.location(638,25);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:25: ( ( ws )? STRING )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:25: ( ( ws )? STRING )*
 					try { dbg.enterSubRule(155);
 
 					loop155:
@@ -10928,10 +10942,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:26: ( ws )? STRING
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:26: ( ws )? STRING
 							{
 							dbg.location(638,26);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:26: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:26: ( ws )?
 							int alt154=2;
 							try { dbg.enterSubRule(154);
 							try { dbg.enterDecision(154, decisionCanBacktrack[154]);
@@ -10946,7 +10960,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:26: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:26: ws
 									{
 									dbg.location(638,26);
 									pushFollow(FOLLOW_ws_in_sass_map_pair3071);
@@ -10976,13 +10990,13 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:40: ( ( function )=> function )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:40: ( ( function )=> function )
 					{
 					dbg.location(638,40);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:40: ( ( function )=> function )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:40: ( ( function )=> function )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:41: ( function )=> function
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:41: ( function )=> function
 					{
 					dbg.location(638,53);
 					pushFollow(FOLLOW_function_in_sass_map_pair3084);
@@ -10996,7 +11010,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:63: property
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:63: property
 					{
 					dbg.location(638,63);
 					pushFollow(FOLLOW_property_in_sass_map_pair3087);
@@ -11008,7 +11022,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:72: sass_map
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:72: sass_map
 					{
 					dbg.location(638,72);
 					pushFollow(FOLLOW_sass_map_in_sass_map_pair3089);
@@ -11021,7 +11035,7 @@
 			}
 			} finally {dbg.exitSubRule(156);}
 			dbg.location(638,82);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:82: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:82: ( ws )?
 			int alt157=2;
 			try { dbg.enterSubRule(157);
 			try { dbg.enterDecision(157, decisionCanBacktrack[157]);
@@ -11036,7 +11050,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:82: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:82: ws
 					{
 					dbg.location(638,82);
 					pushFollow(FOLLOW_ws_in_sass_map_pair3092);
@@ -11050,7 +11064,7 @@
 			} finally {dbg.exitSubRule(157);}
 			dbg.location(638,86);
 			match(input,COLON,FOLLOW_COLON_in_sass_map_pair3095); if (state.failed) return;dbg.location(638,92);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:92: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:92: ( ws )?
 			int alt158=2;
 			try { dbg.enterSubRule(158);
 			try { dbg.enterDecision(158, decisionCanBacktrack[158]);
@@ -11065,7 +11079,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:92: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:92: ws
 					{
 					dbg.location(638,92);
 					pushFollow(FOLLOW_ws_in_sass_map_pair3097);
@@ -11082,7 +11096,7 @@
 			cp_expression();
 			state._fsp--;
 			if (state.failed) return;dbg.location(638,110);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:110: ( ( ws )? prio )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:110: ( ( ws )? prio )?
 			int alt160=2;
 			try { dbg.enterSubRule(160);
 			try { dbg.enterDecision(160, decisionCanBacktrack[160]);
@@ -11101,10 +11115,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:111: ( ws )? prio
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:111: ( ws )? prio
 					{
 					dbg.location(638,111);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:111: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:111: ( ws )?
 					int alt159=2;
 					try { dbg.enterSubRule(159);
 					try { dbg.enterDecision(159, decisionCanBacktrack[159]);
@@ -11119,7 +11133,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:111: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:111: ws
 							{
 							dbg.location(638,111);
 							pushFollow(FOLLOW_ws_in_sass_map_pair3103);
@@ -11167,7 +11181,7 @@
 
 
 	// $ANTLR start "rule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:641:1: rule : ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:641:1: rule : ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
 	public final void rule() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "rule");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -11175,13 +11189,13 @@
 		dbg.location(641, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:642:5: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:642:5: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:643:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:643:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
 			{
 			dbg.location(643,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:643:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:643:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
 			int alt166=3;
 			try { dbg.enterSubRule(166);
 			try { dbg.enterDecision(166, decisionCanBacktrack[166]);
@@ -11200,17 +11214,17 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:644:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 					{
 					dbg.location(644,13);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:644:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:644:14: SASS_AT_ROOT ( ws selectorsGroup )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:14: SASS_AT_ROOT ( ws selectorsGroup )?
 					{
 					dbg.location(644,14);
 					match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule3148); if (state.failed) return;dbg.location(644,27);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:644:27: ( ws selectorsGroup )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:27: ( ws selectorsGroup )?
 					int alt161=2;
 					try { dbg.enterSubRule(161);
 					try { dbg.enterDecision(161, decisionCanBacktrack[161]);
@@ -11229,7 +11243,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:644:28: ws selectorsGroup
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:28: ws selectorsGroup
 							{
 							dbg.location(644,28);
 							pushFollow(FOLLOW_ws_in_rule3151);
@@ -11253,13 +11267,13 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 					{
 					dbg.location(645,15);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
 					{
 					dbg.location(645,16);
 					match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule3174); if (state.failed) return;dbg.location(645,29);
@@ -11268,7 +11282,7 @@
 					state._fsp--;
 					if (state.failed) return;dbg.location(645,32);
 					match(input,LPAREN,FOLLOW_LPAREN_in_rule3178); if (state.failed) return;dbg.location(645,39);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:39: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:39: ( ws )?
 					int alt162=2;
 					try { dbg.enterSubRule(162);
 					try { dbg.enterDecision(162, decisionCanBacktrack[162]);
@@ -11283,7 +11297,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:39: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:39: ws
 							{
 							dbg.location(645,39);
 							pushFollow(FOLLOW_ws_in_rule3180);
@@ -11301,7 +11315,7 @@
 						throw new FailedPredicateException(input, "rule", "tokenNameEquals(\"without\") || tokenNameEquals(\"with\")");
 					}dbg.location(645,100);
 					match(input,IDENT,FOLLOW_IDENT_in_rule3185); if (state.failed) return;dbg.location(645,128);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:128: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:128: ( ws )?
 					int alt163=2;
 					try { dbg.enterSubRule(163);
 					try { dbg.enterDecision(163, decisionCanBacktrack[163]);
@@ -11316,7 +11330,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:128: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:128: ws
 							{
 							dbg.location(645,128);
 							pushFollow(FOLLOW_ws_in_rule3189);
@@ -11330,7 +11344,7 @@
 					} finally {dbg.exitSubRule(163);}
 					dbg.location(645,132);
 					match(input,COLON,FOLLOW_COLON_in_rule3192); if (state.failed) return;dbg.location(645,138);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:138: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:138: ( ws )?
 					int alt164=2;
 					try { dbg.enterSubRule(164);
 					try { dbg.enterDecision(164, decisionCanBacktrack[164]);
@@ -11345,7 +11359,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:138: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:138: ws
 							{
 							dbg.location(645,138);
 							pushFollow(FOLLOW_ws_in_rule3194);
@@ -11359,7 +11373,7 @@
 					} finally {dbg.exitSubRule(164);}
 					dbg.location(645,142);
 					match(input,IDENT,FOLLOW_IDENT_in_rule3197); if (state.failed) return;dbg.location(645,148);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:148: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:148: ( ws )?
 					int alt165=2;
 					try { dbg.enterSubRule(165);
 					try { dbg.enterDecision(165, decisionCanBacktrack[165]);
@@ -11374,7 +11388,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:645:148: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:645:148: ws
 							{
 							dbg.location(645,148);
 							pushFollow(FOLLOW_ws_in_rule3199);
@@ -11395,7 +11409,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:646:15: selectorsGroup
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:646:15: selectorsGroup
 					{
 					dbg.location(646,15);
 					pushFollow(FOLLOW_selectorsGroup_in_rule3220);
@@ -11408,7 +11422,7 @@
 			}
 			} finally {dbg.exitSubRule(166);}
 			dbg.location(647,11);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:647:11: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:11: ( ws )?
 			int alt167=2;
 			try { dbg.enterSubRule(167);
 			try { dbg.enterDecision(167, decisionCanBacktrack[167]);
@@ -11423,7 +11437,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:647:11: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:11: ws
 					{
 					dbg.location(647,11);
 					pushFollow(FOLLOW_ws_in_rule3232);
@@ -11437,7 +11451,7 @@
 			} finally {dbg.exitSubRule(167);}
 			dbg.location(648,5);
 			match(input,LBRACE,FOLLOW_LBRACE_in_rule3239); if (state.failed) return;dbg.location(648,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:648:12: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:648:12: ( ws )?
 			int alt168=2;
 			try { dbg.enterSubRule(168);
 			try { dbg.enterDecision(168, decisionCanBacktrack[168]);
@@ -11452,7 +11466,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:648:12: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:648:12: ws
 					{
 					dbg.location(648,12);
 					pushFollow(FOLLOW_ws_in_rule3241);
@@ -11469,7 +11483,7 @@
 			syncToFollow();
 			state._fsp--;
 			if (state.failed) return;dbg.location(649,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:649:9: ( declarations )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:649:9: ( declarations )?
 			int alt169=2;
 			try { dbg.enterSubRule(169);
 			try { dbg.enterDecision(169, decisionCanBacktrack[169]);
@@ -11484,7 +11498,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:649:9: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:649:9: declarations
 					{
 					dbg.location(649,9);
 					pushFollow(FOLLOW_declarations_in_rule3254);
@@ -11527,7 +11541,7 @@
 
 
 	// $ANTLR start "declarations"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:658:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );
 	public final void declarations() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "declarations");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -11535,7 +11549,7 @@
 		dbg.location(658, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:659:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:659:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ )
 			int alt183=2;
 			try { dbg.enterDecision(183, decisionCanBacktrack[183]);
 
@@ -11553,10 +11567,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:8: ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:8: ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
 					{
 					dbg.location(660,8);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:8: ( SEMI ( ws )? )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:8: ( SEMI ( ws )? )*
 					try { dbg.enterSubRule(171);
 
 					loop171:
@@ -11575,11 +11589,11 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:9: SEMI ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:9: SEMI ( ws )?
 							{
 							dbg.location(660,9);
 							match(input,SEMI,FOLLOW_SEMI_in_declarations3295); if (state.failed) return;dbg.location(660,14);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:14: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:14: ( ws )?
 							int alt170=2;
 							try { dbg.enterSubRule(170);
 							try { dbg.enterDecision(170, decisionCanBacktrack[170]);
@@ -11594,7 +11608,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:14: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:14: ws
 									{
 									dbg.location(660,14);
 									pushFollow(FOLLOW_ws_in_declarations3297);
@@ -11620,7 +11634,7 @@
 					declaration();
 					state._fsp--;
 					if (state.failed) return;dbg.location(660,33);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*
 					try { dbg.enterSubRule(176);
 
 					loop176:
@@ -11642,10 +11656,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration
 							{
 							dbg.location(660,34);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )
 							int alt175=2;
 							try { dbg.enterSubRule(175);
 							try { dbg.enterDecision(175, decisionCanBacktrack[175]);
@@ -11664,16 +11678,16 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:35: ( ( ws )? ( SEMI ( ws )? )+ )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:35: ( ( ws )? ( SEMI ( ws )? )+ )
 									{
 									dbg.location(660,35);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:35: ( ( ws )? ( SEMI ( ws )? )+ )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:35: ( ( ws )? ( SEMI ( ws )? )+ )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:36: ( ws )? ( SEMI ( ws )? )+
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:36: ( ws )? ( SEMI ( ws )? )+
 									{
 									dbg.location(660,36);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:36: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:36: ( ws )?
 									int alt172=2;
 									try { dbg.enterSubRule(172);
 									try { dbg.enterDecision(172, decisionCanBacktrack[172]);
@@ -11688,7 +11702,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:36: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:36: ws
 											{
 											dbg.location(660,36);
 											pushFollow(FOLLOW_ws_in_declarations3308);
@@ -11701,7 +11715,7 @@
 									}
 									} finally {dbg.exitSubRule(172);}
 									dbg.location(660,40);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:40: ( SEMI ( ws )? )+
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:40: ( SEMI ( ws )? )+
 									int cnt174=0;
 									try { dbg.enterSubRule(174);
 
@@ -11721,11 +11735,11 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:41: SEMI ( ws )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:41: SEMI ( ws )?
 											{
 											dbg.location(660,41);
 											match(input,SEMI,FOLLOW_SEMI_in_declarations3312); if (state.failed) return;dbg.location(660,46);
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:46: ( ws )?
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:46: ( ws )?
 											int alt173=2;
 											try { dbg.enterSubRule(173);
 											try { dbg.enterDecision(173, decisionCanBacktrack[173]);
@@ -11740,7 +11754,7 @@
 												case 1 :
 													dbg.enterAlt(1);
 
-													// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:46: ws
+													// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:46: ws
 													{
 													dbg.location(660,46);
 													pushFollow(FOLLOW_ws_in_declarations3314);
@@ -11775,7 +11789,7 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:53: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:53: ws
 									{
 									dbg.location(660,53);
 									pushFollow(FOLLOW_ws_in_declarations3320);
@@ -11801,7 +11815,7 @@
 					}
 					} finally {dbg.exitSubRule(176);}
 					dbg.location(660,71);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
 					int alt180=3;
 					try { dbg.enterSubRule(180);
 					try { dbg.enterDecision(180, decisionCanBacktrack[180]);
@@ -11820,16 +11834,16 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:72: ( ( ws )? ( SEMI ( ws )? )+ )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:72: ( ( ws )? ( SEMI ( ws )? )+ )
 							{
 							dbg.location(660,72);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:72: ( ( ws )? ( SEMI ( ws )? )+ )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:72: ( ( ws )? ( SEMI ( ws )? )+ )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:73: ( ws )? ( SEMI ( ws )? )+
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:73: ( ws )? ( SEMI ( ws )? )+
 							{
 							dbg.location(660,73);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:73: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:73: ( ws )?
 							int alt177=2;
 							try { dbg.enterSubRule(177);
 							try { dbg.enterDecision(177, decisionCanBacktrack[177]);
@@ -11844,7 +11858,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:73: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:73: ws
 									{
 									dbg.location(660,73);
 									pushFollow(FOLLOW_ws_in_declarations3329);
@@ -11857,7 +11871,7 @@
 							}
 							} finally {dbg.exitSubRule(177);}
 							dbg.location(660,77);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:77: ( SEMI ( ws )? )+
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:77: ( SEMI ( ws )? )+
 							int cnt179=0;
 							try { dbg.enterSubRule(179);
 
@@ -11877,11 +11891,11 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:78: SEMI ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:78: SEMI ( ws )?
 									{
 									dbg.location(660,78);
 									match(input,SEMI,FOLLOW_SEMI_in_declarations3333); if (state.failed) return;dbg.location(660,83);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:83: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:83: ( ws )?
 									int alt178=2;
 									try { dbg.enterSubRule(178);
 									try { dbg.enterDecision(178, decisionCanBacktrack[178]);
@@ -11896,7 +11910,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:83: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:83: ws
 											{
 											dbg.location(660,83);
 											pushFollow(FOLLOW_ws_in_declarations3335);
@@ -11931,7 +11945,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:660:90: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:90: ws
 							{
 							dbg.location(660,90);
 							pushFollow(FOLLOW_ws_in_declarations3341);
@@ -11949,10 +11963,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:661:8: ( SEMI ( ws )? )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:661:8: ( SEMI ( ws )? )+
 					{
 					dbg.location(661,8);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:661:8: ( SEMI ( ws )? )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:661:8: ( SEMI ( ws )? )+
 					int cnt182=0;
 					try { dbg.enterSubRule(182);
 
@@ -11972,11 +11986,11 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:661:9: SEMI ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:661:9: SEMI ( ws )?
 							{
 							dbg.location(661,9);
 							match(input,SEMI,FOLLOW_SEMI_in_declarations3353); if (state.failed) return;dbg.location(661,14);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:661:14: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:661:14: ( ws )?
 							int alt181=2;
 							try { dbg.enterSubRule(181);
 							try { dbg.enterDecision(181, decisionCanBacktrack[181]);
@@ -11991,7 +12005,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:661:14: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:661:14: ws
 									{
 									dbg.location(661,14);
 									pushFollow(FOLLOW_ws_in_declarations3355);
@@ -12046,7 +12060,7 @@
 
 
 	// $ANTLR start "declaration"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:664:1: declaration : ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:664:1: declaration : ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN );
 	public final void declaration() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "declaration");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -12054,7 +12068,7 @@
 		dbg.location(664, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:665:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:665:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN )
 			int alt188=18;
 			try { dbg.enterDecision(188, decisionCanBacktrack[188]);
 
@@ -13140,7 +13154,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:666:5: ( cp_variable_declaration )=> cp_variable_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:5: ( cp_variable_declaration )=> cp_variable_declaration
 					{
 					dbg.location(666,32);
 					pushFollow(FOLLOW_cp_variable_declaration_in_declaration3384);
@@ -13152,7 +13166,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:667:7: ( sass_map )=> sass_map
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:667:7: ( sass_map )=> sass_map
 					{
 					dbg.location(667,20);
 					pushFollow(FOLLOW_sass_map_in_declaration3397);
@@ -13164,7 +13178,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:668:7: ( sass_nested_properties )=> sass_nested_properties
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:668:7: ( sass_nested_properties )=> sass_nested_properties
 					{
 					dbg.location(668,33);
 					pushFollow(FOLLOW_sass_nested_properties_in_declaration3409);
@@ -13176,7 +13190,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
 					{
 					dbg.location(669,145);
 					pushFollow(FOLLOW_rule_in_declaration3472);
@@ -13188,7 +13202,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:670:7: ( propertyDeclaration )=> propertyDeclaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:670:7: ( propertyDeclaration )=> propertyDeclaration
 					{
 					dbg.location(670,30);
 					pushFollow(FOLLOW_propertyDeclaration_in_declaration3484);
@@ -13200,7 +13214,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration
 					{
 					dbg.location(672,67);
 					pushFollow(FOLLOW_propertyDeclaration_in_declaration3523);
@@ -13212,7 +13226,7 @@
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:673:7: ( cp_mixin_declaration )=> cp_mixin_declaration
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:7: ( cp_mixin_declaration )=> cp_mixin_declaration
 					{
 					dbg.location(673,31);
 					pushFollow(FOLLOW_cp_mixin_declaration_in_declaration3535);
@@ -13224,14 +13238,14 @@
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
 					{
 					dbg.location(674,25);
 					pushFollow(FOLLOW_cp_mixin_call_in_declaration3548);
 					cp_mixin_call();
 					state._fsp--;
 					if (state.failed) return;dbg.location(674,39);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:39: ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:39: ( ( ws )? IMPORTANT_SYM )?
 					int alt185=2;
 					try { dbg.enterSubRule(185);
 					try { dbg.enterDecision(185, decisionCanBacktrack[185]);
@@ -13250,10 +13264,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:40: ( ws )? IMPORTANT_SYM
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:40: ( ws )? IMPORTANT_SYM
 							{
 							dbg.location(674,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:40: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:40: ( ws )?
 							int alt184=2;
 							try { dbg.enterSubRule(184);
 							try { dbg.enterDecision(184, decisionCanBacktrack[184]);
@@ -13268,7 +13282,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:40: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:40: ws
 									{
 									dbg.location(674,40);
 									pushFollow(FOLLOW_ws_in_declaration3551);
@@ -13293,7 +13307,7 @@
 				case 9 :
 					dbg.enterAlt(9);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
 					{
 					dbg.location(675,25);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13304,7 +13318,7 @@
 					cp_mixin_call();
 					state._fsp--;
 					if (state.failed) return;dbg.location(675,57);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:57: ( ( ws )? IMPORTANT_SYM )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:57: ( ( ws )? IMPORTANT_SYM )?
 					int alt187=2;
 					try { dbg.enterSubRule(187);
 					try { dbg.enterDecision(187, decisionCanBacktrack[187]);
@@ -13323,10 +13337,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:58: ( ws )? IMPORTANT_SYM
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:58: ( ws )? IMPORTANT_SYM
 							{
 							dbg.location(675,58);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:58: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:58: ( ws )?
 							int alt186=2;
 							try { dbg.enterSubRule(186);
 							try { dbg.enterDecision(186, decisionCanBacktrack[186]);
@@ -13341,7 +13355,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:58: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:58: ws
 									{
 									dbg.location(675,58);
 									pushFollow(FOLLOW_ws_in_declaration3574);
@@ -13366,7 +13380,7 @@
 				case 10 :
 					dbg.enterAlt(10);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:676:7: {...}? at_rule
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:676:7: {...}? at_rule
 					{
 					dbg.location(676,7);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -13382,7 +13396,7 @@
 				case 11 :
 					dbg.enterAlt(11);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:677:7: {...}? sass_control
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:677:7: {...}? sass_control
 					{
 					dbg.location(677,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13398,7 +13412,7 @@
 				case 12 :
 					dbg.enterAlt(12);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:678:7: {...}? sass_extend
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:678:7: {...}? sass_extend
 					{
 					dbg.location(678,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13414,7 +13428,7 @@
 				case 13 :
 					dbg.enterAlt(13);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:679:7: {...}? sass_debug
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:679:7: {...}? sass_debug
 					{
 					dbg.location(679,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13430,7 +13444,7 @@
 				case 14 :
 					dbg.enterAlt(14);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:680:7: {...}? sass_content
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:680:7: {...}? sass_content
 					{
 					dbg.location(680,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13446,7 +13460,7 @@
 				case 15 :
 					dbg.enterAlt(15);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:681:7: {...}? sass_function_return
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:681:7: {...}? sass_function_return
 					{
 					dbg.location(681,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13462,7 +13476,7 @@
 				case 16 :
 					dbg.enterAlt(16);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:682:7: {...}? sass_error
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:682:7: {...}? sass_error
 					{
 					dbg.location(682,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13478,7 +13492,7 @@
 				case 17 :
 					dbg.enterAlt(17);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:683:7: {...}? importItem
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:683:7: {...}? importItem
 					{
 					dbg.location(683,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13494,7 +13508,7 @@
 				case 18 :
 					dbg.enterAlt(18);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:684:7: GEN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:684:7: GEN
 					{
 					dbg.location(684,7);
 					match(input,GEN,FOLLOW_GEN_in_declaration3671); if (state.failed) return;
@@ -13528,7 +13542,7 @@
 
 
 	// $ANTLR start "selectorsGroup"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:691:1: selectorsGroup : selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:691:1: selectorsGroup : selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ;
 	public final void selectorsGroup() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "selectorsGroup");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -13536,17 +13550,17 @@
 		dbg.location(691, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:692:5: ( selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:692:5: ( selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )?
 			{
 			dbg.location(693,9);
 			pushFollow(FOLLOW_selector_in_selectorsGroup3705);
 			selector();
 			state._fsp--;
 			if (state.failed) return;dbg.location(693,18);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:18: ( ( ws )? COMMA ( ws )? selector )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:18: ( ( ws )? COMMA ( ws )? selector )*
 			try { dbg.enterSubRule(191);
 
 			loop191:
@@ -13568,10 +13582,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:19: ( ws )? COMMA ( ws )? selector
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:19: ( ws )? COMMA ( ws )? selector
 					{
 					dbg.location(693,19);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:19: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:19: ( ws )?
 					int alt189=2;
 					try { dbg.enterSubRule(189);
 					try { dbg.enterDecision(189, decisionCanBacktrack[189]);
@@ -13586,7 +13600,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:19: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:19: ws
 							{
 							dbg.location(693,19);
 							pushFollow(FOLLOW_ws_in_selectorsGroup3708);
@@ -13600,7 +13614,7 @@
 					} finally {dbg.exitSubRule(189);}
 					dbg.location(693,23);
 					match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup3711); if (state.failed) return;dbg.location(693,29);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:29: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:29: ( ws )?
 					int alt190=2;
 					try { dbg.enterSubRule(190);
 					try { dbg.enterDecision(190, decisionCanBacktrack[190]);
@@ -13615,7 +13629,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:29: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:29: ws
 							{
 							dbg.location(693,29);
 							pushFollow(FOLLOW_ws_in_selectorsGroup3713);
@@ -13641,7 +13655,7 @@
 			}
 			} finally {dbg.exitSubRule(191);}
 			dbg.location(693,44);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:44: ({...}? COMMA )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:44: ({...}? COMMA )?
 			int alt192=2;
 			try { dbg.enterSubRule(192);
 			try { dbg.enterDecision(192, decisionCanBacktrack[192]);
@@ -13656,7 +13670,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:693:45: {...}? COMMA
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:45: {...}? COMMA
 					{
 					dbg.location(693,45);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -13695,7 +13709,7 @@
 
 
 	// $ANTLR start "selector"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:696:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:696:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );
 	public final void selector() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "selector");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -13703,7 +13717,7 @@
 		dbg.location(696, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator )
 			int alt199=2;
 			try { dbg.enterDecision(199, decisionCanBacktrack[199]);
 
@@ -13721,10 +13735,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:8: ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:8: ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
 					{
 					dbg.location(697,8);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:8: ( combinator ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:8: ( combinator ( ws )? )?
 					int alt194=2;
 					try { dbg.enterSubRule(194);
 					try { dbg.enterDecision(194, decisionCanBacktrack[194]);
@@ -13739,14 +13753,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:9: combinator ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:9: combinator ( ws )?
 							{
 							dbg.location(697,9);
 							pushFollow(FOLLOW_combinator_in_selector3744);
 							combinator();
 							state._fsp--;
 							if (state.failed) return;dbg.location(697,20);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:20: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:20: ( ws )?
 							int alt193=2;
 							try { dbg.enterSubRule(193);
 							try { dbg.enterDecision(193, decisionCanBacktrack[193]);
@@ -13761,7 +13775,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:20: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:20: ws
 									{
 									dbg.location(697,20);
 									pushFollow(FOLLOW_ws_in_selector3746);
@@ -13784,7 +13798,7 @@
 					simpleSelectorSequence();
 					state._fsp--;
 					if (state.failed) return;dbg.location(697,49);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
 					try { dbg.enterSubRule(198);
 
 					loop198:
@@ -13806,10 +13820,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:51: ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:51: ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence
 							{
 							dbg.location(697,51);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:51: ( ( ( ws )? combinator ( ws )? ) | ws )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:51: ( ( ( ws )? combinator ( ws )? ) | ws )
 							int alt197=2;
 							try { dbg.enterSubRule(197);
 							try { dbg.enterDecision(197, decisionCanBacktrack[197]);
@@ -13828,16 +13842,16 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:52: ( ( ws )? combinator ( ws )? )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:52: ( ( ws )? combinator ( ws )? )
 									{
 									dbg.location(697,52);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:52: ( ( ws )? combinator ( ws )? )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:52: ( ( ws )? combinator ( ws )? )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:53: ( ws )? combinator ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:53: ( ws )? combinator ( ws )?
 									{
 									dbg.location(697,53);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:53: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:53: ( ws )?
 									int alt195=2;
 									try { dbg.enterSubRule(195);
 									try { dbg.enterDecision(195, decisionCanBacktrack[195]);
@@ -13852,7 +13866,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:53: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:53: ws
 											{
 											dbg.location(697,53);
 											pushFollow(FOLLOW_ws_in_selector3757);
@@ -13869,7 +13883,7 @@
 									combinator();
 									state._fsp--;
 									if (state.failed) return;dbg.location(697,68);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:68: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:68: ( ws )?
 									int alt196=2;
 									try { dbg.enterSubRule(196);
 									try { dbg.enterDecision(196, decisionCanBacktrack[196]);
@@ -13884,7 +13898,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:68: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:68: ws
 											{
 											dbg.location(697,68);
 											pushFollow(FOLLOW_ws_in_selector3762);
@@ -13904,7 +13918,7 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:697:73: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:73: ws
 									{
 									dbg.location(697,73);
 									pushFollow(FOLLOW_ws_in_selector3766);
@@ -13935,7 +13949,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:698:10: {...}? combinator
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:698:10: {...}? combinator
 					{
 					dbg.location(698,10);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -13973,7 +13987,7 @@
 
 
 	// $ANTLR start "combinator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:701:1: combinator : ( PLUS | GREATER | TILDE );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:701:1: combinator : ( PLUS | GREATER | TILDE );
 	public final void combinator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "combinator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -13981,10 +13995,10 @@
 		dbg.location(701, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:702:5: ( PLUS | GREATER | TILDE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:5: ( PLUS | GREATER | TILDE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(702,5);
 			if ( input.LA(1)==GREATER||input.LA(1)==PLUS||input.LA(1)==TILDE ) {
@@ -14023,7 +14037,7 @@
 
 
 	// $ANTLR start "simpleSelectorSequence"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:706:1: simpleSelectorSequence : ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:706:1: simpleSelectorSequence : ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* );
 	public final void simpleSelectorSequence() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "simpleSelectorSequence");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -14031,7 +14045,7 @@
 		dbg.location(706, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:707:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:707:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* )
 			int alt208=2;
 			try { dbg.enterDecision(208, decisionCanBacktrack[208]);
 
@@ -14147,10 +14161,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:708:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:708:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
 					{
 					dbg.location(708,9);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:708:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:708:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
 					int alt200=3;
 					try { dbg.enterSubRule(200);
 					try { dbg.enterDecision(200, decisionCanBacktrack[200]);
@@ -14239,7 +14253,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:708:10: elementSubsequent
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:708:10: elementSubsequent
 							{
 							dbg.location(708,10);
 							pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence3836);
@@ -14251,7 +14265,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:708:30: {...}? sass_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:708:30: {...}? sass_selector_interpolation_exp
 							{
 							dbg.location(708,30);
 							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -14267,7 +14281,7 @@
 						case 3 :
 							dbg.enterAlt(3);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:11: {...}? less_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:11: {...}? less_selector_interpolation_exp
 							{
 							dbg.location(709,11);
 							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -14284,7 +14298,7 @@
 					}
 					} finally {dbg.exitSubRule(200);}
 					dbg.location(709,64);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
 					try { dbg.enterSubRule(204);
 
 					loop204:
@@ -14331,10 +14345,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:65: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:65: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
 							{
 							dbg.location(709,79);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
 							int alt203=2;
 							try { dbg.enterSubRule(203);
 							try { dbg.enterDecision(203, decisionCanBacktrack[203]);
@@ -14353,16 +14367,16 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:80: ( ( ws )? elementSubsequent )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:80: ( ( ws )? elementSubsequent )
 									{
 									dbg.location(709,80);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:80: ( ( ws )? elementSubsequent )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:80: ( ( ws )? elementSubsequent )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:81: ( ws )? elementSubsequent
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:81: ( ws )? elementSubsequent
 									{
 									dbg.location(709,81);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:81: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:81: ( ws )?
 									int alt201=2;
 									try { dbg.enterSubRule(201);
 									try { dbg.enterDecision(201, decisionCanBacktrack[201]);
@@ -14377,7 +14391,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:81: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:81: ws
 											{
 											dbg.location(709,81);
 											pushFollow(FOLLOW_ws_in_simpleSelectorSequence3871);
@@ -14401,20 +14415,20 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
 									{
 									dbg.location(709,105);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
 									{
 									dbg.location(709,106);
 									pushFollow(FOLLOW_ws_in_simpleSelectorSequence3879);
 									ws();
 									state._fsp--;
 									if (state.failed) return;dbg.location(709,109);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
 									int alt202=2;
 									try { dbg.enterSubRule(202);
 									try { dbg.enterDecision(202, decisionCanBacktrack[202]);
@@ -14470,7 +14484,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:110: {...}? sass_selector_interpolation_exp
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:110: {...}? sass_selector_interpolation_exp
 											{
 											dbg.location(709,110);
 											if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -14486,7 +14500,7 @@
 										case 2 :
 											dbg.enterAlt(2);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:162: {...}? less_selector_interpolation_exp
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:162: {...}? less_selector_interpolation_exp
 											{
 											dbg.location(709,162);
 											if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -14525,14 +14539,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
 					{
 					dbg.location(710,20);
 					pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence3904);
 					typeSelector();
 					state._fsp--;
 					if (state.failed) return;dbg.location(710,33);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
 					try { dbg.enterSubRule(207);
 
 					loop207:
@@ -14579,10 +14593,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:34: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:34: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
 							{
 							dbg.location(710,48);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
 							int alt206=2;
 							try { dbg.enterSubRule(206);
 							try { dbg.enterDecision(206, decisionCanBacktrack[206]);
@@ -14601,16 +14615,16 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:49: ( ( ws )? elementSubsequent )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:49: ( ( ws )? elementSubsequent )
 									{
 									dbg.location(710,49);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:49: ( ( ws )? elementSubsequent )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:49: ( ( ws )? elementSubsequent )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:50: ( ws )? elementSubsequent
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:50: ( ws )? elementSubsequent
 									{
 									dbg.location(710,50);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:50: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:50: ( ws )?
 									int alt205=2;
 									try { dbg.enterSubRule(205);
 									try { dbg.enterDecision(205, decisionCanBacktrack[205]);
@@ -14625,7 +14639,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:50: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:50: ws
 											{
 											dbg.location(710,50);
 											pushFollow(FOLLOW_ws_in_simpleSelectorSequence3916);
@@ -14649,7 +14663,7 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:75: {...}? ws sass_selector_interpolation_exp
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:75: {...}? ws sass_selector_interpolation_exp
 									{
 									dbg.location(710,75);
 									if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -14709,7 +14723,7 @@
 
 
 	// $ANTLR start "esPred"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:718:1: esPred : ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:718:1: esPred : ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND );
 	public final void esPred() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "esPred");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -14717,7 +14731,7 @@
 		dbg.location(718, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND )
 			int alt209=8;
 			try { dbg.enterDecision(209, decisionCanBacktrack[209]);
 
@@ -14775,7 +14789,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:7: HASH_SYMBOL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:7: HASH_SYMBOL
 					{
 					dbg.location(719,7);
 					match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred3953); if (state.failed) return;
@@ -14784,7 +14798,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:21: HASH
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:21: HASH
 					{
 					dbg.location(719,21);
 					match(input,HASH,FOLLOW_HASH_in_esPred3957); if (state.failed) return;
@@ -14793,7 +14807,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:28: DOT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:28: DOT
 					{
 					dbg.location(719,28);
 					match(input,DOT,FOLLOW_DOT_in_esPred3961); if (state.failed) return;
@@ -14802,7 +14816,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:34: LBRACKET
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:34: LBRACKET
 					{
 					dbg.location(719,34);
 					match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred3965); if (state.failed) return;
@@ -14811,7 +14825,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:45: COLON
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:45: COLON
 					{
 					dbg.location(719,45);
 					match(input,COLON,FOLLOW_COLON_in_esPred3969); if (state.failed) return;
@@ -14820,7 +14834,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:53: DCOLON
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:53: DCOLON
 					{
 					dbg.location(719,53);
 					match(input,DCOLON,FOLLOW_DCOLON_in_esPred3973); if (state.failed) return;
@@ -14829,7 +14843,7 @@
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:62: SASS_EXTEND_ONLY_SELECTOR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:62: SASS_EXTEND_ONLY_SELECTOR
 					{
 					dbg.location(719,62);
 					match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred3977); if (state.failed) return;
@@ -14838,7 +14852,7 @@
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:719:90: {...}? LESS_AND
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:90: {...}? LESS_AND
 					{
 					dbg.location(719,90);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -14873,7 +14887,7 @@
 
 
 	// $ANTLR start "typeSelector"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:722:1: typeSelector options {k=2; } : ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:722:1: typeSelector options {k=2; } : ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ;
 	public final void typeSelector() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "typeSelector");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -14881,13 +14895,13 @@
 		dbg.location(722, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:3: ( ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:3: ( ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName
 			{
 			dbg.location(724,6);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )?
 			int alt210=2;
 			try { dbg.enterSubRule(210);
 			try { dbg.enterDecision(210, decisionCanBacktrack[210]);
@@ -14914,7 +14928,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix
 					{
 					dbg.location(724,31);
 					pushFollow(FOLLOW_namespacePrefix_in_typeSelector4025);
@@ -14956,7 +14970,7 @@
 
 
 	// $ANTLR start "namespacePrefix"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:727:1: namespacePrefix : ( namespacePrefixName | STAR )? PIPE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:727:1: namespacePrefix : ( namespacePrefixName | STAR )? PIPE ;
 	public final void namespacePrefix() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "namespacePrefix");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -14964,13 +14978,13 @@
 		dbg.location(727, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:728:3: ( ( namespacePrefixName | STAR )? PIPE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:728:3: ( ( namespacePrefixName | STAR )? PIPE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:728:5: ( namespacePrefixName | STAR )? PIPE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:728:5: ( namespacePrefixName | STAR )? PIPE
 			{
 			dbg.location(728,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:728:5: ( namespacePrefixName | STAR )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:728:5: ( namespacePrefixName | STAR )?
 			int alt211=3;
 			try { dbg.enterSubRule(211);
 			try { dbg.enterDecision(211, decisionCanBacktrack[211]);
@@ -14988,7 +15002,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:728:7: namespacePrefixName
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:728:7: namespacePrefixName
 					{
 					dbg.location(728,7);
 					pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix4044);
@@ -15000,7 +15014,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:728:29: STAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:728:29: STAR
 					{
 					dbg.location(728,29);
 					match(input,STAR,FOLLOW_STAR_in_namespacePrefix4048); if (state.failed) return;
@@ -15036,7 +15050,7 @@
 
 
 	// $ANTLR start "elementSubsequent"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:732:1: elementSubsequent : ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:732:1: elementSubsequent : ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ;
 	public final void elementSubsequent() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "elementSubsequent");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -15044,13 +15058,13 @@
 		dbg.location(732, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:733:5: ( ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:733:5: ( ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:734:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
 			{
 			dbg.location(734,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:734:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
 			int alt213=7;
 			try { dbg.enterSubRule(213);
 			try { dbg.enterDecision(213, decisionCanBacktrack[213]);
@@ -15174,7 +15188,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:735:9: {...}? sass_extend_only_selector
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: {...}? sass_extend_only_selector
 					{
 					dbg.location(735,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -15190,7 +15204,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:736:11: {...}? LESS_AND ( IDENT | NUMBER )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:11: {...}? LESS_AND ( IDENT | NUMBER )*
 					{
 					dbg.location(736,11);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -15198,7 +15212,7 @@
 						throw new FailedPredicateException(input, "elementSubsequent", "isCssPreprocessorSource()");
 					}dbg.location(736,40);
 					match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent4098); if (state.failed) return;dbg.location(736,49);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:736:49: ( IDENT | NUMBER )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:49: ( IDENT | NUMBER )*
 					try { dbg.enterSubRule(212);
 
 					loop212:
@@ -15217,7 +15231,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
 							dbg.location(736,49);
 							if ( input.LA(1)==IDENT||input.LA(1)==NUMBER ) {
@@ -15245,7 +15259,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:737:11: {...}? LESS_AND less_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:11: {...}? LESS_AND less_selector_interpolation_exp
 					{
 					dbg.location(737,11);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -15262,7 +15276,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:738:8: cssId
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:8: cssId
 					{
 					dbg.location(738,8);
 					pushFollow(FOLLOW_cssId_in_elementSubsequent4132);
@@ -15274,7 +15288,7 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:739:8: cssClass
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:739:8: cssClass
 					{
 					dbg.location(739,8);
 					pushFollow(FOLLOW_cssClass_in_elementSubsequent4141);
@@ -15286,7 +15300,7 @@
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:740:11: slAttribute
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:740:11: slAttribute
 					{
 					dbg.location(740,11);
 					pushFollow(FOLLOW_slAttribute_in_elementSubsequent4153);
@@ -15298,7 +15312,7 @@
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:741:11: pseudo
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:741:11: pseudo
 					{
 					dbg.location(741,11);
 					pushFollow(FOLLOW_pseudo_in_elementSubsequent4165);
@@ -15336,7 +15350,7 @@
 
 
 	// $ANTLR start "cssId"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:746:1: cssId : ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:1: cssId : ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) );
 	public final void cssId() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cssId");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -15344,7 +15358,7 @@
 		dbg.location(746, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:747:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) )
 			int alt216=2;
 			try { dbg.enterDecision(216, decisionCanBacktrack[216]);
 
@@ -15370,11 +15384,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:747:7: HASH ({...}? sass_selector_interpolation_exp )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:7: HASH ({...}? sass_selector_interpolation_exp )?
 					{
 					dbg.location(747,7);
 					match(input,HASH,FOLLOW_HASH_in_cssId4189); if (state.failed) return;dbg.location(747,12);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:747:12: ({...}? sass_selector_interpolation_exp )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:12: ({...}? sass_selector_interpolation_exp )?
 					int alt214=2;
 					try { dbg.enterSubRule(214);
 					try { dbg.enterDecision(214, decisionCanBacktrack[214]);
@@ -15395,7 +15409,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:747:13: {...}? sass_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:13: {...}? sass_selector_interpolation_exp
 							{
 							dbg.location(747,13);
 							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -15417,17 +15431,17 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:749:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
 					{
 					dbg.location(749,9);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:749:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:749:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp )
 					{
 					dbg.location(749,11);
 					match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId4216); if (state.failed) return;dbg.location(750,13);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:750:13: ( NAME |{...}? less_selector_interpolation_exp )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:750:13: ( NAME |{...}? less_selector_interpolation_exp )
 					int alt215=2;
 					try { dbg.enterSubRule(215);
 					try { dbg.enterDecision(215, decisionCanBacktrack[215]);
@@ -15454,7 +15468,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:750:15: NAME
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:750:15: NAME
 							{
 							dbg.location(750,15);
 							match(input,NAME,FOLLOW_NAME_in_cssId4232); if (state.failed) return;
@@ -15463,7 +15477,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:751:17: {...}? less_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:17: {...}? less_selector_interpolation_exp
 							{
 							dbg.location(751,17);
 							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -15512,7 +15526,7 @@
 
 
 	// $ANTLR start "cssClass"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:760:1: cssClass : ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:760:1: cssClass : ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION );
 	public final void cssClass() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cssClass");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -15520,7 +15534,7 @@
 		dbg.location(760, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:761:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION )
 			int alt218=2;
 			try { dbg.enterDecision(218, decisionCanBacktrack[218]);
 
@@ -15546,17 +15560,17 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:761:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
 					{
 					dbg.location(761,7);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:761:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:761:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
 					{
 					dbg.location(761,8);
 					match(input,DOT,FOLLOW_DOT_in_cssClass4304); if (state.failed) return;dbg.location(762,9);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:762:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
 					int alt217=5;
 					try { dbg.enterSubRule(217);
 					try { dbg.enterDecision(217, decisionCanBacktrack[217]);
@@ -15695,7 +15709,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:763:14: {...}? sass_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:14: {...}? sass_selector_interpolation_exp
 							{
 							dbg.location(763,14);
 							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -15711,7 +15725,7 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:764:15: {...}? less_selector_interpolation_exp
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:15: {...}? less_selector_interpolation_exp
 							{
 							dbg.location(764,15);
 							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -15727,7 +15741,7 @@
 						case 3 :
 							dbg.enterAlt(3);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:765:15: IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:15: IDENT
 							{
 							dbg.location(765,15);
 							match(input,IDENT,FOLLOW_IDENT_in_cssClass4366); if (state.failed) return;
@@ -15736,7 +15750,7 @@
 						case 4 :
 							dbg.enterAlt(4);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:766:15: NOT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:766:15: NOT
 							{
 							dbg.location(766,15);
 							match(input,NOT,FOLLOW_NOT_in_cssClass4382); if (state.failed) return;
@@ -15745,7 +15759,7 @@
 						case 5 :
 							dbg.enterAlt(5);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:767:15: GEN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:767:15: GEN
 							{
 							dbg.location(767,15);
 							match(input,GEN,FOLLOW_GEN_in_cssClass4398); if (state.failed) return;
@@ -15762,7 +15776,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:769:11: {...}? DIMENSION
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:11: {...}? DIMENSION
 					{
 					dbg.location(769,11);
 					if ( !(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {
@@ -15800,7 +15814,7 @@
 
 
 	// $ANTLR start "elementName"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:777:1: elementName : ( IDENT | GEN | LESS_AND | STAR );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:1: elementName : ( IDENT | GEN | LESS_AND | STAR );
 	public final void elementName() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "elementName");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -15808,10 +15822,10 @@
 		dbg.location(777, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:778:5: ( IDENT | GEN | LESS_AND | STAR )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:5: ( IDENT | GEN | LESS_AND | STAR )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(778,5);
 			if ( input.LA(1)==GEN||input.LA(1)==IDENT||input.LA(1)==LESS_AND||input.LA(1)==STAR ) {
@@ -15850,7 +15864,7 @@
 
 
 	// $ANTLR start "slAttribute"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:781:1: slAttribute : LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:781:1: slAttribute : LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ;
 	public final void slAttribute() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "slAttribute");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -15858,14 +15872,14 @@
 		dbg.location(781, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:782:5: ( LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:782:5: ( LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:782:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:782:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET
 			{
 			dbg.location(782,7);
 			match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute4478); if (state.failed) return;dbg.location(783,6);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:783:6: ( namespacePrefix )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:6: ( namespacePrefix )?
 			int alt219=2;
 			try { dbg.enterSubRule(219);
 			try { dbg.enterDecision(219, decisionCanBacktrack[219]);
@@ -15886,7 +15900,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:783:6: namespacePrefix
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:6: namespacePrefix
 					{
 					dbg.location(783,6);
 					pushFollow(FOLLOW_namespacePrefix_in_slAttribute4485);
@@ -15899,7 +15913,7 @@
 			}
 			} finally {dbg.exitSubRule(219);}
 			dbg.location(783,23);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:783:23: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:23: ( ws )?
 			int alt220=2;
 			try { dbg.enterSubRule(220);
 			try { dbg.enterDecision(220, decisionCanBacktrack[220]);
@@ -15914,7 +15928,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:783:23: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:23: ws
 					{
 					dbg.location(783,23);
 					pushFollow(FOLLOW_ws_in_slAttribute4488);
@@ -15931,7 +15945,7 @@
 			slAttributeName();
 			state._fsp--;
 			if (state.failed) return;dbg.location(784,25);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:784:25: ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:784:25: ( ws )?
 			int alt221=2;
 			try { dbg.enterSubRule(221);
 			try { dbg.enterDecision(221, decisionCanBacktrack[221]);
@@ -15946,7 +15960,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:784:25: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:784:25: ws
 					{
 					dbg.location(784,25);
 					pushFollow(FOLLOW_ws_in_slAttribute4501);
@@ -15959,7 +15973,7 @@
 			}
 			} finally {dbg.exitSubRule(221);}
 			dbg.location(786,13);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:786:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )?
 			int alt224=2;
 			try { dbg.enterSubRule(224);
 			try { dbg.enterDecision(224, decisionCanBacktrack[224]);
@@ -15974,7 +15988,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:787:17: ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:787:17: ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )?
 					{
 					dbg.location(787,17);
 					if ( input.LA(1)==BEGINS||input.LA(1)==CONTAINS||input.LA(1)==DASHMATCH||input.LA(1)==ENDS||input.LA(1)==INCLUDES||input.LA(1)==OPEQ ) {
@@ -15988,7 +16002,7 @@
 						dbg.recognitionException(mse);
 						throw mse;
 					}dbg.location(795,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:795:17: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:795:17: ( ws )?
 					int alt222=2;
 					try { dbg.enterSubRule(222);
 					try { dbg.enterDecision(222, decisionCanBacktrack[222]);
@@ -16003,7 +16017,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:795:17: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:795:17: ws
 							{
 							dbg.location(795,17);
 							pushFollow(FOLLOW_ws_in_slAttribute4715);
@@ -16020,7 +16034,7 @@
 					slAttributeValue();
 					state._fsp--;
 					if (state.failed) return;dbg.location(797,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:797:17: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:797:17: ( ws )?
 					int alt223=2;
 					try { dbg.enterSubRule(223);
 					try { dbg.enterDecision(223, decisionCanBacktrack[223]);
@@ -16035,7 +16049,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:797:17: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:797:17: ws
 							{
 							dbg.location(797,17);
 							pushFollow(FOLLOW_ws_in_slAttribute4752);
@@ -16083,7 +16097,7 @@
 
 
 	// $ANTLR start "slAttributeName"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:808:1: slAttributeName : IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:808:1: slAttributeName : IDENT ;
 	public final void slAttributeName() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "slAttributeName");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -16091,10 +16105,10 @@
 		dbg.location(808, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:809:2: ( IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:809:2: ( IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:809:4: IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:809:4: IDENT
 			{
 			dbg.location(809,4);
 			match(input,IDENT,FOLLOW_IDENT_in_slAttributeName4793); if (state.failed) return;
@@ -16123,7 +16137,7 @@
 
 
 	// $ANTLR start "slAttributeValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:812:1: slAttributeValue : ( IDENT | STRING ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:812:1: slAttributeValue : ( IDENT | STRING ) ;
 	public final void slAttributeValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "slAttributeValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -16131,10 +16145,10 @@
 		dbg.location(812, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:813:2: ( ( IDENT | STRING ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:813:2: ( ( IDENT | STRING ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			dbg.location(813,2);
 			if ( input.LA(1)==IDENT||input.LA(1)==STRING ) {
@@ -16173,7 +16187,7 @@
 
 
 	// $ANTLR start "pseudo"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:820:1: pseudo : ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:820:1: pseudo : ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ;
 	public final void pseudo() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "pseudo");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -16181,10 +16195,10 @@
 		dbg.location(820, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:821:5: ( ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:821:5: ( ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:821:7: ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:821:7: ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
 			{
 			dbg.location(821,7);
 			if ( input.LA(1)==COLON||input.LA(1)==DCOLON ) {
@@ -16198,7 +16212,7 @@
 				dbg.recognitionException(mse);
 				throw mse;
 			}dbg.location(822,14);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:822:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:822:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
 			int alt237=4;
 			try { dbg.enterSubRule(237);
 			try { dbg.enterDecision(237, decisionCanBacktrack[237]);
@@ -16258,13 +16272,13 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:823:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:823:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
 					{
 					dbg.location(823,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:823:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:823:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:824:21: ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:824:21: ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
 					{
 					dbg.location(824,21);
 					if ( input.LA(1)==GEN||input.LA(1)==IDENT ) {
@@ -16278,7 +16292,7 @@
 						dbg.recognitionException(mse);
 						throw mse;
 					}dbg.location(825,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:825:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:825:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
 					int alt229=2;
 					try { dbg.enterSubRule(229);
 					try { dbg.enterDecision(229, decisionCanBacktrack[229]);
@@ -16297,10 +16311,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:25: ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:25: ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN
 							{
 							dbg.location(826,25);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:25: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:25: ( ws )?
 							int alt225=2;
 							try { dbg.enterSubRule(225);
 							try { dbg.enterDecision(225, decisionCanBacktrack[225]);
@@ -16315,7 +16329,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:25: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:25: ws
 									{
 									dbg.location(826,25);
 									pushFollow(FOLLOW_ws_in_pseudo4985);
@@ -16329,7 +16343,7 @@
 							} finally {dbg.exitSubRule(225);}
 							dbg.location(826,29);
 							match(input,LPAREN,FOLLOW_LPAREN_in_pseudo4988); if (state.failed) return;dbg.location(826,36);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:36: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:36: ( ws )?
 							int alt226=2;
 							try { dbg.enterSubRule(226);
 							try { dbg.enterDecision(226, decisionCanBacktrack[226]);
@@ -16344,7 +16358,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:36: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:36: ws
 									{
 									dbg.location(826,36);
 									pushFollow(FOLLOW_ws_in_pseudo4990);
@@ -16357,13 +16371,13 @@
 							}
 							} finally {dbg.exitSubRule(226);}
 							dbg.location(826,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:40: ( ( expression ( ws )? ) | STAR )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:40: ( ( expression ( ws )? ) | STAR )?
 							int alt228=3;
 							try { dbg.enterSubRule(228);
 							try { dbg.enterDecision(228, decisionCanBacktrack[228]);
 
 							int LA228_0 = input.LA(1);
-							if ( ((LA228_0 >= ANGLE && LA228_0 <= AT_SIGN)||(LA228_0 >= BOTTOMCENTER_SYM && LA228_0 <= BOTTOMRIGHT_SYM)||LA228_0==CHARSET_SYM||LA228_0==COUNTER_STYLE_SYM||LA228_0==DIMENSION||LA228_0==EMS||LA228_0==EXS||(LA228_0 >= FONT_FACE_SYM && LA228_0 <= FREQ)||LA228_0==GEN||(LA228_0 >= HASH && LA228_0 <= HASH_SYMBOL)||LA228_0==IDENT||LA228_0==IMPORT_SYM||(LA228_0 >= LEFTBOTTOM_SYM && LA228_0 <= LENGTH)||(LA228_0 >= LESS_AND && LA228_0 <= LESS_JS_STRING)||(LA228_0 >= MEDIA_SYM && LA228_0 <= MOZ_DOCUMENT_SYM)||LA228_0==NAMESPACE_SYM||LA228_0==NUMBER||(LA228_0 >= PAGE_SYM && LA228_0 <= PERCENTAGE_SYMBOL)||LA228_0==PLUS||(LA228_0 >= REM && LA228_0 <= RIGHTTOP_SYM)||(LA228_0 >= SASS_AT_ROOT && LA228_0 <= SASS_DEBUG)||(LA228_0 >= SASS_EACH && LA228_0 <= SASS_ELSE)||LA228_0==SASS_EXTEND||(LA228_0 >= SASS_FOR && LA228_0 <= SASS_FUNCTION)||(LA228_0 >= SASS_IF && LA228_0 <= SASS_MIXIN)||(LA228_0 >= SASS_RETURN && LA228_0 <= SASS_WHILE)||LA228_0==STRING||(LA228_0 >= TILDE && LA228_0 <= TOPRIGHT_SYM)||LA228_0==URI||LA228_0==VARIABLE||LA228_0==WEBKIT_KEYFRAMES_SYM) ) {
+							if ( ((LA228_0 >= ANGLE && LA228_0 <= AT_SIGN)||(LA228_0 >= BOTTOMCENTER_SYM && LA228_0 <= BOTTOMRIGHT_SYM)||LA228_0==CHARSET_SYM||LA228_0==COUNTER_STYLE_SYM||LA228_0==DIMENSION||LA228_0==EMS||LA228_0==EXS||(LA228_0 >= FONT_FACE_SYM && LA228_0 <= FREQ)||LA228_0==GEN||(LA228_0 >= HASH && LA228_0 <= HASH_SYMBOL)||LA228_0==IDENT||LA228_0==IMPORT_SYM||(LA228_0 >= LEFTBOTTOM_SYM && LA228_0 <= LENGTH)||(LA228_0 >= LESS_AND && LA228_0 <= LESS_JS_STRING)||(LA228_0 >= MEDIA_SYM && LA228_0 <= MOZ_DOCUMENT_SYM)||LA228_0==NAMESPACE_SYM||LA228_0==NUMBER||(LA228_0 >= PAGE_SYM && LA228_0 <= PERCENTAGE_SYMBOL)||LA228_0==PLUS||(LA228_0 >= REM && LA228_0 <= RIGHTTOP_SYM)||(LA228_0 >= SASS_AT_ROOT && LA228_0 <= SASS_DEBUG)||(LA228_0 >= SASS_EACH && LA228_0 <= SASS_ELSE)||LA228_0==SASS_EXTEND||(LA228_0 >= SASS_FOR && LA228_0 <= SASS_FUNCTION)||(LA228_0 >= SASS_IF && LA228_0 <= SASS_MIXIN)||(LA228_0 >= SASS_RETURN && LA228_0 <= SASS_WHILE)||LA228_0==STRING||(LA228_0 >= TILDE && LA228_0 <= TOPRIGHT_SYM)||(LA228_0 >= URANGE && LA228_0 <= URI)||LA228_0==VARIABLE||LA228_0==WEBKIT_KEYFRAMES_SYM) ) {
 								alt228=1;
 							}
 							else if ( (LA228_0==STAR) ) {
@@ -16375,20 +16389,20 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:42: ( expression ( ws )? )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:42: ( expression ( ws )? )
 									{
 									dbg.location(826,42);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:42: ( expression ( ws )? )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:42: ( expression ( ws )? )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:43: expression ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:43: expression ( ws )?
 									{
 									dbg.location(826,43);
 									pushFollow(FOLLOW_expression_in_pseudo4996);
 									expression();
 									state._fsp--;
 									if (state.failed) return;dbg.location(826,54);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:54: ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:54: ( ws )?
 									int alt227=2;
 									try { dbg.enterSubRule(227);
 									try { dbg.enterDecision(227, decisionCanBacktrack[227]);
@@ -16403,7 +16417,7 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:54: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:54: ws
 											{
 											dbg.location(826,54);
 											pushFollow(FOLLOW_ws_in_pseudo4998);
@@ -16423,7 +16437,7 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:826:61: STAR
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:61: STAR
 									{
 									dbg.location(826,61);
 									match(input,STAR,FOLLOW_STAR_in_pseudo5004); if (state.failed) return;
@@ -16447,7 +16461,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:829:19: {...}? sass_interpolation_expression_var
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:829:19: {...}? sass_interpolation_expression_var
 					{
 					dbg.location(829,19);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -16463,17 +16477,17 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
 					{
 					dbg.location(831,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:19: NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:19: NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN
 					{
 					dbg.location(831,19);
 					match(input,NOT,FOLLOW_NOT_in_pseudo5110); if (state.failed) return;dbg.location(831,23);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:23: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:23: ( ws )?
 					int alt230=2;
 					try { dbg.enterSubRule(230);
 					try { dbg.enterDecision(230, decisionCanBacktrack[230]);
@@ -16488,7 +16502,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:23: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:23: ws
 							{
 							dbg.location(831,23);
 							pushFollow(FOLLOW_ws_in_pseudo5112);
@@ -16502,7 +16516,7 @@
 					} finally {dbg.exitSubRule(230);}
 					dbg.location(831,27);
 					match(input,LPAREN,FOLLOW_LPAREN_in_pseudo5115); if (state.failed) return;dbg.location(831,34);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:34: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:34: ( ws )?
 					int alt231=2;
 					try { dbg.enterSubRule(231);
 					try { dbg.enterDecision(231, decisionCanBacktrack[231]);
@@ -16517,7 +16531,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:34: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:34: ws
 							{
 							dbg.location(831,34);
 							pushFollow(FOLLOW_ws_in_pseudo5117);
@@ -16530,7 +16544,7 @@
 					}
 					} finally {dbg.exitSubRule(231);}
 					dbg.location(831,38);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:38: ( simpleSelectorSequence ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:38: ( simpleSelectorSequence ( ws )? )?
 					int alt233=2;
 					try { dbg.enterSubRule(233);
 					try { dbg.enterDecision(233, decisionCanBacktrack[233]);
@@ -16545,14 +16559,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:39: simpleSelectorSequence ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:39: simpleSelectorSequence ( ws )?
 							{
 							dbg.location(831,39);
 							pushFollow(FOLLOW_simpleSelectorSequence_in_pseudo5121);
 							simpleSelectorSequence();
 							state._fsp--;
 							if (state.failed) return;dbg.location(831,62);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:62: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:62: ( ws )?
 							int alt232=2;
 							try { dbg.enterSubRule(232);
 							try { dbg.enterDecision(232, decisionCanBacktrack[232]);
@@ -16567,7 +16581,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:831:62: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:62: ws
 									{
 									dbg.location(831,62);
 									pushFollow(FOLLOW_ws_in_pseudo5123);
@@ -16594,13 +16608,13 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
 					{
 					dbg.location(833,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:18: {...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:18: {...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN
 					{
 					dbg.location(833,18);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
@@ -16612,7 +16626,7 @@
 						throw new FailedPredicateException(input, "pseudo", "tokenNameEquals(\"extend\")");
 					}dbg.location(833,65);
 					match(input,IDENT,FOLLOW_IDENT_in_pseudo5172); if (state.failed) return;dbg.location(833,71);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:71: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:71: ( ws )?
 					int alt234=2;
 					try { dbg.enterSubRule(234);
 					try { dbg.enterDecision(234, decisionCanBacktrack[234]);
@@ -16627,7 +16641,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:71: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:71: ws
 							{
 							dbg.location(833,71);
 							pushFollow(FOLLOW_ws_in_pseudo5174);
@@ -16641,7 +16655,7 @@
 					} finally {dbg.exitSubRule(234);}
 					dbg.location(833,75);
 					match(input,LPAREN,FOLLOW_LPAREN_in_pseudo5177); if (state.failed) return;dbg.location(833,82);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:82: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:82: ( ws )?
 					int alt235=2;
 					try { dbg.enterSubRule(235);
 					try { dbg.enterDecision(235, decisionCanBacktrack[235]);
@@ -16656,7 +16670,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:82: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:82: ws
 							{
 							dbg.location(833,82);
 							pushFollow(FOLLOW_ws_in_pseudo5179);
@@ -16669,7 +16683,7 @@
 					}
 					} finally {dbg.exitSubRule(235);}
 					dbg.location(833,86);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:86: ( selectorsGroup )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:86: ( selectorsGroup )?
 					int alt236=2;
 					try { dbg.enterSubRule(236);
 					try { dbg.enterDecision(236, decisionCanBacktrack[236]);
@@ -16684,7 +16698,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:833:86: selectorsGroup
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:86: selectorsGroup
 							{
 							dbg.location(833,86);
 							pushFollow(FOLLOW_selectorsGroup_in_pseudo5182);
@@ -16731,7 +16745,7 @@
 
 
 	// $ANTLR start "propertyDeclaration"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:837:1: propertyDeclaration : ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:837:1: propertyDeclaration : ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? );
 	public final void propertyDeclaration() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "propertyDeclaration");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -16739,7 +16753,7 @@
 		dbg.location(837, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:838:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:838:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? )
 			int alt246=2;
 			try { dbg.enterDecision(246, decisionCanBacktrack[246]);
 
@@ -16974,14 +16988,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:1: {...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:1: {...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue
 					{
 					dbg.location(839,1);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "propertyDeclaration", "isCssPreprocessorSource()");
 					}dbg.location(839,30);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:30: ( STAR )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:30: ( STAR )?
 					int alt238=2;
 					try { dbg.enterSubRule(238);
 					try { dbg.enterDecision(238, decisionCanBacktrack[238]);
@@ -16996,7 +17010,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:30: STAR
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:30: STAR
 							{
 							dbg.location(839,30);
 							match(input,STAR,FOLLOW_STAR_in_propertyDeclaration5221); if (state.failed) return;
@@ -17010,7 +17024,7 @@
 					property();
 					state._fsp--;
 					if (state.failed) return;dbg.location(839,45);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:45: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:45: ( ws )?
 					int alt239=2;
 					try { dbg.enterSubRule(239);
 					try { dbg.enterDecision(239, decisionCanBacktrack[239]);
@@ -17025,7 +17039,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:45: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:45: ws
 							{
 							dbg.location(839,45);
 							pushFollow(FOLLOW_ws_in_propertyDeclaration5226);
@@ -17039,7 +17053,7 @@
 					} finally {dbg.exitSubRule(239);}
 					dbg.location(839,49);
 					match(input,COLON,FOLLOW_COLON_in_propertyDeclaration5229); if (state.failed) return;dbg.location(839,55);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:55: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:55: ( ws )?
 					int alt240=2;
 					try { dbg.enterSubRule(240);
 					try { dbg.enterDecision(240, decisionCanBacktrack[240]);
@@ -17054,7 +17068,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:839:55: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:55: ws
 							{
 							dbg.location(839,55);
 							pushFollow(FOLLOW_ws_in_propertyDeclaration5231);
@@ -17076,10 +17090,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:7: ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:7: ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )?
 					{
 					dbg.location(840,7);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:7: ( STAR )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:7: ( STAR )?
 					int alt241=2;
 					try { dbg.enterSubRule(241);
 					try { dbg.enterDecision(241, decisionCanBacktrack[241]);
@@ -17094,7 +17108,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:7: STAR
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:7: STAR
 							{
 							dbg.location(840,7);
 							match(input,STAR,FOLLOW_STAR_in_propertyDeclaration5243); if (state.failed) return;
@@ -17108,7 +17122,7 @@
 					property();
 					state._fsp--;
 					if (state.failed) return;dbg.location(840,22);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:22: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:22: ( ws )?
 					int alt242=2;
 					try { dbg.enterSubRule(242);
 					try { dbg.enterDecision(242, decisionCanBacktrack[242]);
@@ -17123,7 +17137,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:22: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:22: ws
 							{
 							dbg.location(840,22);
 							pushFollow(FOLLOW_ws_in_propertyDeclaration5248);
@@ -17137,7 +17151,7 @@
 					} finally {dbg.exitSubRule(242);}
 					dbg.location(840,26);
 					match(input,COLON,FOLLOW_COLON_in_propertyDeclaration5251); if (state.failed) return;dbg.location(840,32);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:32: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:32: ( ws )?
 					int alt243=2;
 					try { dbg.enterSubRule(243);
 					try { dbg.enterDecision(243, decisionCanBacktrack[243]);
@@ -17152,7 +17166,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:32: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:32: ws
 							{
 							dbg.location(840,32);
 							pushFollow(FOLLOW_ws_in_propertyDeclaration5253);
@@ -17169,7 +17183,7 @@
 					propertyValue();
 					state._fsp--;
 					if (state.failed) return;dbg.location(840,50);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:50: ( ( ws )? prio )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:50: ( ( ws )? prio )?
 					int alt245=2;
 					try { dbg.enterSubRule(245);
 					try { dbg.enterDecision(245, decisionCanBacktrack[245]);
@@ -17188,10 +17202,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:51: ( ws )? prio
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:51: ( ws )? prio
 							{
 							dbg.location(840,51);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:51: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:51: ( ws )?
 							int alt244=2;
 							try { dbg.enterSubRule(244);
 							try { dbg.enterDecision(244, decisionCanBacktrack[244]);
@@ -17206,7 +17220,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:840:51: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:51: ws
 									{
 									dbg.location(840,51);
 									pushFollow(FOLLOW_ws_in_propertyDeclaration5259);
@@ -17261,7 +17275,7 @@
 
 
 	// $ANTLR start "cp_propertyValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:851:1: cp_propertyValue : ({...}? cp_expression_list | propertyValue );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:851:1: cp_propertyValue : ({...}? cp_expression_list | propertyValue );
 	public final void cp_propertyValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_propertyValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -17269,7 +17283,7 @@
 		dbg.location(851, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:852:5: ({...}? cp_expression_list | propertyValue )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:852:5: ({...}? cp_expression_list | propertyValue )
 			int alt247=2;
 			try { dbg.enterDecision(247, decisionCanBacktrack[247]);
 
@@ -17331,7 +17345,7 @@
 
 				}
 				break;
-			case PERCENTAGE:
+			case URANGE:
 				{
 				int LA247_7 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17343,7 +17357,7 @@
 
 				}
 				break;
-			case LENGTH:
+			case PERCENTAGE:
 				{
 				int LA247_8 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17355,7 +17369,7 @@
 
 				}
 				break;
-			case EMS:
+			case LENGTH:
 				{
 				int LA247_9 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17367,7 +17381,7 @@
 
 				}
 				break;
-			case REM:
+			case EMS:
 				{
 				int LA247_10 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17379,7 +17393,7 @@
 
 				}
 				break;
-			case EXS:
+			case REM:
 				{
 				int LA247_11 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17391,7 +17405,7 @@
 
 				}
 				break;
-			case ANGLE:
+			case EXS:
 				{
 				int LA247_12 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17403,7 +17417,7 @@
 
 				}
 				break;
-			case TIME:
+			case ANGLE:
 				{
 				int LA247_13 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17415,7 +17429,7 @@
 
 				}
 				break;
-			case FREQ:
+			case TIME:
 				{
 				int LA247_14 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17427,7 +17441,7 @@
 
 				}
 				break;
-			case RESOLUTION:
+			case FREQ:
 				{
 				int LA247_15 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17439,7 +17453,7 @@
 
 				}
 				break;
-			case DIMENSION:
+			case RESOLUTION:
 				{
 				int LA247_16 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17451,7 +17465,7 @@
 
 				}
 				break;
-			case STRING:
+			case DIMENSION:
 				{
 				int LA247_17 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17463,7 +17477,7 @@
 
 				}
 				break;
-			case TILDE:
+			case STRING:
 				{
 				int LA247_18 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17475,7 +17489,7 @@
 
 				}
 				break;
-			case LESS_JS_STRING:
+			case TILDE:
 				{
 				int LA247_19 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17487,7 +17501,7 @@
 
 				}
 				break;
-			case GEN:
+			case LESS_JS_STRING:
 				{
 				int LA247_20 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17499,7 +17513,7 @@
 
 				}
 				break;
-			case URI:
+			case GEN:
 				{
 				int LA247_21 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17511,7 +17525,7 @@
 
 				}
 				break;
-			case HASH:
+			case URI:
 				{
 				int LA247_22 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17523,6 +17537,18 @@
 
 				}
 				break;
+			case HASH:
+				{
+				int LA247_23 = input.LA(2);
+				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
+					alt247=1;
+				}
+				else if ( (true) ) {
+					alt247=2;
+				}
+
+				}
+				break;
 			case AT_IDENT:
 			case BOTTOMCENTER_SYM:
 			case BOTTOMLEFTCORNER_SYM:
@@ -17564,7 +17590,7 @@
 			case TOPRIGHT_SYM:
 			case WEBKIT_KEYFRAMES_SYM:
 				{
-				int LA247_23 = input.LA(2);
+				int LA247_24 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
 					alt247=1;
 				}
@@ -17578,32 +17604,6 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 247, 23, input);
-						dbg.recognitionException(nvae);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			case SASS_VAR:
-				{
-				int LA247_24 = input.LA(2);
-				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt247=1;
-				}
-				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt247=2;
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
 							new NoViableAltException("", 247, 24, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
@@ -17614,13 +17614,13 @@
 
 				}
 				break;
-			case LESS_AND:
+			case SASS_VAR:
 				{
 				int LA247_25 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt247=1;
 				}
-				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
+				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt247=2;
 				}
 
@@ -17640,7 +17640,7 @@
 
 				}
 				break;
-			case HASH_SYMBOL:
+			case LESS_AND:
 				{
 				int LA247_26 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
@@ -17666,13 +17666,13 @@
 
 				}
 				break;
-			case AT_SIGN:
+			case HASH_SYMBOL:
 				{
 				int LA247_27 = input.LA(2);
-				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt247=1;
 				}
-				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
 					alt247=2;
 				}
 
@@ -17692,9 +17692,35 @@
 
 				}
 				break;
-			case PERCENTAGE_SYMBOL:
+			case AT_SIGN:
 				{
 				int LA247_28 = input.LA(2);
+				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+					alt247=1;
+				}
+				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+					alt247=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 247, 28, input);
+						dbg.recognitionException(nvae);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			case PERCENTAGE_SYMBOL:
+				{
+				int LA247_29 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 					alt247=1;
 				}
@@ -17708,7 +17734,7 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 247, 28, input);
+							new NoViableAltException("", 247, 29, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
 					} finally {
@@ -17731,7 +17757,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:853:5: {...}? cp_expression_list
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:5: {...}? cp_expression_list
 					{
 					dbg.location(853,5);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
@@ -17747,7 +17773,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:854:7: propertyValue
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:7: propertyValue
 					{
 					dbg.location(854,7);
 					pushFollow(FOLLOW_propertyValue_in_cp_propertyValue5310);
@@ -17781,7 +17807,7 @@
 
 
 	// $ANTLR start "propertyValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:857:1: propertyValue : expression ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:857:1: propertyValue : expression ;
 	public final void propertyValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "propertyValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -17789,10 +17815,10 @@
 		dbg.location(857, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:858:2: ( expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:2: ( expression )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:859:9: expression
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:9: expression
 			{
 			dbg.location(859,9);
 			pushFollow(FOLLOW_expression_in_propertyValue5332);
@@ -17824,7 +17850,7 @@
 
 
 	// $ANTLR start "expressionPredicate"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:863:1: expressionPredicate options {k=1; } : (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:863:1: expressionPredicate options {k=1; } : (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ;
 	public final void expressionPredicate() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "expressionPredicate");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -17832,13 +17858,13 @@
 		dbg.location(863, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:865:5: ( (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:865:5: ( (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:866:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE )
 			{
 			dbg.location(866,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:866:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+
 			int cnt248=0;
 			try { dbg.enterSubRule(248);
 
@@ -17858,7 +17884,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
 					dbg.location(866,5);
 					if ( (input.LA(1) >= A && input.LA(1) <= ANGLE)||(input.LA(1) >= AT_SIGN && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_RETURN)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= STRING && input.LA(1) <= Z) ) {
@@ -17923,7 +17949,7 @@
 
 
 	// $ANTLR start "syncToDeclarationsRule"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:871:1: syncToDeclarationsRule :;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:1: syncToDeclarationsRule :;
 	public final void syncToDeclarationsRule() throws RecognitionException {
 
 		        //why sync to DOT? - LESS allows class rules nested
@@ -17935,10 +17961,10 @@
 		dbg.location(871, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:876:6: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:876:6: ()
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:877:6: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:877:6: 
 			{
 			}
 
@@ -17961,7 +17987,7 @@
 
 
 	// $ANTLR start "syncTo_RBRACE"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:879:1: syncTo_RBRACE :;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:879:1: syncTo_RBRACE :;
 	public final void syncTo_RBRACE() throws RecognitionException {
 
 		        syncToRBRACE(1); //initial nest == 1
@@ -17972,10 +17998,10 @@
 		dbg.location(879, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:883:6: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:6: ()
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:884:6: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:6: 
 			{
 			}
 
@@ -17998,7 +18024,7 @@
 
 
 	// $ANTLR start "syncTo_SEMI"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:886:1: syncTo_SEMI : SEMI ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:1: syncTo_SEMI : SEMI ;
 	public final void syncTo_SEMI() throws RecognitionException {
 
 		        syncToSet(BitSet.of(SEMI));
@@ -18009,10 +18035,10 @@
 		dbg.location(886, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:890:6: ( SEMI )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:6: ( SEMI )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:891:13: SEMI
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:13: SEMI
 			{
 			dbg.location(891,13);
 			match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI5502); if (state.failed) return;
@@ -18041,7 +18067,7 @@
 
 
 	// $ANTLR start "syncToFollow"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:895:1: syncToFollow :;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:1: syncToFollow :;
 	public final void syncToFollow() throws RecognitionException {
 
 		        syncToSet();
@@ -18052,10 +18078,10 @@
 		dbg.location(895, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:899:6: ()
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:6: ()
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:900:6: 
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:6: 
 			{
 			}
 
@@ -18078,7 +18104,7 @@
 
 
 	// $ANTLR start "prio"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:902:1: prio : IMPORTANT_SYM ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:902:1: prio : IMPORTANT_SYM ;
 	public final void prio() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "prio");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -18086,10 +18112,10 @@
 		dbg.location(902, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:903:5: ( IMPORTANT_SYM )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:903:5: ( IMPORTANT_SYM )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:903:7: IMPORTANT_SYM
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:903:7: IMPORTANT_SYM
 			{
 			dbg.location(903,7);
 			match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio5547); if (state.failed) return;
@@ -18118,7 +18144,7 @@
 
 
 	// $ANTLR start "expression"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:906:1: expression : term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:906:1: expression : term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ;
 	public final void expression() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "expression");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -18126,17 +18152,17 @@
 		dbg.location(906, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:5: ( term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:5: ( term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
 			{
 			dbg.location(907,7);
 			pushFollow(FOLLOW_term_in_expression5564);
 			term();
 			state._fsp--;
 			if (state.failed) return;dbg.location(907,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
 			try { dbg.enterSubRule(252);
 
 			loop252:
@@ -18158,10 +18184,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term
 					{
 					dbg.location(907,66);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:66: ( ws | ( ( ws )? operator ( ws )? ) |)
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:66: ( ws | ( ( ws )? operator ( ws )? ) |)
 					int alt251=3;
 					try { dbg.enterSubRule(251);
 					try { dbg.enterDecision(251, decisionCanBacktrack[251]);
@@ -18180,7 +18206,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:68: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:68: ws
 							{
 							dbg.location(907,68);
 							pushFollow(FOLLOW_ws_in_expression5596);
@@ -18192,16 +18218,16 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:73: ( ( ws )? operator ( ws )? )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:73: ( ( ws )? operator ( ws )? )
 							{
 							dbg.location(907,73);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:73: ( ( ws )? operator ( ws )? )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:73: ( ( ws )? operator ( ws )? )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:74: ( ws )? operator ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:74: ( ws )? operator ( ws )?
 							{
 							dbg.location(907,74);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:74: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:74: ( ws )?
 							int alt249=2;
 							try { dbg.enterSubRule(249);
 							try { dbg.enterDecision(249, decisionCanBacktrack[249]);
@@ -18216,7 +18242,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:74: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:74: ws
 									{
 									dbg.location(907,74);
 									pushFollow(FOLLOW_ws_in_expression5601);
@@ -18233,7 +18259,7 @@
 							operator();
 							state._fsp--;
 							if (state.failed) return;dbg.location(907,87);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:87: ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:87: ( ws )?
 							int alt250=2;
 							try { dbg.enterSubRule(250);
 							try { dbg.enterDecision(250, decisionCanBacktrack[250]);
@@ -18248,7 +18274,7 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:87: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:87: ws
 									{
 									dbg.location(907,87);
 									pushFollow(FOLLOW_ws_in_expression5606);
@@ -18268,7 +18294,7 @@
 						case 3 :
 							dbg.enterAlt(3);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:107: 
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:107: 
 							{
 							}
 							break;
@@ -18314,7 +18340,7 @@
 
 
 	// $ANTLR start "term"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:910:1: term : ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:910:1: term : ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ;
 	public final void term() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "term");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
@@ -18322,13 +18348,13 @@
 		dbg.location(910, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:911:5: ( ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:911:5: ( ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:912:5: ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:5: ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
 			{
 			dbg.location(912,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:912:5: ( unaryOperator ( ws )? )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:5: ( unaryOperator ( ws )? )?
 			int alt254=2;
 			try { dbg.enterSubRule(254);
 			try { dbg.enterDecision(254, decisionCanBacktrack[254]);
@@ -18343,14 +18369,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:912:7: unaryOperator ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:7: unaryOperator ( ws )?
 					{
 					dbg.location(912,7);
 					pushFollow(FOLLOW_unaryOperator_in_term5640);
 					unaryOperator();
 					state._fsp--;
 					if (state.failed) return;dbg.location(912,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:912:21: ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:21: ( ws )?
 					int alt253=2;
 					try { dbg.enterSubRule(253);
 					try { dbg.enterDecision(253, decisionCanBacktrack[253]);
@@ -18365,7 +18391,7 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:912:21: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:21: ws
 							{
 							dbg.location(912,21);
 							pushFollow(FOLLOW_ws_in_term5642);
@@ -18384,8 +18410,8 @@
 			}
 			} finally {dbg.exitSubRule(254);}
 			dbg.location(913,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:913:5: ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
-			int alt255=25;
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:913:5: ( ( functionName ( ws )? LPAREN )=> function | VARIABLE | IDENT | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
+			int alt255=26;
 			try { dbg.enterSubRule(255);
 			try { dbg.enterDecision(255, decisionCanBacktrack[255]);
 
@@ -18412,86 +18438,91 @@
 				alt255=4;
 				}
 				break;
-			case PERCENTAGE:
+			case URANGE:
 				{
 				alt255=5;
 				}
 				break;
-			case LENGTH:
+			case PERCENTAGE:
 				{
 				alt255=6;
 				}
 				break;
-			case EMS:
+			case LENGTH:
 				{
 				alt255=7;
 				}
 				break;
-			case REM:
+			case EMS:
 				{
 				alt255=8;
 				}
 				break;
-			case EXS:
+			case REM:
 				{
 				alt255=9;
 				}
 				break;
-			case ANGLE:
+			case EXS:
 				{
 				alt255=10;
 				}
 				break;
-			case TIME:
+			case ANGLE:
 				{
 				alt255=11;
 				}
 				break;
-			case FREQ:
+			case TIME:
 				{
 				alt255=12;
 				}
 				break;
-			case RESOLUTION:
+			case FREQ:
 				{
 				alt255=13;
 				}
 				break;
-			case DIMENSION:
+			case RESOLUTION:
 				{
 				alt255=14;
 				}
 				break;
-			case STRING:
+			case DIMENSION:
 				{
 				alt255=15;
 				}
 				break;
-			case TILDE:
+			case STRING:
 				{
 				alt255=16;
 				}
 				break;
-			case LESS_JS_STRING:
+			case TILDE:
 				{
 				alt255=17;
 				}
 				break;
-			case GEN:
+			case LESS_JS_STRING:
 				{
 				alt255=18;
 				}
 				break;
-			case URI:
+			case GEN:
 				{
 				alt255=19;
 				}
 				break;
-			case HASH:
+			case URI:
 				{
 				alt255=20;
 				}
 				break;
+			case HASH:
+				{
+				alt255=21;
+				}
+				break;
 			case AT_IDENT:
 			case BOTTOMCENTER_SYM:
 			case BOTTOMLEFTCORNER_SYM:
@@ -18534,27 +18565,27 @@
 			case TOPRIGHT_SYM:
 			case WEBKIT_KEYFRAMES_SYM:
 				{
-				alt255=21;
+				alt255=22;
 				}
 				break;
 			case LESS_AND:
 				{
-				alt255=22;
+				alt255=23;
 				}
 				break;
 			case HASH_SYMBOL:
 				{
-				alt255=23;
+				alt255=24;
 				}
 				break;
 			case AT_SIGN:
 				{
-				alt255=24;
+				alt255=25;
 				}
 				break;
 			case PERCENTAGE_SYMBOL:
 				{
-				alt255=25;
+				alt255=26;
 				}
 				break;
 			default:
@@ -18570,7 +18601,7 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:914:9: ( functionName ( ws )? LPAREN )=> function
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:9: ( functionName ( ws )? LPAREN )=> function
 					{
 					dbg.location(914,36);
 					pushFollow(FOLLOW_function_in_term5671);
@@ -18582,7 +18613,7 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:915:11: VARIABLE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:915:11: VARIABLE
 					{
 					dbg.location(915,11);
 					match(input,VARIABLE,FOLLOW_VARIABLE_in_term5684); if (state.failed) return;
@@ -18591,7 +18622,7 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:916:11: IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:11: IDENT
 					{
 					dbg.location(916,11);
 					match(input,IDENT,FOLLOW_IDENT_in_term5696); if (state.failed) return;
@@ -18600,7 +18631,7 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:917:11: NUMBER
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:917:11: NUMBER
 					{
 					dbg.location(917,11);
 					match(input,NUMBER,FOLLOW_NUMBER_in_term5708); if (state.failed) return;
@@ -18609,109 +18640,118 @@
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:918:11: PERCENTAGE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:918:11: URANGE
 					{
 					dbg.location(918,11);
-					match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term5720); if (state.failed) return;
+					match(input,URANGE,FOLLOW_URANGE_in_term5720); if (state.failed) return;
 					}
 					break;
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:919:11: LENGTH
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:11: PERCENTAGE
 					{
 					dbg.location(919,11);
-					match(input,LENGTH,FOLLOW_LENGTH_in_term5732); if (state.failed) return;
+					match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term5732); if (state.failed) return;
 					}
 					break;
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:920:11: EMS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:11: LENGTH
 					{
 					dbg.location(920,11);
-					match(input,EMS,FOLLOW_EMS_in_term5744); if (state.failed) return;
+					match(input,LENGTH,FOLLOW_LENGTH_in_term5744); if (state.failed) return;
 					}
 					break;
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:921:11: REM
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:921:11: EMS
 					{
 					dbg.location(921,11);
-					match(input,REM,FOLLOW_REM_in_term5756); if (state.failed) return;
+					match(input,EMS,FOLLOW_EMS_in_term5756); if (state.failed) return;
 					}
 					break;
 				case 9 :
 					dbg.enterAlt(9);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:922:11: EXS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:922:11: REM
 					{
 					dbg.location(922,11);
-					match(input,EXS,FOLLOW_EXS_in_term5768); if (state.failed) return;
+					match(input,REM,FOLLOW_REM_in_term5768); if (state.failed) return;
 					}
 					break;
 				case 10 :
 					dbg.enterAlt(10);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:923:11: ANGLE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:11: EXS
 					{
 					dbg.location(923,11);
-					match(input,ANGLE,FOLLOW_ANGLE_in_term5780); if (state.failed) return;
+					match(input,EXS,FOLLOW_EXS_in_term5780); if (state.failed) return;
 					}
 					break;
 				case 11 :
 					dbg.enterAlt(11);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:924:11: TIME
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:924:11: ANGLE
 					{
 					dbg.location(924,11);
-					match(input,TIME,FOLLOW_TIME_in_term5792); if (state.failed) return;
+					match(input,ANGLE,FOLLOW_ANGLE_in_term5792); if (state.failed) return;
 					}
 					break;
 				case 12 :
 					dbg.enterAlt(12);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:925:11: FREQ
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:925:11: TIME
 					{
 					dbg.location(925,11);
-					match(input,FREQ,FOLLOW_FREQ_in_term5804); if (state.failed) return;
+					match(input,TIME,FOLLOW_TIME_in_term5804); if (state.failed) return;
 					}
 					break;
 				case 13 :
 					dbg.enterAlt(13);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:926:11: RESOLUTION
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:926:11: FREQ
 					{
 					dbg.location(926,11);
-					match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term5816); if (state.failed) return;
+					match(input,FREQ,FOLLOW_FREQ_in_term5816); if (state.failed) return;
 					}
 					break;
 				case 14 :
 					dbg.enterAlt(14);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:927:11: DIMENSION
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:927:11: RESOLUTION
 					{
 					dbg.location(927,11);
-					match(input,DIMENSION,FOLLOW_DIMENSION_in_term5828); if (state.failed) return;
+					match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term5828); if (state.failed) return;
 					}
 					break;
 				case 15 :
 					dbg.enterAlt(15);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:928:11: STRING
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:928:11: DIMENSION
 					{
 					dbg.location(928,11);
-					match(input,STRING,FOLLOW_STRING_in_term5845); if (state.failed) return;
+					match(input,DIMENSION,FOLLOW_DIMENSION_in_term5840); if (state.failed) return;
 					}
 					break;
 				case 16 :
 					dbg.enterAlt(16);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:929:11: TILDE ( STRING | LESS_JS_STRING )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:929:11: STRING
 					{
 					dbg.location(929,11);
-					match(input,TILDE,FOLLOW_TILDE_in_term5857); if (state.failed) return;dbg.location(929,17);
+					match(input,STRING,FOLLOW_STRING_in_term5857); if (state.failed) return;
+					}
+					break;
+				case 17 :
+					dbg.enterAlt(17);
+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:930:11: TILDE ( STRING | LESS_JS_STRING )
+					{
+					dbg.location(930,11);
+					match(input,TILDE,FOLLOW_TILDE_in_term5869); if (state.failed) return;dbg.location(930,17);
 					if ( input.LA(1)==LESS_JS_STRING||input.LA(1)==STRING ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -18725,57 +18765,41 @@
 					}
 					}
 					break;
-				case 17 :
-					dbg.enterAlt(17);
-
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:930:11: LESS_JS_STRING
-					{
-					dbg.location(930,11);
-					match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term5880); if (state.failed) return;
-					}
-					break;
 				case 18 :
 					dbg.enterAlt(18);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:931:11: GEN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:11: LESS_JS_STRING
 					{
 					dbg.location(931,11);
-					match(input,GEN,FOLLOW_GEN_in_term5895); if (state.failed) return;
+					match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term5892); if (state.failed) return;
 					}
 					break;
 				case 19 :
 					dbg.enterAlt(19);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:932:11: URI
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:11: GEN
 					{
 					dbg.location(932,11);
-					match(input,URI,FOLLOW_URI_in_term5907); if (state.failed) return;
+					match(input,GEN,FOLLOW_GEN_in_term5907); if (state.failed) return;
 					}
 					break;
 				case 20 :
 					dbg.enterAlt(20);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:933:11: hexColor
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:11: URI
 					{
 					dbg.location(933,11);
-					pushFollow(FOLLOW_hexColor_in_term5919);
-					hexColor();
-					state._fsp--;
-					if (state.failed) return;
+					match(input,URI,FOLLOW_URI_in_term5919); if (state.failed) return;
 					}
 					break;
 				case 21 :
 					dbg.enterAlt(21);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:934:11: {...}? cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:11: hexColor
 					{
 					dbg.location(934,11);
-					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
-						if (state.backtracking>0) {state.failed=true; return;}
-						throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()");
-					}dbg.location(934,40);
-					pushFollow(FOLLOW_cp_variable_in_term5933);
-					cp_variable();
+					pushFollow(FOLLOW_hexColor_in_term5931);
+					hexColor();
 					state._fsp--;
 					if (state.failed) return;
 					}
@@ -18783,44 +18807,44 @@
 				case 22 :
 					dbg.enterAlt(22);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:935:11: {...}? LESS_AND
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:11: {...}? cp_variable
 					{
 					dbg.location(935,11);
-					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
+					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
-						throw new FailedPredicateException(input, "term", "isScssSource()");
-					}dbg.location(935,29);
-					match(input,LESS_AND,FOLLOW_LESS_AND_in_term5947); if (state.failed) return;
+						throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()");
+					}dbg.location(935,40);
+					pushFollow(FOLLOW_cp_variable_in_term5945);
+					cp_variable();
+					state._fsp--;
+					if (state.failed) return;
 					}
 					break;
 				case 23 :
 					dbg.enterAlt(23);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:936:11: {...}? sass_interpolation_expression_var
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:11: {...}? LESS_AND
 					{
 					dbg.location(936,11);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "term", "isScssSource()");
 					}dbg.location(936,29);
-					pushFollow(FOLLOW_sass_interpolation_expression_var_in_term5961);
-					sass_interpolation_expression_var();
-					state._fsp--;
-					if (state.failed) return;
+					match(input,LESS_AND,FOLLOW_LESS_AND_in_term5959); if (state.failed) return;
 					}
 					break;
 				case 24 :
 					dbg.enterAlt(24);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:937:11: {...}? less_selector_interpolation
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:937:11: {...}? sass_interpolation_expression_var
 					{
 					dbg.location(937,11);
-					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
+					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
-						throw new FailedPredicateException(input, "term", "isLessSource()");
+						throw new FailedPredicateException(input, "term", "isScssSource()");
 					}dbg.location(937,29);
-					pushFollow(FOLLOW_less_selector_interpolation_in_term5975);
-					less_selector_interpolation();
+					pushFollow(FOLLOW_sass_interpolation_expression_var_in_term5973);
+					sass_interpolation_expression_var();
 					state._fsp--;
 					if (state.failed) return;
 					}
@@ -18828,14 +18852,30 @@
 				case 25 :
 					dbg.enterAlt(25);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:938:11: {...}? cp_term_symbol
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:938:11: {...}? less_selector_interpolation
 					{
 					dbg.location(938,11);
+					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
+						if (state.backtracking>0) {state.failed=true; return;}
+						throw new FailedPredicateException(input, "term", "isLessSource()");
+					}dbg.location(938,29);
+					pushFollow(FOLLOW_less_selector_interpolation_in_term5987);
+					less_selector_interpolation();
+					state._fsp--;
+					if (state.failed) return;
+					}
+					break;
+				case 26 :
+					dbg.enterAlt(26);
+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:939:11: {...}? cp_term_symbol
+					{
+					dbg.location(939,11);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()");
-					}dbg.location(938,40);
-					pushFollow(FOLLOW_cp_term_symbol_in_term5989);
+					}dbg.location(939,40);
+					pushFollow(FOLLOW_cp_term_symbol_in_term6001);
 					cp_term_symbol();
 					state._fsp--;
 					if (state.failed) return;
@@ -18855,7 +18895,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(940, 4);
+		dbg.location(941, 4);
 
 		}
 		finally {
@@ -18870,21 +18910,21 @@
 
 
 	// $ANTLR start "cp_term_symbol"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:945:1: cp_term_symbol : PERCENTAGE_SYMBOL ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:946:1: cp_term_symbol : PERCENTAGE_SYMBOL ;
 	public final void cp_term_symbol() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_term_symbol");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(945, 0);
+		dbg.location(946, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:946:5: ( PERCENTAGE_SYMBOL )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:5: ( PERCENTAGE_SYMBOL )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:946:7: PERCENTAGE_SYMBOL
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:7: PERCENTAGE_SYMBOL
 			{
-			dbg.location(946,7);
-			match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol6016); if (state.failed) return;
+			dbg.location(947,7);
+			match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol6028); if (state.failed) return;
 			}
 
 		}
@@ -18895,7 +18935,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(947, 4);
+		dbg.location(948, 4);
 
 		}
 		finally {
@@ -18910,25 +18950,25 @@
 
 
 	// $ANTLR start "function"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:949:1: function : functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:1: function : functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN ;
 	public final void function() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "function");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(949, 0);
+		dbg.location(950, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:950:2: ( functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:2: ( functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:950:5: functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:5: functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN
 			{
-			dbg.location(950,5);
-			pushFollow(FOLLOW_functionName_in_function6032);
+			dbg.location(951,5);
+			pushFollow(FOLLOW_functionName_in_function6044);
 			functionName();
 			state._fsp--;
-			if (state.failed) return;dbg.location(950,18);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:950:18: ( ws )?
+			if (state.failed) return;dbg.location(951,18);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:18: ( ws )?
 			int alt256=2;
 			try { dbg.enterSubRule(256);
 			try { dbg.enterDecision(256, decisionCanBacktrack[256]);
@@ -18943,10 +18983,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:950:18: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:18: ws
 					{
-					dbg.location(950,18);
-					pushFollow(FOLLOW_ws_in_function6034);
+					dbg.location(951,18);
+					pushFollow(FOLLOW_ws_in_function6046);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -18955,9 +18995,9 @@
 
 			}
 			} finally {dbg.exitSubRule(256);}
-			dbg.location(951,3);
-			match(input,LPAREN,FOLLOW_LPAREN_in_function6039); if (state.failed) return;dbg.location(951,10);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:951:10: ( ws )?
+			dbg.location(952,3);
+			match(input,LPAREN,FOLLOW_LPAREN_in_function6051); if (state.failed) return;dbg.location(952,10);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:952:10: ( ws )?
 			int alt257=2;
 			try { dbg.enterSubRule(257);
 			try { dbg.enterDecision(257, decisionCanBacktrack[257]);
@@ -18972,10 +19012,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:951:10: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:952:10: ws
 					{
-					dbg.location(951,10);
-					pushFollow(FOLLOW_ws_in_function6041);
+					dbg.location(952,10);
+					pushFollow(FOLLOW_ws_in_function6053);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -18984,14 +19024,14 @@
 
 			}
 			} finally {dbg.exitSubRule(257);}
-			dbg.location(952,3);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:952:3: ( fnAttributes |)
+			dbg.location(953,3);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:953:3: ( fnAttributes |)
 			int alt258=2;
 			try { dbg.enterSubRule(258);
 			try { dbg.enterDecision(258, decisionCanBacktrack[258]);
 
 			int LA258_0 = input.LA(1);
-			if ( ((LA258_0 >= ANGLE && LA258_0 <= AT_SIGN)||(LA258_0 >= BOTTOMCENTER_SYM && LA258_0 <= BOTTOMRIGHT_SYM)||LA258_0==CHARSET_SYM||LA258_0==COUNTER_STYLE_SYM||LA258_0==DIMENSION||LA258_0==EMS||LA258_0==EXS||(LA258_0 >= FONT_FACE_SYM && LA258_0 <= FREQ)||LA258_0==GEN||(LA258_0 >= HASH && LA258_0 <= HASH_SYMBOL)||(LA258_0 >= IDENT && LA258_0 <= IMPORT_SYM)||LA258_0==LBRACE||(LA258_0 >= LEFTBOTTOM_SYM && LA258_0 <= LENGTH)||(LA258_0 >= LESS_AND && LA258_0 <= LESS_JS_STRING)||LA258_0==LPAREN||(LA258_0 >= MEDIA_SYM && LA258_0 <= MOZ_DOCUMENT_SYM)||LA258_0==NAMESPACE_SYM||(LA258_0 >= NOT && LA258_0 <= NUMBER)||(LA258_0 >= PAGE_SYM && LA258_0 <= PERCENTAGE_SYMBOL)||LA258_0==PLUS||(LA258_0 >= REM && LA258_0 <= RIGHTTOP_SYM)||(LA258_0 >= SASS_AT_ROOT && LA258_0 <= SASS_DEBUG)||(LA258_0 >= SASS_EACH && LA258_0 <= SASS_ELSE)||LA258_0==SASS_EXTEND||(LA258_0 >= SASS_FOR && LA258_0 <= SASS_FUNCTION)||(LA258_0 >= SASS_IF && LA258_0 <= SASS_MIXIN)||(LA258_0 >= SASS_RETURN && LA258_0 <= SASS_WHILE)||LA258_0==STRING||(LA258_0 >= TILDE && LA258_0 <= TOPRIGHT_SYM)||LA258_0==URI||LA258_0==VARIABLE||LA258_0==WEBKIT_KEYFRAMES_SYM) ) {
+			if ( ((LA258_0 >= ANGLE && LA258_0 <= AT_SIGN)||(LA258_0 >= BOTTOMCENTER_SYM && LA258_0 <= BOTTOMRIGHT_SYM)||LA258_0==CHARSET_SYM||LA258_0==COUNTER_STYLE_SYM||LA258_0==DIMENSION||LA258_0==EMS||LA258_0==EXS||(LA258_0 >= FONT_FACE_SYM && LA258_0 <= FREQ)||LA258_0==GEN||(LA258_0 >= HASH && LA258_0 <= HASH_SYMBOL)||(LA258_0 >= IDENT && LA258_0 <= IMPORT_SYM)||LA258_0==LBRACE||(LA258_0 >= LEFTBOTTOM_SYM && LA258_0 <= LENGTH)||(LA258_0 >= LESS_AND && LA258_0 <= LESS_JS_STRING)||LA258_0==LPAREN||(LA258_0 >= MEDIA_SYM && LA258_0 <= MOZ_DOCUMENT_SYM)||LA258_0==NAMESPACE_SYM||(LA258_0 >= NOT && LA258_0 <= NUMBER)||(LA258_0 >= PAGE_SYM && LA258_0 <= PERCENTAGE_SYMBOL)||LA258_0==PLUS||(LA258_0 >= REM && LA258_0 <= RIGHTTOP_SYM)||(LA258_0 >= SASS_AT_ROOT && LA258_0 <= SASS_DEBUG)||(LA258_0 >= SASS_EACH && LA258_0 <= SASS_ELSE)||LA258_0==SASS_EXTEND||(LA258_0 >= SASS_FOR && LA258_0 <= SASS_FUNCTION)||(LA258_0 >= SASS_IF && LA258_0 <= SASS_MIXIN)||(LA258_0 >= SASS_RETURN && LA258_0 <= SASS_WHILE)||LA258_0==STRING||(LA258_0 >= TILDE && LA258_0 <= TOPRIGHT_SYM)||(LA258_0 >= URANGE && LA258_0 <= URI)||LA258_0==VARIABLE||LA258_0==WEBKIT_KEYFRAMES_SYM) ) {
 				alt258=1;
 			}
 			else if ( (LA258_0==RPAREN) ) {
@@ -19012,10 +19052,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:953:21: fnAttributes
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:21: fnAttributes
 					{
-					dbg.location(953,21);
-					pushFollow(FOLLOW_fnAttributes_in_function6068);
+					dbg.location(954,21);
+					pushFollow(FOLLOW_fnAttributes_in_function6080);
 					fnAttributes();
 					state._fsp--;
 					if (state.failed) return;
@@ -19024,15 +19064,15 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:955:3: 
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:956:3: 
 					{
 					}
 					break;
 
 			}
 			} finally {dbg.exitSubRule(258);}
-			dbg.location(956,3);
-			match(input,RPAREN,FOLLOW_RPAREN_in_function6099); if (state.failed) return;
+			dbg.location(957,3);
+			match(input,RPAREN,FOLLOW_RPAREN_in_function6111); if (state.failed) return;
 			}
 
 		}
@@ -19046,7 +19086,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(957, 1);
+		dbg.location(958, 1);
 
 		}
 		finally {
@@ -19061,21 +19101,21 @@
 
 
 	// $ANTLR start "functionName"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:963:1: functionName : ( IDENT COLON )? IDENT ( DOT IDENT )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:964:1: functionName : ( IDENT COLON )? IDENT ( DOT IDENT )* ;
 	public final void functionName() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "functionName");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(963, 0);
+		dbg.location(964, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:967:2: ( ( IDENT COLON )? IDENT ( DOT IDENT )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:968:2: ( ( IDENT COLON )? IDENT ( DOT IDENT )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:968:9: ( IDENT COLON )? IDENT ( DOT IDENT )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:9: ( IDENT COLON )? IDENT ( DOT IDENT )*
 			{
-			dbg.location(968,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:968:9: ( IDENT COLON )?
+			dbg.location(969,9);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:9: ( IDENT COLON )?
 			int alt259=2;
 			try { dbg.enterSubRule(259);
 			try { dbg.enterDecision(259, decisionCanBacktrack[259]);
@@ -19093,19 +19133,19 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:968:10: IDENT COLON
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:10: IDENT COLON
 					{
-					dbg.location(968,10);
-					match(input,IDENT,FOLLOW_IDENT_in_functionName6151); if (state.failed) return;dbg.location(968,16);
-					match(input,COLON,FOLLOW_COLON_in_functionName6153); if (state.failed) return;
+					dbg.location(969,10);
+					match(input,IDENT,FOLLOW_IDENT_in_functionName6163); if (state.failed) return;dbg.location(969,16);
+					match(input,COLON,FOLLOW_COLON_in_functionName6165); if (state.failed) return;
 					}
 					break;
 
 			}
 			} finally {dbg.exitSubRule(259);}
-			dbg.location(968,24);
-			match(input,IDENT,FOLLOW_IDENT_in_functionName6157); if (state.failed) return;dbg.location(968,30);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:968:30: ( DOT IDENT )*
+			dbg.location(969,24);
+			match(input,IDENT,FOLLOW_IDENT_in_functionName6169); if (state.failed) return;dbg.location(969,30);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:30: ( DOT IDENT )*
 			try { dbg.enterSubRule(260);
 
 			loop260:
@@ -19124,11 +19164,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:968:31: DOT IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:31: DOT IDENT
 					{
-					dbg.location(968,31);
-					match(input,DOT,FOLLOW_DOT_in_functionName6160); if (state.failed) return;dbg.location(968,35);
-					match(input,IDENT,FOLLOW_IDENT_in_functionName6162); if (state.failed) return;
+					dbg.location(969,31);
+					match(input,DOT,FOLLOW_DOT_in_functionName6172); if (state.failed) return;dbg.location(969,35);
+					match(input,IDENT,FOLLOW_IDENT_in_functionName6174); if (state.failed) return;
 					}
 					break;
 
@@ -19148,7 +19188,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(969, 5);
+		dbg.location(970, 5);
 
 		}
 		finally {
@@ -19163,25 +19203,25 @@
 
 
 	// $ANTLR start "fnAttributes"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:971:1: fnAttributes : fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:1: fnAttributes : fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ;
 	public final void fnAttributes() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "fnAttributes");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(971, 0);
+		dbg.location(972, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:972:5: ( fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:5: ( fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )?
 			{
-			dbg.location(973,5);
-			pushFollow(FOLLOW_fnAttribute_in_fnAttributes6186);
+			dbg.location(974,5);
+			pushFollow(FOLLOW_fnAttribute_in_fnAttributes6198);
 			fnAttribute();
 			state._fsp--;
-			if (state.failed) return;dbg.location(973,17);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*
+			if (state.failed) return;dbg.location(974,17);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*
 			try { dbg.enterSubRule(264);
 
 			loop264:
@@ -19203,10 +19243,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:18: ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:18: ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute
 					{
-					dbg.location(973,18);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:18: ( ws )?
+					dbg.location(974,18);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:18: ( ws )?
 					int alt261=2;
 					try { dbg.enterSubRule(261);
 					try { dbg.enterDecision(261, decisionCanBacktrack[261]);
@@ -19221,10 +19261,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:18: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:18: ws
 							{
-							dbg.location(973,18);
-							pushFollow(FOLLOW_ws_in_fnAttributes6189);
+							dbg.location(974,18);
+							pushFollow(FOLLOW_ws_in_fnAttributes6201);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -19233,8 +19273,8 @@
 
 					}
 					} finally {dbg.exitSubRule(261);}
-					dbg.location(973,22);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:22: ( COMMA |{...}? SEMI )
+					dbg.location(974,22);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:22: ( COMMA |{...}? SEMI )
 					int alt262=2;
 					try { dbg.enterSubRule(262);
 					try { dbg.enterDecision(262, decisionCanBacktrack[262]);
@@ -19261,30 +19301,30 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:23: COMMA
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:23: COMMA
 							{
-							dbg.location(973,23);
-							match(input,COMMA,FOLLOW_COMMA_in_fnAttributes6193); if (state.failed) return;
+							dbg.location(974,23);
+							match(input,COMMA,FOLLOW_COMMA_in_fnAttributes6205); if (state.failed) return;
 							}
 							break;
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:31: {...}? SEMI
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:31: {...}? SEMI
 							{
-							dbg.location(973,31);
+							dbg.location(974,31);
 							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 								if (state.backtracking>0) {state.failed=true; return;}
 								throw new FailedPredicateException(input, "fnAttributes", "isLessSource()");
-							}dbg.location(973,49);
-							match(input,SEMI,FOLLOW_SEMI_in_fnAttributes6199); if (state.failed) return;
+							}dbg.location(974,49);
+							match(input,SEMI,FOLLOW_SEMI_in_fnAttributes6211); if (state.failed) return;
 							}
 							break;
 
 					}
 					} finally {dbg.exitSubRule(262);}
-					dbg.location(973,55);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:55: ( ws )?
+					dbg.location(974,55);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:55: ( ws )?
 					int alt263=2;
 					try { dbg.enterSubRule(263);
 					try { dbg.enterDecision(263, decisionCanBacktrack[263]);
@@ -19299,10 +19339,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:55: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:55: ws
 							{
-							dbg.location(973,55);
-							pushFollow(FOLLOW_ws_in_fnAttributes6202);
+							dbg.location(974,55);
+							pushFollow(FOLLOW_ws_in_fnAttributes6214);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -19311,8 +19351,8 @@
 
 					}
 					} finally {dbg.exitSubRule(263);}
-					dbg.location(973,59);
-					pushFollow(FOLLOW_fnAttribute_in_fnAttributes6205);
+					dbg.location(974,59);
+					pushFollow(FOLLOW_fnAttribute_in_fnAttributes6217);
 					fnAttribute();
 					state._fsp--;
 					if (state.failed) return;
@@ -19324,8 +19364,8 @@
 				}
 			}
 			} finally {dbg.exitSubRule(264);}
-			dbg.location(973,73);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:73: ( ws )?
+			dbg.location(974,73);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:73: ( ws )?
 			int alt265=2;
 			try { dbg.enterSubRule(265);
 			try { dbg.enterDecision(265, decisionCanBacktrack[265]);
@@ -19340,10 +19380,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:973:73: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:73: ws
 					{
-					dbg.location(973,73);
-					pushFollow(FOLLOW_ws_in_fnAttributes6209);
+					dbg.location(974,73);
+					pushFollow(FOLLOW_ws_in_fnAttributes6221);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -19363,7 +19403,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(974, 4);
+		dbg.location(975, 4);
 
 		}
 		finally {
@@ -19378,15 +19418,15 @@
 
 
 	// $ANTLR start "fnAttribute"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:976:1: fnAttribute : ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:1: fnAttribute : ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression );
 	public final void fnAttribute() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "fnAttribute");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(976, 0);
+		dbg.location(977, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:977:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:978:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression )
 			int alt268=3;
 			try { dbg.enterDecision(268, decisionCanBacktrack[268]);
 
@@ -19494,7 +19534,7 @@
 				}
 
 			}
-			else if ( (LA268_0==PERCENTAGE) ) {
+			else if ( (LA268_0==URANGE) ) {
 				int LA268_9 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19504,7 +19544,7 @@
 				}
 
 			}
-			else if ( (LA268_0==LENGTH) ) {
+			else if ( (LA268_0==PERCENTAGE) ) {
 				int LA268_10 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19514,7 +19554,7 @@
 				}
 
 			}
-			else if ( (LA268_0==EMS) ) {
+			else if ( (LA268_0==LENGTH) ) {
 				int LA268_11 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19524,7 +19564,7 @@
 				}
 
 			}
-			else if ( (LA268_0==REM) ) {
+			else if ( (LA268_0==EMS) ) {
 				int LA268_12 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19534,7 +19574,7 @@
 				}
 
 			}
-			else if ( (LA268_0==EXS) ) {
+			else if ( (LA268_0==REM) ) {
 				int LA268_13 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19544,7 +19584,7 @@
 				}
 
 			}
-			else if ( (LA268_0==ANGLE) ) {
+			else if ( (LA268_0==EXS) ) {
 				int LA268_14 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19554,7 +19594,7 @@
 				}
 
 			}
-			else if ( (LA268_0==TIME) ) {
+			else if ( (LA268_0==ANGLE) ) {
 				int LA268_15 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19564,7 +19604,7 @@
 				}
 
 			}
-			else if ( (LA268_0==FREQ) ) {
+			else if ( (LA268_0==TIME) ) {
 				int LA268_16 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19574,7 +19614,7 @@
 				}
 
 			}
-			else if ( (LA268_0==RESOLUTION) ) {
+			else if ( (LA268_0==FREQ) ) {
 				int LA268_17 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19584,7 +19624,7 @@
 				}
 
 			}
-			else if ( (LA268_0==DIMENSION) ) {
+			else if ( (LA268_0==RESOLUTION) ) {
 				int LA268_18 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19594,7 +19634,7 @@
 				}
 
 			}
-			else if ( (LA268_0==STRING) ) {
+			else if ( (LA268_0==DIMENSION) ) {
 				int LA268_19 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19604,7 +19644,7 @@
 				}
 
 			}
-			else if ( (LA268_0==TILDE) ) {
+			else if ( (LA268_0==STRING) ) {
 				int LA268_20 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19614,7 +19654,7 @@
 				}
 
 			}
-			else if ( (LA268_0==LESS_JS_STRING) ) {
+			else if ( (LA268_0==TILDE) ) {
 				int LA268_21 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19624,7 +19664,7 @@
 				}
 
 			}
-			else if ( (LA268_0==GEN) ) {
+			else if ( (LA268_0==LESS_JS_STRING) ) {
 				int LA268_22 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19634,7 +19674,7 @@
 				}
 
 			}
-			else if ( (LA268_0==URI) ) {
+			else if ( (LA268_0==GEN) ) {
 				int LA268_23 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19644,7 +19684,7 @@
 				}
 
 			}
-			else if ( (LA268_0==HASH) ) {
+			else if ( (LA268_0==URI) ) {
 				int LA268_24 = input.LA(2);
 				if ( (synpred39_Css3()) ) {
 					alt268=2;
@@ -19654,31 +19694,17 @@
 				}
 
 			}
-			else if ( (LA268_0==LESS_AND) ) {
+			else if ( (LA268_0==HASH) ) {
 				int LA268_25 = input.LA(2);
-				if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
+				if ( (synpred39_Css3()) ) {
 					alt268=2;
 				}
-				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
+				else if ( (true) ) {
 					alt268=3;
 				}
 
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
-							new NoViableAltException("", 268, 25, input);
-						dbg.recognitionException(nvae);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
 			}
-			else if ( (LA268_0==HASH_SYMBOL) ) {
+			else if ( (LA268_0==LESS_AND) ) {
 				int LA268_26 = input.LA(2);
 				if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt268=2;
@@ -19702,12 +19728,12 @@
 				}
 
 			}
-			else if ( (LA268_0==AT_SIGN) ) {
+			else if ( (LA268_0==HASH_SYMBOL) ) {
 				int LA268_27 = input.LA(2);
-				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred39_Css3())) ) {
+				if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt268=2;
 				}
-				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
 					alt268=3;
 				}
 
@@ -19726,8 +19752,32 @@
 				}
 
 			}
-			else if ( (LA268_0==PERCENTAGE_SYMBOL) ) {
+			else if ( (LA268_0==AT_SIGN) ) {
 				int LA268_28 = input.LA(2);
+				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred39_Css3())) ) {
+					alt268=2;
+				}
+				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+					alt268=3;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 268, 28, input);
+						dbg.recognitionException(nvae);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+			}
+			else if ( (LA268_0==PERCENTAGE_SYMBOL) ) {
+				int LA268_29 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred39_Css3())) ) {
 					alt268=2;
 				}
@@ -19741,7 +19791,7 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 268, 28, input);
+							new NoViableAltException("", 268, 29, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
 					} finally {
@@ -19763,14 +19813,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue
 					{
-					dbg.location(978,46);
-					pushFollow(FOLLOW_fnAttributeName_in_fnAttribute6246);
+					dbg.location(979,46);
+					pushFollow(FOLLOW_fnAttributeName_in_fnAttribute6258);
 					fnAttributeName();
 					state._fsp--;
-					if (state.failed) return;dbg.location(978,62);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:62: ( ws )?
+					if (state.failed) return;dbg.location(979,62);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:62: ( ws )?
 					int alt266=2;
 					try { dbg.enterSubRule(266);
 					try { dbg.enterDecision(266, decisionCanBacktrack[266]);
@@ -19785,10 +19835,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:62: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:62: ws
 							{
-							dbg.location(978,62);
-							pushFollow(FOLLOW_ws_in_fnAttribute6248);
+							dbg.location(979,62);
+							pushFollow(FOLLOW_ws_in_fnAttribute6260);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -19797,7 +19847,7 @@
 
 					}
 					} finally {dbg.exitSubRule(266);}
-					dbg.location(978,66);
+					dbg.location(979,66);
 					if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -19808,8 +19858,8 @@
 						MismatchedSetException mse = new MismatchedSetException(null,input);
 						dbg.recognitionException(mse);
 						throw mse;
-					}dbg.location(978,79);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:79: ( ws )?
+					}dbg.location(979,79);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:79: ( ws )?
 					int alt267=2;
 					try { dbg.enterSubRule(267);
 					try { dbg.enterDecision(267, decisionCanBacktrack[267]);
@@ -19824,10 +19874,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:79: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:79: ws
 							{
-							dbg.location(978,79);
-							pushFollow(FOLLOW_ws_in_fnAttribute6257);
+							dbg.location(979,79);
+							pushFollow(FOLLOW_ws_in_fnAttribute6269);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -19836,8 +19886,8 @@
 
 					}
 					} finally {dbg.exitSubRule(267);}
-					dbg.location(978,83);
-					pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute6260);
+					dbg.location(979,83);
+					pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute6272);
 					fnAttributeValue();
 					state._fsp--;
 					if (state.failed) return;
@@ -19846,10 +19896,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:979:11: ( cp_expression )=> cp_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:980:11: ( cp_expression )=> cp_expression
 					{
-					dbg.location(979,29);
-					pushFollow(FOLLOW_cp_expression_in_fnAttribute6277);
+					dbg.location(980,29);
+					pushFollow(FOLLOW_cp_expression_in_fnAttribute6289);
 					cp_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -19858,10 +19908,10 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:980:11: expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:981:11: expression
 					{
-					dbg.location(980,11);
-					pushFollow(FOLLOW_expression_in_fnAttribute6289);
+					dbg.location(981,11);
+					pushFollow(FOLLOW_expression_in_fnAttribute6301);
 					expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -19877,7 +19927,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(981, 1);
+		dbg.location(982, 1);
 
 		}
 		finally {
@@ -19892,15 +19942,15 @@
 
 
 	// $ANTLR start "fnAttributeName"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:983:1: fnAttributeName : ( IDENT ( DOT IDENT )* |{...}? cp_variable );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:1: fnAttributeName : ( IDENT ( DOT IDENT )* |{...}? cp_variable );
 	public final void fnAttributeName() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "fnAttributeName");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(983, 0);
+		dbg.location(984, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:984:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:985:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable )
 			int alt270=2;
 			try { dbg.enterDecision(270, decisionCanBacktrack[270]);
 
@@ -19926,11 +19976,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:985:13: IDENT ( DOT IDENT )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:986:13: IDENT ( DOT IDENT )*
 					{
-					dbg.location(985,13);
-					match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6312); if (state.failed) return;dbg.location(985,19);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:985:19: ( DOT IDENT )*
+					dbg.location(986,13);
+					match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6324); if (state.failed) return;dbg.location(986,19);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:986:19: ( DOT IDENT )*
 					try { dbg.enterSubRule(269);
 
 					loop269:
@@ -19949,11 +19999,11 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:985:20: DOT IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:986:20: DOT IDENT
 							{
-							dbg.location(985,20);
-							match(input,DOT,FOLLOW_DOT_in_fnAttributeName6315); if (state.failed) return;dbg.location(985,24);
-							match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6317); if (state.failed) return;
+							dbg.location(986,20);
+							match(input,DOT,FOLLOW_DOT_in_fnAttributeName6327); if (state.failed) return;dbg.location(986,24);
+							match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6329); if (state.failed) return;
 							}
 							break;
 
@@ -19968,14 +20018,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:986:15: {...}? cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:15: {...}? cp_variable
 					{
-					dbg.location(986,15);
+					dbg.location(987,15);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "fnAttributeName", "isCssPreprocessorSource()");
-					}dbg.location(986,44);
-					pushFollow(FOLLOW_cp_variable_in_fnAttributeName6337);
+					}dbg.location(987,44);
+					pushFollow(FOLLOW_cp_variable_in_fnAttributeName6349);
 					cp_variable();
 					state._fsp--;
 					if (state.failed) return;
@@ -19991,7 +20041,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(987, 1);
+		dbg.location(988, 1);
 
 		}
 		finally {
@@ -20006,15 +20056,15 @@
 
 
 	// $ANTLR start "fnAttributeValue"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:989:1: fnAttributeValue : ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:990:1: fnAttributeValue : ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression );
 	public final void fnAttributeValue() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "fnAttributeValue");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(989, 0);
+		dbg.location(990, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:990:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:991:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression )
 			int alt275=2;
 			try { dbg.enterDecision(275, decisionCanBacktrack[275]);
 
@@ -20124,7 +20174,7 @@
 
 				}
 				break;
-			case PERCENTAGE:
+			case URANGE:
 				{
 				int LA275_5 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20150,7 +20200,7 @@
 
 				}
 				break;
-			case LENGTH:
+			case PERCENTAGE:
 				{
 				int LA275_6 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20176,7 +20226,7 @@
 
 				}
 				break;
-			case EMS:
+			case LENGTH:
 				{
 				int LA275_7 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20202,7 +20252,7 @@
 
 				}
 				break;
-			case REM:
+			case EMS:
 				{
 				int LA275_8 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20228,7 +20278,7 @@
 
 				}
 				break;
-			case EXS:
+			case REM:
 				{
 				int LA275_9 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20254,7 +20304,7 @@
 
 				}
 				break;
-			case ANGLE:
+			case EXS:
 				{
 				int LA275_10 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20280,7 +20330,7 @@
 
 				}
 				break;
-			case TIME:
+			case ANGLE:
 				{
 				int LA275_11 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20306,7 +20356,7 @@
 
 				}
 				break;
-			case FREQ:
+			case TIME:
 				{
 				int LA275_12 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20332,7 +20382,7 @@
 
 				}
 				break;
-			case RESOLUTION:
+			case FREQ:
 				{
 				int LA275_13 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20358,7 +20408,7 @@
 
 				}
 				break;
-			case DIMENSION:
+			case RESOLUTION:
 				{
 				int LA275_14 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20384,7 +20434,7 @@
 
 				}
 				break;
-			case STRING:
+			case DIMENSION:
 				{
 				int LA275_15 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20410,7 +20460,7 @@
 
 				}
 				break;
-			case TILDE:
+			case STRING:
 				{
 				int LA275_16 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20436,7 +20486,7 @@
 
 				}
 				break;
-			case LESS_JS_STRING:
+			case TILDE:
 				{
 				int LA275_17 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20462,7 +20512,7 @@
 
 				}
 				break;
-			case GEN:
+			case LESS_JS_STRING:
 				{
 				int LA275_18 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20488,7 +20538,7 @@
 
 				}
 				break;
-			case URI:
+			case GEN:
 				{
 				int LA275_19 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20514,7 +20564,7 @@
 
 				}
 				break;
-			case HASH:
+			case URI:
 				{
 				int LA275_20 = input.LA(2);
 				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
@@ -20540,6 +20590,32 @@
 
 				}
 				break;
+			case HASH:
+				{
+				int LA275_21 = input.LA(2);
+				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
+					alt275=1;
+				}
+				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
+					alt275=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 275, 21, input);
+						dbg.recognitionException(nvae);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
 			case AT_IDENT:
 			case BOTTOMCENTER_SYM:
 			case BOTTOMLEFTCORNER_SYM:
@@ -20581,7 +20657,7 @@
 			case TOPRIGHT_SYM:
 			case WEBKIT_KEYFRAMES_SYM:
 				{
-				int LA275_21 = input.LA(2);
+				int LA275_22 = input.LA(2);
 				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
 					alt275=1;
 				}
@@ -20595,32 +20671,6 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 275, 21, input);
-						dbg.recognitionException(nvae);
-						throw nvae;
-					} finally {
-						input.rewind(nvaeMark);
-					}
-				}
-
-				}
-				break;
-			case SASS_VAR:
-				{
-				int LA275_22 = input.LA(2);
-				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt275=1;
-				}
-				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
-					alt275=2;
-				}
-
-				else {
-					if (state.backtracking>0) {state.failed=true; return;}
-					int nvaeMark = input.mark();
-					try {
-						input.consume();
-						NoViableAltException nvae =
 							new NoViableAltException("", 275, 22, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
@@ -20631,10 +20681,10 @@
 
 				}
 				break;
-			case LESS_AND:
+			case SASS_VAR:
 				{
 				int LA275_23 = input.LA(2);
-				if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
+				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt275=1;
 				}
 				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
@@ -20657,7 +20707,7 @@
 
 				}
 				break;
-			case HASH_SYMBOL:
+			case LESS_AND:
 				{
 				int LA275_24 = input.LA(2);
 				if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
@@ -20683,13 +20733,13 @@
 
 				}
 				break;
-			case AT_SIGN:
+			case HASH_SYMBOL:
 				{
 				int LA275_25 = input.LA(2);
-				if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+				if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
 					alt275=1;
 				}
-				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
 					alt275=2;
 				}
 
@@ -20709,9 +20759,35 @@
 
 				}
 				break;
-			case PERCENTAGE_SYMBOL:
+			case AT_SIGN:
 				{
 				int LA275_26 = input.LA(2);
+				if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
+					alt275=1;
+				}
+				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
+					alt275=2;
+				}
+
+				else {
+					if (state.backtracking>0) {state.failed=true; return;}
+					int nvaeMark = input.mark();
+					try {
+						input.consume();
+						NoViableAltException nvae =
+							new NoViableAltException("", 275, 26, input);
+						dbg.recognitionException(nvae);
+						throw nvae;
+					} finally {
+						input.rewind(nvaeMark);
+					}
+				}
+
+				}
+				break;
+			case PERCENTAGE_SYMBOL:
+				{
+				int LA275_27 = input.LA(2);
 				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 					alt275=1;
 				}
@@ -20725,7 +20801,7 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 275, 26, input);
+							new NoViableAltException("", 275, 27, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
 					} finally {
@@ -20754,14 +20830,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
 					{
-					dbg.location(991,13);
-					pushFollow(FOLLOW_term_in_fnAttributeValue6360);
+					dbg.location(992,13);
+					pushFollow(FOLLOW_term_in_fnAttributeValue6372);
 					term();
 					state._fsp--;
-					if (state.failed) return;dbg.location(991,18);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
+					if (state.failed) return;dbg.location(992,18);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
 					try { dbg.enterSubRule(274);
 
 					loop274:
@@ -20783,10 +20859,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
 							{
-							dbg.location(991,71);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
+							dbg.location(992,71);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
 							int alt273=3;
 							try { dbg.enterSubRule(273);
 							try { dbg.enterDecision(273, decisionCanBacktrack[273]);
@@ -20805,10 +20881,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:73: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:73: ws
 									{
-									dbg.location(991,73);
-									pushFollow(FOLLOW_ws_in_fnAttributeValue6392);
+									dbg.location(992,73);
+									pushFollow(FOLLOW_ws_in_fnAttributeValue6404);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -20817,16 +20893,16 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:78: ( ( ws )? SOLIDUS ( ws )? )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:78: ( ( ws )? SOLIDUS ( ws )? )
 									{
-									dbg.location(991,78);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:78: ( ( ws )? SOLIDUS ( ws )? )
+									dbg.location(992,78);
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:78: ( ( ws )? SOLIDUS ( ws )? )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:79: ( ws )? SOLIDUS ( ws )?
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:79: ( ws )? SOLIDUS ( ws )?
 									{
-									dbg.location(991,79);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:79: ( ws )?
+									dbg.location(992,79);
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:79: ( ws )?
 									int alt271=2;
 									try { dbg.enterSubRule(271);
 									try { dbg.enterDecision(271, decisionCanBacktrack[271]);
@@ -20841,10 +20917,10 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:79: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:79: ws
 											{
-											dbg.location(991,79);
-											pushFollow(FOLLOW_ws_in_fnAttributeValue6397);
+											dbg.location(992,79);
+											pushFollow(FOLLOW_ws_in_fnAttributeValue6409);
 											ws();
 											state._fsp--;
 											if (state.failed) return;
@@ -20853,9 +20929,9 @@
 
 									}
 									} finally {dbg.exitSubRule(271);}
-									dbg.location(991,83);
-									match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue6400); if (state.failed) return;dbg.location(991,91);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:91: ( ws )?
+									dbg.location(992,83);
+									match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue6412); if (state.failed) return;dbg.location(992,91);
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:91: ( ws )?
 									int alt272=2;
 									try { dbg.enterSubRule(272);
 									try { dbg.enterDecision(272, decisionCanBacktrack[272]);
@@ -20870,10 +20946,10 @@
 										case 1 :
 											dbg.enterAlt(1);
 
-											// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:91: ws
+											// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:91: ws
 											{
-											dbg.location(991,91);
-											pushFollow(FOLLOW_ws_in_fnAttributeValue6402);
+											dbg.location(992,91);
+											pushFollow(FOLLOW_ws_in_fnAttributeValue6414);
 											ws();
 											state._fsp--;
 											if (state.failed) return;
@@ -20890,15 +20966,15 @@
 								case 3 :
 									dbg.enterAlt(3);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:111: 
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:111: 
 									{
 									}
 									break;
 
 							}
 							} finally {dbg.exitSubRule(273);}
-							dbg.location(991,113);
-							pushFollow(FOLLOW_term_in_fnAttributeValue6411);
+							dbg.location(992,113);
+							pushFollow(FOLLOW_term_in_fnAttributeValue6423);
 							term();
 							state._fsp--;
 							if (state.failed) return;
@@ -20916,14 +20992,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:992:15: {...}? cp_math_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:993:15: {...}? cp_math_expression
 					{
-					dbg.location(992,15);
+					dbg.location(993,15);
 					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "fnAttributeValue", "isCssPreprocessorSource()");
-					}dbg.location(992,44);
-					pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue6432);
+					}dbg.location(993,44);
+					pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue6444);
 					cp_math_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -20939,7 +21015,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(993, 1);
+		dbg.location(994, 1);
 
 		}
 		finally {
@@ -20954,21 +21030,21 @@
 
 
 	// $ANTLR start "hexColor"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:995:1: hexColor : HASH ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:996:1: hexColor : HASH ;
 	public final void hexColor() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "hexColor");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(995, 0);
+		dbg.location(996, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:996:5: ( HASH )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:997:5: ( HASH )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:996:7: HASH
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:997:7: HASH
 			{
-			dbg.location(996,7);
-			match(input,HASH,FOLLOW_HASH_in_hexColor6446); if (state.failed) return;
+			dbg.location(997,7);
+			match(input,HASH,FOLLOW_HASH_in_hexColor6458); if (state.failed) return;
 			}
 
 		}
@@ -20979,7 +21055,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(997, 4);
+		dbg.location(998, 4);
 
 		}
 		finally {
@@ -20994,21 +21070,21 @@
 
 
 	// $ANTLR start "ws"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:999:1: ws : ( WS | NL | COMMENT )+ ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:1: ws : ( WS | NL | COMMENT )+ ;
 	public final void ws() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "ws");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(999, 0);
+		dbg.location(1000, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1000:5: ( ( WS | NL | COMMENT )+ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1001:5: ( ( WS | NL | COMMENT )+ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1000:7: ( WS | NL | COMMENT )+
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1001:7: ( WS | NL | COMMENT )+
 			{
-			dbg.location(1000,7);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1000:7: ( WS | NL | COMMENT )+
+			dbg.location(1001,7);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1001:7: ( WS | NL | COMMENT )+
 			int cnt276=0;
 			try { dbg.enterSubRule(276);
 
@@ -21028,9 +21104,9 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
-					dbg.location(1000,7);
+					dbg.location(1001,7);
 					if ( input.LA(1)==COMMENT||input.LA(1)==NL||input.LA(1)==WS ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -21067,7 +21143,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1001, 4);
+		dbg.location(1002, 4);
 
 		}
 		finally {
@@ -21082,15 +21158,15 @@
 
 
 	// $ANTLR start "cp_variable_declaration"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1006:1: cp_variable_declaration : ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:1: cp_variable_declaration : ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* );
 	public final void cp_variable_declaration() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_variable_declaration");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1006, 0);
+		dbg.location(1007, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1007:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1008:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
 			int alt284=2;
 			try { dbg.enterDecision(284, decisionCanBacktrack[284]);
 
@@ -21158,18 +21234,18 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1008:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list
 					{
-					dbg.location(1008,9);
+					dbg.location(1009,9);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_variable_declaration", "isLessSource()");
-					}dbg.location(1008,27);
-					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6506);
+					}dbg.location(1009,27);
+					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6518);
 					cp_variable();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1008,39);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1008:39: ( ws )?
+					if (state.failed) return;dbg.location(1009,39);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:39: ( ws )?
 					int alt277=2;
 					try { dbg.enterSubRule(277);
 					try { dbg.enterDecision(277, decisionCanBacktrack[277]);
@@ -21184,10 +21260,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1008:39: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:39: ws
 							{
-							dbg.location(1008,39);
-							pushFollow(FOLLOW_ws_in_cp_variable_declaration6508);
+							dbg.location(1009,39);
+							pushFollow(FOLLOW_ws_in_cp_variable_declaration6520);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21196,9 +21272,9 @@
 
 					}
 					} finally {dbg.exitSubRule(277);}
-					dbg.location(1008,43);
-					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6511); if (state.failed) return;dbg.location(1008,49);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1008:49: ( ws )?
+					dbg.location(1009,43);
+					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6523); if (state.failed) return;dbg.location(1009,49);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:49: ( ws )?
 					int alt278=2;
 					try { dbg.enterSubRule(278);
 					try { dbg.enterDecision(278, decisionCanBacktrack[278]);
@@ -21213,10 +21289,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1008:49: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:49: ws
 							{
-							dbg.location(1008,49);
-							pushFollow(FOLLOW_ws_in_cp_variable_declaration6513);
+							dbg.location(1009,49);
+							pushFollow(FOLLOW_ws_in_cp_variable_declaration6525);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21225,8 +21301,8 @@
 
 					}
 					} finally {dbg.exitSubRule(278);}
-					dbg.location(1008,53);
-					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6516);
+					dbg.location(1009,53);
+					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6528);
 					cp_expression_list();
 					state._fsp--;
 					if (state.failed) return;
@@ -21235,18 +21311,18 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
 					{
-					dbg.location(1010,9);
+					dbg.location(1011,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_variable_declaration", "isScssSource()");
-					}dbg.location(1010,27);
-					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6538);
+					}dbg.location(1011,27);
+					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6550);
 					cp_variable();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1010,39);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:39: ( ws )?
+					if (state.failed) return;dbg.location(1011,39);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:39: ( ws )?
 					int alt279=2;
 					try { dbg.enterSubRule(279);
 					try { dbg.enterDecision(279, decisionCanBacktrack[279]);
@@ -21261,10 +21337,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:39: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:39: ws
 							{
-							dbg.location(1010,39);
-							pushFollow(FOLLOW_ws_in_cp_variable_declaration6540);
+							dbg.location(1011,39);
+							pushFollow(FOLLOW_ws_in_cp_variable_declaration6552);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21273,9 +21349,9 @@
 
 					}
 					} finally {dbg.exitSubRule(279);}
-					dbg.location(1010,43);
-					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6543); if (state.failed) return;dbg.location(1010,49);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:49: ( ws )?
+					dbg.location(1011,43);
+					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6555); if (state.failed) return;dbg.location(1011,49);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:49: ( ws )?
 					int alt280=2;
 					try { dbg.enterSubRule(280);
 					try { dbg.enterDecision(280, decisionCanBacktrack[280]);
@@ -21290,10 +21366,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:49: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:49: ws
 							{
-							dbg.location(1010,49);
-							pushFollow(FOLLOW_ws_in_cp_variable_declaration6545);
+							dbg.location(1011,49);
+							pushFollow(FOLLOW_ws_in_cp_variable_declaration6557);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21302,12 +21378,12 @@
 
 					}
 					} finally {dbg.exitSubRule(280);}
-					dbg.location(1010,53);
-					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6548);
+					dbg.location(1011,53);
+					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6560);
 					cp_expression_list();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1010,72);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
+					if (state.failed) return;dbg.location(1011,72);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
 					try { dbg.enterSubRule(283);
 
 					loop283:
@@ -21329,16 +21405,16 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:73: ( ( ws )? SASS_DEFAULT )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:73: ( ( ws )? SASS_DEFAULT )
 							{
-							dbg.location(1010,73);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:73: ( ( ws )? SASS_DEFAULT )
+							dbg.location(1011,73);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:73: ( ( ws )? SASS_DEFAULT )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:74: ( ws )? SASS_DEFAULT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:74: ( ws )? SASS_DEFAULT
 							{
-							dbg.location(1010,74);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:74: ( ws )?
+							dbg.location(1011,74);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:74: ( ws )?
 							int alt281=2;
 							try { dbg.enterSubRule(281);
 							try { dbg.enterDecision(281, decisionCanBacktrack[281]);
@@ -21353,10 +21429,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:74: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:74: ws
 									{
-									dbg.location(1010,74);
-									pushFollow(FOLLOW_ws_in_cp_variable_declaration6552);
+									dbg.location(1011,74);
+									pushFollow(FOLLOW_ws_in_cp_variable_declaration6564);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -21365,8 +21441,8 @@
 
 							}
 							} finally {dbg.exitSubRule(281);}
-							dbg.location(1010,78);
-							match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6555); if (state.failed) return;
+							dbg.location(1011,78);
+							match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6567); if (state.failed) return;
 							}
 
 							}
@@ -21374,16 +21450,16 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:94: ( ( ws )? SASS_GLOBAL )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:94: ( ( ws )? SASS_GLOBAL )
 							{
-							dbg.location(1010,94);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:94: ( ( ws )? SASS_GLOBAL )
+							dbg.location(1011,94);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:94: ( ( ws )? SASS_GLOBAL )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:95: ( ws )? SASS_GLOBAL
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:95: ( ws )? SASS_GLOBAL
 							{
-							dbg.location(1010,95);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:95: ( ws )?
+							dbg.location(1011,95);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:95: ( ws )?
 							int alt282=2;
 							try { dbg.enterSubRule(282);
 							try { dbg.enterDecision(282, decisionCanBacktrack[282]);
@@ -21398,10 +21474,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1010:95: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:95: ws
 									{
-									dbg.location(1010,95);
-									pushFollow(FOLLOW_ws_in_cp_variable_declaration6561);
+									dbg.location(1011,95);
+									pushFollow(FOLLOW_ws_in_cp_variable_declaration6573);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -21410,8 +21486,8 @@
 
 							}
 							} finally {dbg.exitSubRule(282);}
-							dbg.location(1010,99);
-							match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6564); if (state.failed) return;
+							dbg.location(1011,99);
+							match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6576); if (state.failed) return;
 							}
 
 							}
@@ -21435,7 +21511,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1011, 4);
+		dbg.location(1012, 4);
 
 		}
 		finally {
@@ -21450,15 +21526,15 @@
 
 
 	// $ANTLR start "cp_variable"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1014:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1015:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) );
 	public final void cp_variable() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_variable");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1014, 0);
+		dbg.location(1015, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1015:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1016:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) )
 			int alt285=2;
 			try { dbg.enterDecision(285, decisionCanBacktrack[285]);
 
@@ -21484,13 +21560,13 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1017:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT )
 					{
-					dbg.location(1017,9);
+					dbg.location(1018,9);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_variable", "isLessSource()");
-					}dbg.location(1017,27);
+					}dbg.location(1018,27);
 					if ( input.LA(1)==AT_IDENT||(input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||input.LA(1)==CHARSET_SYM||input.LA(1)==COUNTER_STYLE_SYM||input.LA(1)==FONT_FACE_SYM||input.LA(1)==IMPORT_SYM||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||input.LA(1)==MEDIA_SYM||input.LA(1)==MOZ_DOCUMENT_SYM||input.LA(1)==NAMESPACE_SYM||input.LA(1)==PAGE_SYM||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= SASS_AT_ROOT && input.LA(1) <= SASS_DEBUG)||(input.LA(1) >= SASS_EACH && input.LA(1) <= SASS_ELSE)||input.LA(1)==SASS_EXTEND||(input.LA(1) >= SASS_FOR && input.LA(1) <= SASS_FUNCTION)||(input.LA(1) >= SASS_IF && input.LA(1) <= SASS_MIXIN)||input.LA(1)==SASS_RETURN||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM)||input.LA(1)==WEBKIT_KEYFRAMES_SYM ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -21507,20 +21583,20 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1019:9: {...}? ( SASS_VAR )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:9: {...}? ( SASS_VAR )
 					{
-					dbg.location(1019,9);
+					dbg.location(1020,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_variable", "isScssSource()");
-					}dbg.location(1019,27);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1019:27: ( SASS_VAR )
+					}dbg.location(1020,27);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:27: ( SASS_VAR )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1019:29: SASS_VAR
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:29: SASS_VAR
 					{
-					dbg.location(1019,29);
-					match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable6788); if (state.failed) return;
+					dbg.location(1020,29);
+					match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable6800); if (state.failed) return;
 					}
 
 					}
@@ -21535,7 +21611,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1020, 4);
+		dbg.location(1021, 4);
 
 		}
 		finally {
@@ -21550,25 +21626,25 @@
 
 
 	// $ANTLR start "cp_expression_list"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1023:1: cp_expression_list : ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1024:1: cp_expression_list : ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ;
 	public final void cp_expression_list() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_expression_list");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1023, 0);
+		dbg.location(1024, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1024:5: ( ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1025:5: ( ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1025:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1026:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
 			{
-			dbg.location(1025,24);
-			pushFollow(FOLLOW_cp_expression_in_cp_expression_list6818);
+			dbg.location(1026,24);
+			pushFollow(FOLLOW_cp_expression_in_cp_expression_list6830);
 			cp_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1026,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
+			if (state.failed) return;dbg.location(1027,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
 			try { dbg.enterSubRule(288);
 
 			loop288:
@@ -21590,10 +21666,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:6: ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:6: ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression
 					{
-					dbg.location(1026,37);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:37: ( ws )?
+					dbg.location(1027,37);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:37: ( ws )?
 					int alt286=2;
 					try { dbg.enterSubRule(286);
 					try { dbg.enterDecision(286, decisionCanBacktrack[286]);
@@ -21608,10 +21684,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:37: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:37: ws
 							{
-							dbg.location(1026,37);
-							pushFollow(FOLLOW_ws_in_cp_expression_list6837);
+							dbg.location(1027,37);
+							pushFollow(FOLLOW_ws_in_cp_expression_list6849);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21620,9 +21696,9 @@
 
 					}
 					} finally {dbg.exitSubRule(286);}
-					dbg.location(1026,41);
-					match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list6840); if (state.failed) return;dbg.location(1026,47);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:47: ( ws )?
+					dbg.location(1027,41);
+					match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list6852); if (state.failed) return;dbg.location(1027,47);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:47: ( ws )?
 					int alt287=2;
 					try { dbg.enterSubRule(287);
 					try { dbg.enterDecision(287, decisionCanBacktrack[287]);
@@ -21637,10 +21713,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:47: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:47: ws
 							{
-							dbg.location(1026,47);
-							pushFollow(FOLLOW_ws_in_cp_expression_list6842);
+							dbg.location(1027,47);
+							pushFollow(FOLLOW_ws_in_cp_expression_list6854);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21649,8 +21725,8 @@
 
 					}
 					} finally {dbg.exitSubRule(287);}
-					dbg.location(1026,51);
-					pushFollow(FOLLOW_cp_expression_in_cp_expression_list6845);
+					dbg.location(1027,51);
+					pushFollow(FOLLOW_cp_expression_in_cp_expression_list6857);
 					cp_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -21673,7 +21749,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1027, 4);
+		dbg.location(1028, 4);
 
 		}
 		finally {
@@ -21688,15 +21764,15 @@
 
 
 	// $ANTLR start "cp_expression"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1039:1: cp_expression : ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1040:1: cp_expression : ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN );
 	public final void cp_expression() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_expression");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1039, 0);
+		dbg.location(1040, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1040:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1041:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN )
 			int alt297=3;
 			try { dbg.enterDecision(297, decisionCanBacktrack[297]);
 
@@ -21719,6 +21795,9 @@
 			else if ( (LA297_0==NUMBER) && (synpred43_Css3())) {
 				alt297=2;
 			}
+			else if ( (LA297_0==URANGE) && (synpred43_Css3())) {
+				alt297=2;
+			}
 			else if ( (LA297_0==PERCENTAGE) && (synpred43_Css3())) {
 				alt297=2;
 			}
@@ -21789,7 +21868,7 @@
 				alt297=2;
 			}
 			else if ( (LA297_0==LPAREN) ) {
-				int LA297_30 = input.LA(2);
+				int LA297_31 = input.LA(2);
 				if ( (synpred43_Css3()) ) {
 					alt297=2;
 				}
@@ -21803,7 +21882,7 @@
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 297, 30, input);
+							new NoViableAltException("", 297, 31, input);
 						dbg.recognitionException(nvae);
 						throw nvae;
 					} finally {
@@ -21827,21 +21906,21 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:5: {...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:5: {...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
 					{
-					dbg.location(1041,5);
+					dbg.location(1042,5);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_expression", "isLessSource()");
-					}dbg.location(1041,23);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:23: ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
+					}dbg.location(1042,23);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:23: ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
 					{
-					dbg.location(1041,24);
-					match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression6881); if (state.failed) return;dbg.location(1041,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:31: ( ws )?
+					dbg.location(1042,24);
+					match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression6893); if (state.failed) return;dbg.location(1042,31);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:31: ( ws )?
 					int alt289=2;
 					try { dbg.enterSubRule(289);
 					try { dbg.enterDecision(289, decisionCanBacktrack[289]);
@@ -21856,10 +21935,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:31: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:31: ws
 							{
-							dbg.location(1041,31);
-							pushFollow(FOLLOW_ws_in_cp_expression6883);
+							dbg.location(1042,31);
+							pushFollow(FOLLOW_ws_in_cp_expression6895);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -21868,12 +21947,12 @@
 
 					}
 					} finally {dbg.exitSubRule(289);}
-					dbg.location(1041,35);
-					pushFollow(FOLLOW_syncToFollow_in_cp_expression6886);
+					dbg.location(1042,35);
+					pushFollow(FOLLOW_syncToFollow_in_cp_expression6898);
 					syncToFollow();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1041,48);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:48: ( declarations )?
+					if (state.failed) return;dbg.location(1042,48);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:48: ( declarations )?
 					int alt290=2;
 					try { dbg.enterSubRule(290);
 					try { dbg.enterDecision(290, decisionCanBacktrack[290]);
@@ -21888,10 +21967,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1041:48: declarations
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:48: declarations
 							{
-							dbg.location(1041,48);
-							pushFollow(FOLLOW_declarations_in_cp_expression6888);
+							dbg.location(1042,48);
+							pushFollow(FOLLOW_declarations_in_cp_expression6900);
 							declarations();
 							state._fsp--;
 							if (state.failed) return;
@@ -21900,8 +21979,8 @@
 
 					}
 					} finally {dbg.exitSubRule(290);}
-					dbg.location(1041,62);
-					match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression6891); if (state.failed) return;
+					dbg.location(1042,62);
+					match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression6903); if (state.failed) return;
 					}
 
 					}
@@ -21909,20 +21988,20 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1042:7: ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:7: ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
 					{
-					dbg.location(1042,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1042:31: ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
+					dbg.location(1043,31);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:31: ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1042:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
 					{
-					dbg.location(1042,32);
-					pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6907);
+					dbg.location(1043,32);
+					pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6919);
 					cp_expression_atom();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1043,5);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1043:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
+					if (state.failed) return;dbg.location(1044,5);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1044:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
 					try { dbg.enterSubRule(294);
 
 					loop294:
@@ -21944,16 +22023,16 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:9: ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:9: ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom
 							{
-							dbg.location(1044,39);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:39: ( ( ws )? cp_expression_operator ( ws )? )
+							dbg.location(1045,39);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:39: ( ( ws )? cp_expression_operator ( ws )? )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:40: ( ws )? cp_expression_operator ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:40: ( ws )? cp_expression_operator ( ws )?
 							{
-							dbg.location(1044,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:40: ( ws )?
+							dbg.location(1045,40);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:40: ( ws )?
 							int alt291=2;
 							try { dbg.enterSubRule(291);
 							try { dbg.enterDecision(291, decisionCanBacktrack[291]);
@@ -21968,10 +22047,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:40: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:40: ws
 									{
-									dbg.location(1044,40);
-									pushFollow(FOLLOW_ws_in_cp_expression6931);
+									dbg.location(1045,40);
+									pushFollow(FOLLOW_ws_in_cp_expression6943);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -21980,12 +22059,12 @@
 
 							}
 							} finally {dbg.exitSubRule(291);}
-							dbg.location(1044,44);
-							pushFollow(FOLLOW_cp_expression_operator_in_cp_expression6934);
+							dbg.location(1045,44);
+							pushFollow(FOLLOW_cp_expression_operator_in_cp_expression6946);
 							cp_expression_operator();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1044,67);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:67: ( ws )?
+							if (state.failed) return;dbg.location(1045,67);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:67: ( ws )?
 							int alt292=2;
 							try { dbg.enterSubRule(292);
 							try { dbg.enterDecision(292, decisionCanBacktrack[292]);
@@ -22000,10 +22079,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:67: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:67: ws
 									{
-									dbg.location(1044,67);
-									pushFollow(FOLLOW_ws_in_cp_expression6936);
+									dbg.location(1045,67);
+									pushFollow(FOLLOW_ws_in_cp_expression6948);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -22014,8 +22093,8 @@
 							} finally {dbg.exitSubRule(292);}
 
 							}
-							dbg.location(1044,72);
-							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6940);
+							dbg.location(1045,72);
+							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6952);
 							cp_expression_atom();
 							state._fsp--;
 							if (state.failed) return;
@@ -22024,10 +22103,10 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:11: ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:11: ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom
 							{
-							dbg.location(1045,37);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:37: ( ws )?
+							dbg.location(1046,37);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:37: ( ws )?
 							int alt293=2;
 							try { dbg.enterSubRule(293);
 							try { dbg.enterDecision(293, decisionCanBacktrack[293]);
@@ -22042,10 +22121,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:37: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:37: ws
 									{
-									dbg.location(1045,37);
-									pushFollow(FOLLOW_ws_in_cp_expression6959);
+									dbg.location(1046,37);
+									pushFollow(FOLLOW_ws_in_cp_expression6971);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -22054,8 +22133,8 @@
 
 							}
 							} finally {dbg.exitSubRule(293);}
-							dbg.location(1045,41);
-							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6962);
+							dbg.location(1046,41);
+							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6974);
 							cp_expression_atom();
 							state._fsp--;
 							if (state.failed) return;
@@ -22075,15 +22154,15 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1047:7: {...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:7: {...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN
 					{
-					dbg.location(1047,7);
+					dbg.location(1048,7);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_expression", "isScssSource()");
-					}dbg.location(1047,25);
-					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression6980); if (state.failed) return;dbg.location(1047,32);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1047:32: ( ws )?
+					}dbg.location(1048,25);
+					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression6992); if (state.failed) return;dbg.location(1048,32);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:32: ( ws )?
 					int alt295=2;
 					try { dbg.enterSubRule(295);
 					try { dbg.enterDecision(295, decisionCanBacktrack[295]);
@@ -22098,10 +22177,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1047:32: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:32: ws
 							{
-							dbg.location(1047,32);
-							pushFollow(FOLLOW_ws_in_cp_expression6982);
+							dbg.location(1048,32);
+							pushFollow(FOLLOW_ws_in_cp_expression6994);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -22110,12 +22189,12 @@
 
 					}
 					} finally {dbg.exitSubRule(295);}
-					dbg.location(1047,36);
-					pushFollow(FOLLOW_syncToFollow_in_cp_expression6985);
+					dbg.location(1048,36);
+					pushFollow(FOLLOW_syncToFollow_in_cp_expression6997);
 					syncToFollow();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1047,49);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1047:49: ( sass_map_pairs )?
+					if (state.failed) return;dbg.location(1048,49);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:49: ( sass_map_pairs )?
 					int alt296=2;
 					try { dbg.enterSubRule(296);
 					try { dbg.enterDecision(296, decisionCanBacktrack[296]);
@@ -22130,10 +22209,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1047:49: sass_map_pairs
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:49: sass_map_pairs
 							{
-							dbg.location(1047,49);
-							pushFollow(FOLLOW_sass_map_pairs_in_cp_expression6987);
+							dbg.location(1048,49);
+							pushFollow(FOLLOW_sass_map_pairs_in_cp_expression6999);
 							sass_map_pairs();
 							state._fsp--;
 							if (state.failed) return;
@@ -22142,8 +22221,8 @@
 
 					}
 					} finally {dbg.exitSubRule(296);}
-					dbg.location(1047,65);
-					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression6990); if (state.failed) return;
+					dbg.location(1048,65);
+					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression7002); if (state.failed) return;
 					}
 					break;
 
@@ -22156,7 +22235,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1048, 4);
+		dbg.location(1049, 4);
 
 		}
 		finally {
@@ -22171,15 +22250,15 @@
 
 
 	// $ANTLR start "cp_expression_operator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1050:1: cp_expression_operator : ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1051:1: cp_expression_operator : ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ );
 	public final void cp_expression_operator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_expression_operator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1050, 0);
+		dbg.location(1051, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1051:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ )
 			int alt298=8;
 			try { dbg.enterDecision(298, decisionCanBacktrack[298]);
 
@@ -22253,10 +22332,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:5: key_or
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:5: key_or
 					{
-					dbg.location(1052,5);
-					pushFollow(FOLLOW_key_or_in_cp_expression_operator7011);
+					dbg.location(1053,5);
+					pushFollow(FOLLOW_key_or_in_cp_expression_operator7023);
 					key_or();
 					state._fsp--;
 					if (state.failed) return;
@@ -22265,10 +22344,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:14: key_and
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:14: key_and
 					{
-					dbg.location(1052,14);
-					pushFollow(FOLLOW_key_and_in_cp_expression_operator7015);
+					dbg.location(1053,14);
+					pushFollow(FOLLOW_key_and_in_cp_expression_operator7027);
 					key_and();
 					state._fsp--;
 					if (state.failed) return;
@@ -22277,55 +22356,55 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:25: CP_EQ
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:25: CP_EQ
 					{
-					dbg.location(1052,25);
-					match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator7020); if (state.failed) return;
+					dbg.location(1053,25);
+					match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator7032); if (state.failed) return;
 					}
 					break;
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:33: CP_NOT_EQ
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:33: CP_NOT_EQ
 					{
-					dbg.location(1052,33);
-					match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator7024); if (state.failed) return;
+					dbg.location(1053,33);
+					match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator7036); if (state.failed) return;
 					}
 					break;
 				case 5 :
 					dbg.enterAlt(5);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:45: LESS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:45: LESS
 					{
-					dbg.location(1052,45);
-					match(input,LESS,FOLLOW_LESS_in_cp_expression_operator7028); if (state.failed) return;
+					dbg.location(1053,45);
+					match(input,LESS,FOLLOW_LESS_in_cp_expression_operator7040); if (state.failed) return;
 					}
 					break;
 				case 6 :
 					dbg.enterAlt(6);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:52: LESS_OR_EQ
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:52: LESS_OR_EQ
 					{
-					dbg.location(1052,52);
-					match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator7032); if (state.failed) return;
+					dbg.location(1053,52);
+					match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator7044); if (state.failed) return;
 					}
 					break;
 				case 7 :
 					dbg.enterAlt(7);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:65: GREATER
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:65: GREATER
 					{
-					dbg.location(1052,65);
-					match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator7036); if (state.failed) return;
+					dbg.location(1053,65);
+					match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator7048); if (state.failed) return;
 					}
 					break;
 				case 8 :
 					dbg.enterAlt(8);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1052:75: GREATER_OR_EQ
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:75: GREATER_OR_EQ
 					{
-					dbg.location(1052,75);
-					match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator7040); if (state.failed) return;
+					dbg.location(1053,75);
+					match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator7052); if (state.failed) return;
 					}
 					break;
 
@@ -22338,7 +22417,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1053, 4);
+		dbg.location(1054, 4);
 
 		}
 		finally {
@@ -22353,21 +22432,21 @@
 
 
 	// $ANTLR start "cp_expression_atom"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1055:1: cp_expression_atom : ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:1: cp_expression_atom : ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ;
 	public final void cp_expression_atom() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_expression_atom");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1055, 0);
+		dbg.location(1056, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1056:5: ( ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:5: ( ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1057:9: ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:9: ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
 			{
-			dbg.location(1057,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1057:9: ( NOT ( ws )? )?
+			dbg.location(1058,9);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:9: ( NOT ( ws )? )?
 			int alt300=2;
 			try { dbg.enterSubRule(300);
 			try { dbg.enterDecision(300, decisionCanBacktrack[300]);
@@ -22382,11 +22461,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1057:10: NOT ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:10: NOT ( ws )?
 					{
-					dbg.location(1057,10);
-					match(input,NOT,FOLLOW_NOT_in_cp_expression_atom7066); if (state.failed) return;dbg.location(1057,14);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1057:14: ( ws )?
+					dbg.location(1058,10);
+					match(input,NOT,FOLLOW_NOT_in_cp_expression_atom7078); if (state.failed) return;dbg.location(1058,14);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:14: ( ws )?
 					int alt299=2;
 					try { dbg.enterSubRule(299);
 					try { dbg.enterDecision(299, decisionCanBacktrack[299]);
@@ -22401,10 +22480,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1057:14: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:14: ws
 							{
-							dbg.location(1057,14);
-							pushFollow(FOLLOW_ws_in_cp_expression_atom7068);
+							dbg.location(1058,14);
+							pushFollow(FOLLOW_ws_in_cp_expression_atom7080);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -22419,8 +22498,8 @@
 
 			}
 			} finally {dbg.exitSubRule(300);}
-			dbg.location(1058,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1058:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
+			dbg.location(1059,9);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1059:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
 			int alt304=2;
 			try { dbg.enterSubRule(304);
 			try { dbg.enterDecision(304, decisionCanBacktrack[304]);
@@ -22438,6 +22517,9 @@
 			else if ( (LA304_0==NUMBER) && (synpred46_Css3())) {
 				alt304=1;
 			}
+			else if ( (LA304_0==URANGE) && (synpred46_Css3())) {
+				alt304=1;
+			}
 			else if ( (LA304_0==PERCENTAGE) && (synpred46_Css3())) {
 				alt304=1;
 			}
@@ -22508,7 +22590,7 @@
 				alt304=1;
 			}
 			else if ( (LA304_0==LPAREN) ) {
-				int LA304_28 = input.LA(2);
+				int LA304_29 = input.LA(2);
 				if ( (synpred46_Css3()) ) {
 					alt304=1;
 				}
@@ -22532,10 +22614,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1059:13: ( cp_math_expression )=> cp_math_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1060:13: ( cp_math_expression )=> cp_math_expression
 					{
-					dbg.location(1059,35);
-					pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom7099);
+					dbg.location(1060,35);
+					pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom7111);
 					cp_math_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -22544,11 +22626,11 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN
 					{
-					dbg.location(1060,15);
-					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom7115); if (state.failed) return;dbg.location(1060,22);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:22: ( ws )?
+					dbg.location(1061,15);
+					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom7127); if (state.failed) return;dbg.location(1061,22);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:22: ( ws )?
 					int alt301=2;
 					try { dbg.enterSubRule(301);
 					try { dbg.enterDecision(301, decisionCanBacktrack[301]);
@@ -22563,10 +22645,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:22: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:22: ws
 							{
-							dbg.location(1060,22);
-							pushFollow(FOLLOW_ws_in_cp_expression_atom7117);
+							dbg.location(1061,22);
+							pushFollow(FOLLOW_ws_in_cp_expression_atom7129);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -22575,14 +22657,14 @@
 
 					}
 					} finally {dbg.exitSubRule(301);}
-					dbg.location(1060,26);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:26: ( cp_expression_list ( ws )? )?
+					dbg.location(1061,26);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:26: ( cp_expression_list ( ws )? )?
 					int alt303=2;
 					try { dbg.enterSubRule(303);
 					try { dbg.enterDecision(303, decisionCanBacktrack[303]);
 
 					int LA303_0 = input.LA(1);
-					if ( ((LA303_0 >= ANGLE && LA303_0 <= AT_SIGN)||(LA303_0 >= BOTTOMCENTER_SYM && LA303_0 <= BOTTOMRIGHT_SYM)||LA303_0==CHARSET_SYM||LA303_0==COUNTER_STYLE_SYM||LA303_0==DIMENSION||LA303_0==EMS||LA303_0==EXS||(LA303_0 >= FONT_FACE_SYM && LA303_0 <= FREQ)||LA303_0==GEN||(LA303_0 >= HASH && LA303_0 <= HASH_SYMBOL)||(LA303_0 >= IDENT && LA303_0 <= IMPORT_SYM)||LA303_0==LBRACE||(LA303_0 >= LEFTBOTTOM_SYM && LA303_0 <= LENGTH)||(LA303_0 >= LESS_AND && LA303_0 <= LESS_JS_STRING)||LA303_0==LPAREN||(LA303_0 >= MEDIA_SYM && LA303_0 <= MOZ_DOCUMENT_SYM)||LA303_0==NAMESPACE_SYM||(LA303_0 >= NOT && LA303_0 <= NUMBER)||(LA303_0 >= PAGE_SYM && LA303_0 <= PERCENTAGE_SYMBOL)||LA303_0==PLUS||(LA303_0 >= REM && LA303_0 <= RIGHTTOP_SYM)||(LA303_0 >= SASS_AT_ROOT && LA303_0 <= SASS_DEBUG)||(LA303_0 >= SASS_EACH && LA303_0 <= SASS_ELSE)||LA303_0==SASS_EXTEND||(LA303_0 >= SASS_FOR && LA303_0 <= SASS_FUNCTION)||(LA303_0 >= SASS_IF && LA303_0 <= SASS_MIXIN)||(LA303_0 >= SASS_RETURN && LA303_0 <= SASS_WHILE)||LA303_0==STRING||(LA303_0 >= TILDE && LA303_0 <= TOPRIGHT_SYM)||LA303_0==URI||LA303_0==VARIABLE||LA303_0==WEBKIT_KEYFRAMES_SYM) ) {
+					if ( ((LA303_0 >= ANGLE && LA303_0 <= AT_SIGN)||(LA303_0 >= BOTTOMCENTER_SYM && LA303_0 <= BOTTOMRIGHT_SYM)||LA303_0==CHARSET_SYM||LA303_0==COUNTER_STYLE_SYM||LA303_0==DIMENSION||LA303_0==EMS||LA303_0==EXS||(LA303_0 >= FONT_FACE_SYM && LA303_0 <= FREQ)||LA303_0==GEN||(LA303_0 >= HASH && LA303_0 <= HASH_SYMBOL)||(LA303_0 >= IDENT && LA303_0 <= IMPORT_SYM)||LA303_0==LBRACE||(LA303_0 >= LEFTBOTTOM_SYM && LA303_0 <= LENGTH)||(LA303_0 >= LESS_AND && LA303_0 <= LESS_JS_STRING)||LA303_0==LPAREN||(LA303_0 >= MEDIA_SYM && LA303_0 <= MOZ_DOCUMENT_SYM)||LA303_0==NAMESPACE_SYM||(LA303_0 >= NOT && LA303_0 <= NUMBER)||(LA303_0 >= PAGE_SYM && LA303_0 <= PERCENTAGE_SYMBOL)||LA303_0==PLUS||(LA303_0 >= REM && LA303_0 <= RIGHTTOP_SYM)||(LA303_0 >= SASS_AT_ROOT && LA303_0 <= SASS_DEBUG)||(LA303_0 >= SASS_EACH && LA303_0 <= SASS_ELSE)||LA303_0==SASS_EXTEND||(LA303_0 >= SASS_FOR && LA303_0 <= SASS_FUNCTION)||(LA303_0 >= SASS_IF && LA303_0 <= SASS_MIXIN)||(LA303_0 >= SASS_RETURN && LA303_0 <= SASS_WHILE)||LA303_0==STRING||(LA303_0 >= TILDE && LA303_0 <= TOPRIGHT_SYM)||(LA303_0 >= URANGE && LA303_0 <= URI)||LA303_0==VARIABLE||LA303_0==WEBKIT_KEYFRAMES_SYM) ) {
 						alt303=1;
 					}
 					} finally {dbg.exitDecision(303);}
@@ -22591,14 +22673,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:27: cp_expression_list ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:27: cp_expression_list ( ws )?
 							{
-							dbg.location(1060,27);
-							pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom7121);
+							dbg.location(1061,27);
+							pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom7133);
 							cp_expression_list();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1060,46);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:46: ( ws )?
+							if (state.failed) return;dbg.location(1061,46);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:46: ( ws )?
 							int alt302=2;
 							try { dbg.enterSubRule(302);
 							try { dbg.enterDecision(302, decisionCanBacktrack[302]);
@@ -22613,10 +22695,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1060:46: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:46: ws
 									{
-									dbg.location(1060,46);
-									pushFollow(FOLLOW_ws_in_cp_expression_atom7123);
+									dbg.location(1061,46);
+									pushFollow(FOLLOW_ws_in_cp_expression_atom7135);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -22631,8 +22713,8 @@
 
 					}
 					} finally {dbg.exitSubRule(303);}
-					dbg.location(1060,52);
-					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom7128); if (state.failed) return;
+					dbg.location(1061,52);
+					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom7140); if (state.failed) return;
 					}
 					break;
 
@@ -22649,7 +22731,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1062, 4);
+		dbg.location(1063, 4);
 
 		}
 		finally {
@@ -22664,25 +22746,25 @@
 
 
 	// $ANTLR start "cp_math_expressions"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1065:1: cp_math_expressions : cp_math_expression ( ws cp_math_expression )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:1: cp_math_expressions : cp_math_expression ( ws cp_math_expression )* ;
 	public final void cp_math_expressions() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_math_expressions");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1065, 0);
+		dbg.location(1066, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1066:5: ( cp_math_expression ( ws cp_math_expression )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1067:5: ( cp_math_expression ( ws cp_math_expression )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1067:5: cp_math_expression ( ws cp_math_expression )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:5: cp_math_expression ( ws cp_math_expression )*
 			{
-			dbg.location(1067,5);
-			pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions7160);
+			dbg.location(1068,5);
+			pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions7172);
 			cp_math_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1068,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1068:5: ( ws cp_math_expression )*
+			if (state.failed) return;dbg.location(1069,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:5: ( ws cp_math_expression )*
 			try { dbg.enterSubRule(305);
 
 			loop305:
@@ -22701,14 +22783,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1068:6: ws cp_math_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:6: ws cp_math_expression
 					{
-					dbg.location(1068,6);
-					pushFollow(FOLLOW_ws_in_cp_math_expressions7167);
+					dbg.location(1069,6);
+					pushFollow(FOLLOW_ws_in_cp_math_expressions7179);
 					ws();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1068,9);
-					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions7169);
+					if (state.failed) return;dbg.location(1069,9);
+					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions7181);
 					cp_math_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -22731,7 +22813,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1069, 4);
+		dbg.location(1070, 4);
 
 		}
 		finally {
@@ -22746,25 +22828,25 @@
 
 
 	// $ANTLR start "cp_math_expression"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1083:1: cp_math_expression : cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:1: cp_math_expression : cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ;
 	public final void cp_math_expression() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_math_expression");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1083, 0);
+		dbg.location(1084, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1084:5: ( cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1085:5: ( cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1084:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1085:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
 			{
-			dbg.location(1084,10);
-			pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression7203);
+			dbg.location(1085,10);
+			pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression7215);
 			cp_math_expression_atom();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1085,10);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1085:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
+			if (state.failed) return;dbg.location(1086,10);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1086:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
 			try { dbg.enterSubRule(308);
 
 			loop308:
@@ -22786,10 +22868,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom
 					{
-					dbg.location(1086,48);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:48: ( ws )?
+					dbg.location(1087,48);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:48: ( ws )?
 					int alt306=2;
 					try { dbg.enterSubRule(306);
 					try { dbg.enterDecision(306, decisionCanBacktrack[306]);
@@ -22804,10 +22886,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:48: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:48: ws
 							{
-							dbg.location(1086,48);
-							pushFollow(FOLLOW_ws_in_cp_math_expression7245);
+							dbg.location(1087,48);
+							pushFollow(FOLLOW_ws_in_cp_math_expression7257);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -22816,7 +22898,7 @@
 
 					}
 					} finally {dbg.exitSubRule(306);}
-					dbg.location(1086,52);
+					dbg.location(1087,52);
 					if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -22827,8 +22909,8 @@
 						MismatchedSetException mse = new MismatchedSetException(null,input);
 						dbg.recognitionException(mse);
 						throw mse;
-					}dbg.location(1086,78);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:78: ( ws )?
+					}dbg.location(1087,78);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:78: ( ws )?
 					int alt307=2;
 					try { dbg.enterSubRule(307);
 					try { dbg.enterDecision(307, decisionCanBacktrack[307]);
@@ -22843,10 +22925,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:78: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:78: ws
 							{
-							dbg.location(1086,78);
-							pushFollow(FOLLOW_ws_in_cp_math_expression7258);
+							dbg.location(1087,78);
+							pushFollow(FOLLOW_ws_in_cp_math_expression7270);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -22855,8 +22937,8 @@
 
 					}
 					} finally {dbg.exitSubRule(307);}
-					dbg.location(1086,82);
-					pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression7261);
+					dbg.location(1087,82);
+					pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression7273);
 					cp_math_expression_atom();
 					state._fsp--;
 					if (state.failed) return;
@@ -22879,7 +22961,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1088, 4);
+		dbg.location(1089, 4);
 
 		}
 		finally {
@@ -22894,15 +22976,15 @@
 
 
 	// $ANTLR start "cp_math_expression_atom"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1090:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1091:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );
 	public final void cp_math_expression_atom() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_math_expression_atom");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1090, 0);
+		dbg.location(1091, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1091:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN )
 			int alt313=3;
 			try { dbg.enterDecision(313, decisionCanBacktrack[313]);
 
@@ -22920,10 +23002,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1092:5: term
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1093:5: term
 					{
-					dbg.location(1092,5);
-					pushFollow(FOLLOW_term_in_cp_math_expression_atom7294);
+					dbg.location(1093,5);
+					pushFollow(FOLLOW_term_in_cp_math_expression_atom7306);
 					term();
 					state._fsp--;
 					if (state.failed) return;
@@ -22932,19 +23014,19 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1093:7: IMPORTANT_SYM
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1094:7: IMPORTANT_SYM
 					{
-					dbg.location(1093,7);
-					match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7302); if (state.failed) return;
+					dbg.location(1094,7);
+					match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7314); if (state.failed) return;
 					}
 					break;
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:7: ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:7: ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN
 					{
-					dbg.location(1094,7);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:7: ( unaryOperator ( ws )? )?
+					dbg.location(1095,7);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:7: ( unaryOperator ( ws )? )?
 					int alt310=2;
 					try { dbg.enterSubRule(310);
 					try { dbg.enterDecision(310, decisionCanBacktrack[310]);
@@ -22959,14 +23041,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:9: unaryOperator ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:9: unaryOperator ( ws )?
 							{
-							dbg.location(1094,9);
-							pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom7313);
+							dbg.location(1095,9);
+							pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom7325);
 							unaryOperator();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1094,23);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:23: ( ws )?
+							if (state.failed) return;dbg.location(1095,23);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:23: ( ws )?
 							int alt309=2;
 							try { dbg.enterSubRule(309);
 							try { dbg.enterDecision(309, decisionCanBacktrack[309]);
@@ -22981,10 +23063,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:23: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:23: ws
 									{
-									dbg.location(1094,23);
-									pushFollow(FOLLOW_ws_in_cp_math_expression_atom7315);
+									dbg.location(1095,23);
+									pushFollow(FOLLOW_ws_in_cp_math_expression_atom7327);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -22999,9 +23081,9 @@
 
 					}
 					} finally {dbg.exitSubRule(310);}
-					dbg.location(1094,30);
-					match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom7321); if (state.failed) return;dbg.location(1094,37);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:37: ( ws )?
+					dbg.location(1095,30);
+					match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom7333); if (state.failed) return;dbg.location(1095,37);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:37: ( ws )?
 					int alt311=2;
 					try { dbg.enterSubRule(311);
 					try { dbg.enterDecision(311, decisionCanBacktrack[311]);
@@ -23016,10 +23098,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:37: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:37: ws
 							{
-							dbg.location(1094,37);
-							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7323);
+							dbg.location(1095,37);
+							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7335);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -23028,12 +23110,12 @@
 
 					}
 					} finally {dbg.exitSubRule(311);}
-					dbg.location(1094,41);
-					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom7326);
+					dbg.location(1095,41);
+					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom7338);
 					cp_math_expression();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1094,60);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:60: ( ws )?
+					if (state.failed) return;dbg.location(1095,60);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:60: ( ws )?
 					int alt312=2;
 					try { dbg.enterSubRule(312);
 					try { dbg.enterDecision(312, decisionCanBacktrack[312]);
@@ -23048,10 +23130,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1094:60: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:60: ws
 							{
-							dbg.location(1094,60);
-							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7328);
+							dbg.location(1095,60);
+							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7340);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -23060,8 +23142,8 @@
 
 					}
 					} finally {dbg.exitSubRule(312);}
-					dbg.location(1094,64);
-					match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom7331); if (state.failed) return;
+					dbg.location(1095,64);
+					match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom7343); if (state.failed) return;
 					}
 					break;
 
@@ -23074,7 +23156,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1095, 4);
+		dbg.location(1096, 4);
 
 		}
 		finally {
@@ -23089,21 +23171,21 @@
 
 
 	// $ANTLR start "cp_mixin_declaration"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1103:1: cp_mixin_declaration : ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:1: cp_mixin_declaration : ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ;
 	public final void cp_mixin_declaration() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_declaration");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1103, 0);
+		dbg.location(1104, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1104:5: ( ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:5: ( ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1105:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block
 			{
-			dbg.location(1105,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1105:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? )
+			dbg.location(1106,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? )
 			int alt325=2;
 			try { dbg.enterSubRule(325);
 			try { dbg.enterDecision(325, decisionCanBacktrack[325]);
@@ -23130,14 +23212,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:9: {...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:9: {...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )?
 					{
-					dbg.location(1106,9);
+					dbg.location(1107,9);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_mixin_declaration", "isLessSource()");
-					}dbg.location(1106,27);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) )
+					}dbg.location(1107,27);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) )
 					int alt318=2;
 					try { dbg.enterSubRule(318);
 					try { dbg.enterDecision(318, decisionCanBacktrack[318]);
@@ -23164,25 +23246,25 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:28: LESS_AND
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:28: LESS_AND
 							{
-							dbg.location(1106,28);
-							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration7371); if (state.failed) return;
+							dbg.location(1107,28);
+							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration7383); if (state.failed) return;
 							}
 							break;
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
 							{
-							dbg.location(1106,39);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
+							dbg.location(1107,39);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:40: ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:40: ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
 							{
-							dbg.location(1106,40);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:40: ( ( DOT cp_mixin_name ) | HASH )
+							dbg.location(1107,40);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:40: ( ( DOT cp_mixin_name ) | HASH )
 							int alt314=2;
 							try { dbg.enterSubRule(314);
 							try { dbg.enterDecision(314, decisionCanBacktrack[314]);
@@ -23209,17 +23291,17 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:41: ( DOT cp_mixin_name )
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:41: ( DOT cp_mixin_name )
 									{
-									dbg.location(1106,41);
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:41: ( DOT cp_mixin_name )
+									dbg.location(1107,41);
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:41: ( DOT cp_mixin_name )
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:42: DOT cp_mixin_name
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:42: DOT cp_mixin_name
 									{
-									dbg.location(1106,42);
-									match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration7378); if (state.failed) return;dbg.location(1106,46);
-									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7380);
+									dbg.location(1107,42);
+									match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration7390); if (state.failed) return;dbg.location(1107,46);
+									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7392);
 									cp_mixin_name();
 									state._fsp--;
 									if (state.failed) return;
@@ -23230,17 +23312,17 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:63: HASH
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:63: HASH
 									{
-									dbg.location(1106,63);
-									match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration7385); if (state.failed) return;
+									dbg.location(1107,63);
+									match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration7397); if (state.failed) return;
 									}
 									break;
 
 							}
 							} finally {dbg.exitSubRule(314);}
-							dbg.location(1106,69);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:69: ( ws )?
+							dbg.location(1107,69);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:69: ( ws )?
 							int alt315=2;
 							try { dbg.enterSubRule(315);
 							try { dbg.enterDecision(315, decisionCanBacktrack[315]);
@@ -23255,10 +23337,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:69: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:69: ws
 									{
-									dbg.location(1106,69);
-									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7388);
+									dbg.location(1107,69);
+									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7400);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23267,9 +23349,9 @@
 
 							}
 							} finally {dbg.exitSubRule(315);}
-							dbg.location(1106,73);
-							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7391); if (state.failed) return;dbg.location(1106,80);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:80: ( ws )?
+							dbg.location(1107,73);
+							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7403); if (state.failed) return;dbg.location(1107,80);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:80: ( ws )?
 							int alt316=2;
 							try { dbg.enterSubRule(316);
 							try { dbg.enterDecision(316, decisionCanBacktrack[316]);
@@ -23284,10 +23366,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:80: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:80: ws
 									{
-									dbg.location(1106,80);
-									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7393);
+									dbg.location(1107,80);
+									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7405);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23296,8 +23378,8 @@
 
 							}
 							} finally {dbg.exitSubRule(316);}
-							dbg.location(1106,84);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:84: ( cp_args_list )?
+							dbg.location(1107,84);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:84: ( cp_args_list )?
 							int alt317=2;
 							try { dbg.enterSubRule(317);
 							try { dbg.enterDecision(317, decisionCanBacktrack[317]);
@@ -23312,10 +23394,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:84: cp_args_list
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:84: cp_args_list
 									{
-									dbg.location(1106,84);
-									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7396);
+									dbg.location(1107,84);
+									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7408);
 									cp_args_list();
 									state._fsp--;
 									if (state.failed) return;
@@ -23324,8 +23406,8 @@
 
 							}
 							} finally {dbg.exitSubRule(317);}
-							dbg.location(1106,98);
-							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7399); if (state.failed) return;
+							dbg.location(1107,98);
+							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7411); if (state.failed) return;
 							}
 
 							}
@@ -23333,8 +23415,8 @@
 
 					}
 					} finally {dbg.exitSubRule(318);}
-					dbg.location(1106,107);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:107: ( ( ws )? less_mixin_guarded )?
+					dbg.location(1107,107);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:107: ( ( ws )? less_mixin_guarded )?
 					int alt320=2;
 					try { dbg.enterSubRule(320);
 					try { dbg.enterDecision(320, decisionCanBacktrack[320]);
@@ -23353,10 +23435,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:108: ( ws )? less_mixin_guarded
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:108: ( ws )? less_mixin_guarded
 							{
-							dbg.location(1106,108);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:108: ( ws )?
+							dbg.location(1107,108);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:108: ( ws )?
 							int alt319=2;
 							try { dbg.enterSubRule(319);
 							try { dbg.enterDecision(319, decisionCanBacktrack[319]);
@@ -23371,10 +23453,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1106:108: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:108: ws
 									{
-									dbg.location(1106,108);
-									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7404);
+									dbg.location(1107,108);
+									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7416);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23383,8 +23465,8 @@
 
 							}
 							} finally {dbg.exitSubRule(319);}
-							dbg.location(1106,112);
-							pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7407);
+							dbg.location(1107,112);
+							pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7419);
 							less_mixin_guarded();
 							state._fsp--;
 							if (state.failed) return;
@@ -23399,23 +23481,23 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:9: {...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:9: {...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
 					{
-					dbg.location(1108,9);
+					dbg.location(1109,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_mixin_declaration", "isScssSource()");
-					}dbg.location(1108,27);
-					match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7431); if (state.failed) return;dbg.location(1108,38);
-					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7433);
+					}dbg.location(1109,27);
+					match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7443); if (state.failed) return;dbg.location(1109,38);
+					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7445);
 					ws();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1108,41);
-					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7435);
+					if (state.failed) return;dbg.location(1109,41);
+					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7447);
 					cp_mixin_name();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1108,55);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
+					if (state.failed) return;dbg.location(1109,55);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
 					int alt324=2;
 					try { dbg.enterSubRule(324);
 					try { dbg.enterDecision(324, decisionCanBacktrack[324]);
@@ -23434,10 +23516,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:56: ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:56: ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
 							{
-							dbg.location(1108,56);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:56: ( ws )?
+							dbg.location(1109,56);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:56: ( ws )?
 							int alt321=2;
 							try { dbg.enterSubRule(321);
 							try { dbg.enterDecision(321, decisionCanBacktrack[321]);
@@ -23452,10 +23534,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:56: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:56: ws
 									{
-									dbg.location(1108,56);
-									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7438);
+									dbg.location(1109,56);
+									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7450);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23464,9 +23546,9 @@
 
 							}
 							} finally {dbg.exitSubRule(321);}
-							dbg.location(1108,60);
-							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7441); if (state.failed) return;dbg.location(1108,67);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:67: ( ws )?
+							dbg.location(1109,60);
+							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7453); if (state.failed) return;dbg.location(1109,67);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:67: ( ws )?
 							int alt322=2;
 							try { dbg.enterSubRule(322);
 							try { dbg.enterDecision(322, decisionCanBacktrack[322]);
@@ -23481,10 +23563,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:67: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:67: ws
 									{
-									dbg.location(1108,67);
-									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7443);
+									dbg.location(1109,67);
+									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7455);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23493,8 +23575,8 @@
 
 							}
 							} finally {dbg.exitSubRule(322);}
-							dbg.location(1108,71);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:71: ( cp_args_list )?
+							dbg.location(1109,71);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:71: ( cp_args_list )?
 							int alt323=2;
 							try { dbg.enterSubRule(323);
 							try { dbg.enterDecision(323, decisionCanBacktrack[323]);
@@ -23509,10 +23591,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1108:71: cp_args_list
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1109:71: cp_args_list
 									{
-									dbg.location(1108,71);
-									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7446);
+									dbg.location(1109,71);
+									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7458);
 									cp_args_list();
 									state._fsp--;
 									if (state.failed) return;
@@ -23521,8 +23603,8 @@
 
 							}
 							} finally {dbg.exitSubRule(323);}
-							dbg.location(1108,85);
-							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7449); if (state.failed) return;
+							dbg.location(1109,85);
+							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7461); if (state.failed) return;
 							}
 							break;
 
@@ -23534,8 +23616,8 @@
 
 			}
 			} finally {dbg.exitSubRule(325);}
-			dbg.location(1110,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1110:5: ( ws )?
+			dbg.location(1111,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1111:5: ( ws )?
 			int alt326=2;
 			try { dbg.enterSubRule(326);
 			try { dbg.enterDecision(326, decisionCanBacktrack[326]);
@@ -23550,10 +23632,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1110:5: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1111:5: ws
 					{
-					dbg.location(1110,5);
-					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7463);
+					dbg.location(1111,5);
+					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7475);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -23562,8 +23644,8 @@
 
 			}
 			} finally {dbg.exitSubRule(326);}
-			dbg.location(1110,9);
-			pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration7466);
+			dbg.location(1111,9);
+			pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration7478);
 			cp_mixin_block();
 			state._fsp--;
 			if (state.failed) return;
@@ -23577,7 +23659,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1111, 4);
+		dbg.location(1112, 4);
 
 		}
 		finally {
@@ -23592,21 +23674,21 @@
 
 
 	// $ANTLR start "cp_mixin_call"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1115:1: cp_mixin_call : ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1116:1: cp_mixin_call : ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ;
 	public final void cp_mixin_call() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1115, 0);
+		dbg.location(1116, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1116:5: ( ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1117:5: ( ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1117:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1118:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
 			{
-			dbg.location(1117,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1117:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
+			dbg.location(1118,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1118:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
 			int alt342=2;
 			try { dbg.enterSubRule(342);
 			try { dbg.enterDecision(342, decisionCanBacktrack[342]);
@@ -23633,14 +23715,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:9: {...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:9: {...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
 					{
-					dbg.location(1118,9);
+					dbg.location(1119,9);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_mixin_call", "isLessSource()");
-					}dbg.location(1118,27);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
+					}dbg.location(1119,27);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
 					int alt327=4;
 					try { dbg.enterSubRule(327);
 					try { dbg.enterDecision(327, decisionCanBacktrack[327]);
@@ -23679,11 +23761,11 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:28: DOT cp_mixin_name
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:28: DOT cp_mixin_name
 							{
-							dbg.location(1118,28);
-							match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7502); if (state.failed) return;dbg.location(1118,32);
-							pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7504);
+							dbg.location(1119,28);
+							match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7514); if (state.failed) return;dbg.location(1119,32);
+							pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7516);
 							cp_mixin_name();
 							state._fsp--;
 							if (state.failed) return;
@@ -23692,35 +23774,35 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:48: HASH
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:48: HASH
 							{
-							dbg.location(1118,48);
-							match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7508); if (state.failed) return;
+							dbg.location(1119,48);
+							match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7520); if (state.failed) return;
 							}
 							break;
 						case 3 :
 							dbg.enterAlt(3);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:55: AT_IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:55: AT_IDENT
 							{
-							dbg.location(1118,55);
-							match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7512); if (state.failed) return;
+							dbg.location(1119,55);
+							match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7524); if (state.failed) return;
 							}
 							break;
 						case 4 :
 							dbg.enterAlt(4);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:66: LESS_AND
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:66: LESS_AND
 							{
-							dbg.location(1118,66);
-							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7516); if (state.failed) return;
+							dbg.location(1119,66);
+							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7528); if (state.failed) return;
 							}
 							break;
 
 					}
 					} finally {dbg.exitSubRule(327);}
-					dbg.location(1118,76);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )*
+					dbg.location(1119,76);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )*
 					try { dbg.enterSubRule(331);
 
 					loop331:
@@ -23750,10 +23832,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:77: ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:77: ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
 							{
-							dbg.location(1118,101);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:101: ( ws )?
+							dbg.location(1119,101);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:101: ( ws )?
 							int alt328=2;
 							try { dbg.enterSubRule(328);
 							try { dbg.enterDecision(328, decisionCanBacktrack[328]);
@@ -23768,10 +23850,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:101: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:101: ws
 									{
-									dbg.location(1118,101);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7532);
+									dbg.location(1119,101);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7544);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23780,12 +23862,12 @@
 
 							}
 							} finally {dbg.exitSubRule(328);}
-							dbg.location(1118,105);
-							pushFollow(FOLLOW_combinator_in_cp_mixin_call7535);
+							dbg.location(1119,105);
+							pushFollow(FOLLOW_combinator_in_cp_mixin_call7547);
 							combinator();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1118,116);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:116: ( ws )?
+							if (state.failed) return;dbg.location(1119,116);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:116: ( ws )?
 							int alt329=2;
 							try { dbg.enterSubRule(329);
 							try { dbg.enterDecision(329, decisionCanBacktrack[329]);
@@ -23800,10 +23882,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:116: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:116: ws
 									{
-									dbg.location(1118,116);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7537);
+									dbg.location(1119,116);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7549);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23812,8 +23894,8 @@
 
 							}
 							} finally {dbg.exitSubRule(329);}
-							dbg.location(1118,120);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
+							dbg.location(1119,120);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
 							int alt330=4;
 							try { dbg.enterSubRule(330);
 							try { dbg.enterDecision(330, decisionCanBacktrack[330]);
@@ -23852,11 +23934,11 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:121: DOT cp_mixin_name
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:121: DOT cp_mixin_name
 									{
-									dbg.location(1118,121);
-									match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7541); if (state.failed) return;dbg.location(1118,125);
-									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7543);
+									dbg.location(1119,121);
+									match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7553); if (state.failed) return;dbg.location(1119,125);
+									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7555);
 									cp_mixin_name();
 									state._fsp--;
 									if (state.failed) return;
@@ -23865,28 +23947,28 @@
 								case 2 :
 									dbg.enterAlt(2);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:141: HASH
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:141: HASH
 									{
-									dbg.location(1118,141);
-									match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7547); if (state.failed) return;
+									dbg.location(1119,141);
+									match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7559); if (state.failed) return;
 									}
 									break;
 								case 3 :
 									dbg.enterAlt(3);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:148: AT_IDENT
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:148: AT_IDENT
 									{
-									dbg.location(1118,148);
-									match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7551); if (state.failed) return;
+									dbg.location(1119,148);
+									match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7563); if (state.failed) return;
 									}
 									break;
 								case 4 :
 									dbg.enterAlt(4);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:159: LESS_AND
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:159: LESS_AND
 									{
-									dbg.location(1118,159);
-									match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7555); if (state.failed) return;
+									dbg.location(1119,159);
+									match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7567); if (state.failed) return;
 									}
 									break;
 
@@ -23901,8 +23983,8 @@
 						}
 					}
 					} finally {dbg.exitSubRule(331);}
-					dbg.location(1118,171);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
+					dbg.location(1119,171);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
 					int alt335=3;
 					try { dbg.enterSubRule(335);
 					try { dbg.enterDecision(335, decisionCanBacktrack[335]);
@@ -23929,10 +24011,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:172: ( pseudo )=> pseudo
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:172: ( pseudo )=> pseudo
 							{
-							dbg.location(1118,182);
-							pushFollow(FOLLOW_pseudo_in_cp_mixin_call7565);
+							dbg.location(1119,182);
+							pushFollow(FOLLOW_pseudo_in_cp_mixin_call7577);
 							pseudo();
 							state._fsp--;
 							if (state.failed) return;
@@ -23941,16 +24023,16 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:191: ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:191: ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
 							{
-							dbg.location(1118,205);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:205: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
+							dbg.location(1119,205);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:205: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:206: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:206: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
 							{
-							dbg.location(1118,206);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:206: ( ws )?
+							dbg.location(1119,206);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:206: ( ws )?
 							int alt332=2;
 							try { dbg.enterSubRule(332);
 							try { dbg.enterDecision(332, decisionCanBacktrack[332]);
@@ -23965,10 +24047,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:206: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:206: ws
 									{
-									dbg.location(1118,206);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7577);
+									dbg.location(1119,206);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7589);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -23977,9 +24059,9 @@
 
 							}
 							} finally {dbg.exitSubRule(332);}
-							dbg.location(1118,210);
-							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7580); if (state.failed) return;dbg.location(1118,217);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:217: ( ws )?
+							dbg.location(1119,210);
+							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7592); if (state.failed) return;dbg.location(1119,217);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:217: ( ws )?
 							int alt333=2;
 							try { dbg.enterSubRule(333);
 							try { dbg.enterDecision(333, decisionCanBacktrack[333]);
@@ -23994,10 +24076,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:217: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:217: ws
 									{
-									dbg.location(1118,217);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7582);
+									dbg.location(1119,217);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7594);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24006,14 +24088,14 @@
 
 							}
 							} finally {dbg.exitSubRule(333);}
-							dbg.location(1118,221);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:221: ( cp_mixin_call_args )?
+							dbg.location(1119,221);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:221: ( cp_mixin_call_args )?
 							int alt334=2;
 							try { dbg.enterSubRule(334);
 							try { dbg.enterDecision(334, decisionCanBacktrack[334]);
 
 							int LA334_0 = input.LA(1);
-							if ( ((LA334_0 >= ANGLE && LA334_0 <= AT_SIGN)||(LA334_0 >= BOTTOMCENTER_SYM && LA334_0 <= BOTTOMRIGHT_SYM)||LA334_0==CHARSET_SYM||LA334_0==COUNTER_STYLE_SYM||LA334_0==DIMENSION||LA334_0==EMS||LA334_0==EXS||(LA334_0 >= FONT_FACE_SYM && LA334_0 <= FREQ)||LA334_0==GEN||(LA334_0 >= HASH && LA334_0 <= HASH_SYMBOL)||(LA334_0 >= IDENT && LA334_0 <= IMPORT_SYM)||LA334_0==LBRACE||(LA334_0 >= LEFTBOTTOM_SYM && LA334_0 <= LENGTH)||(LA334_0 >= LESS_AND && LA334_0 <= LESS_JS_STRING)||LA334_0==LPAREN||(LA334_0 >= MEDIA_SYM && LA334_0 <= MOZ_DOCUMENT_SYM)||LA334_0==NAMESPACE_SYM||(LA334_0 >= NOT && LA334_0 <= NUMBER)||(LA334_0 >= PAGE_SYM && LA334_0 <= PERCENTAGE_SYMBOL)||LA334_0==PLUS||(LA334_0 >= REM && LA334_0 <= RIGHTTOP_SYM)||(LA334_0 >= SASS_AT_ROOT && LA334_0 <= SASS_DEBUG)||(LA334_0 >= SASS_EACH && LA334_0 <= SASS_ELSE)||LA334_0==SASS_EXTEND||(LA334_0 >= SASS_FOR && LA334_0 <= SASS_FUNCTION)||(LA334_0 >= SASS_IF && LA334_0 <= SASS_MIXIN)||(LA334_0 >= SASS_RETURN && LA334_0 <= SASS_WHILE)||LA334_0==STRING||(LA334_0 >= TILDE && LA334_0 <= TOPRIGHT_SYM)||LA334_0==URI||LA334_0==VARIABLE||LA334_0==WEBKIT_KEYFRAMES_SYM) ) {
+							if ( ((LA334_0 >= ANGLE && LA334_0 <= AT_SIGN)||(LA334_0 >= BOTTOMCENTER_SYM && LA334_0 <= BOTTOMRIGHT_SYM)||LA334_0==CHARSET_SYM||LA334_0==COUNTER_STYLE_SYM||LA334_0==DIMENSION||LA334_0==EMS||LA334_0==EXS||(LA334_0 >= FONT_FACE_SYM && LA334_0 <= FREQ)||LA334_0==GEN||(LA334_0 >= HASH && LA334_0 <= HASH_SYMBOL)||(LA334_0 >= IDENT && LA334_0 <= IMPORT_SYM)||LA334_0==LBRACE||(LA334_0 >= LEFTBOTTOM_SYM && LA334_0 <= LENGTH)||(LA334_0 >= LESS_AND && LA334_0 <= LESS_JS_STRING)||LA334_0==LPAREN||(LA334_0 >= MEDIA_SYM && LA334_0 <= MOZ_DOCUMENT_SYM)||LA334_0==NAMESPACE_SYM||(LA334_0 >= NOT && LA334_0 <= NUMBER)||(LA334_0 >= PAGE_SYM && LA334_0 <= PERCENTAGE_SYMBOL)||LA334_0==PLUS||(LA334_0 >= REM && LA334_0 <= RIGHTTOP_SYM)||(LA334_0 >= SASS_AT_ROOT && LA334_0 <= SASS_DEBUG)||(LA334_0 >= SASS_EACH && LA334_0 <= SASS_ELSE)||LA334_0==SASS_EXTEND||(LA334_0 >= SASS_FOR && LA334_0 <= SASS_FUNCTION)||(LA334_0 >= SASS_IF && LA334_0 <= SASS_MIXIN)||(LA334_0 >= SASS_RETURN && LA334_0 <= SASS_WHILE)||LA334_0==STRING||(LA334_0 >= TILDE && LA334_0 <= TOPRIGHT_SYM)||(LA334_0 >= URANGE && LA334_0 <= URI)||LA334_0==VARIABLE||LA334_0==WEBKIT_KEYFRAMES_SYM) ) {
 								alt334=1;
 							}
 							} finally {dbg.exitDecision(334);}
@@ -24022,10 +24104,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:221: cp_mixin_call_args
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:221: cp_mixin_call_args
 									{
-									dbg.location(1118,221);
-									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7585);
+									dbg.location(1119,221);
+									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7597);
 									cp_mixin_call_args();
 									state._fsp--;
 									if (state.failed) return;
@@ -24034,8 +24116,8 @@
 
 							}
 							} finally {dbg.exitSubRule(334);}
-							dbg.location(1118,241);
-							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7588); if (state.failed) return;
+							dbg.location(1119,241);
+							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7600); if (state.failed) return;
 							}
 
 							}
@@ -24049,23 +24131,23 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:9: {...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:9: {...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )?
 					{
-					dbg.location(1120,9);
+					dbg.location(1121,9);
 					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_mixin_call", "isScssSource()");
-					}dbg.location(1120,27);
-					match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call7613); if (state.failed) return;dbg.location(1120,40);
-					pushFollow(FOLLOW_ws_in_cp_mixin_call7615);
+					}dbg.location(1121,27);
+					match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call7625); if (state.failed) return;dbg.location(1121,40);
+					pushFollow(FOLLOW_ws_in_cp_mixin_call7627);
 					ws();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1120,43);
-					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7617);
+					if (state.failed) return;dbg.location(1121,43);
+					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7629);
 					cp_mixin_name();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1120,57);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?
+					if (state.failed) return;dbg.location(1121,57);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?
 					int alt339=2;
 					try { dbg.enterSubRule(339);
 					try { dbg.enterDecision(339, decisionCanBacktrack[339]);
@@ -24084,10 +24166,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:58: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:58: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
 							{
-							dbg.location(1120,58);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:58: ( ws )?
+							dbg.location(1121,58);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:58: ( ws )?
 							int alt336=2;
 							try { dbg.enterSubRule(336);
 							try { dbg.enterDecision(336, decisionCanBacktrack[336]);
@@ -24102,10 +24184,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:58: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:58: ws
 									{
-									dbg.location(1120,58);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7620);
+									dbg.location(1121,58);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7632);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24114,9 +24196,9 @@
 
 							}
 							} finally {dbg.exitSubRule(336);}
-							dbg.location(1120,62);
-							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7623); if (state.failed) return;dbg.location(1120,69);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:69: ( ws )?
+							dbg.location(1121,62);
+							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7635); if (state.failed) return;dbg.location(1121,69);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:69: ( ws )?
 							int alt337=2;
 							try { dbg.enterSubRule(337);
 							try { dbg.enterDecision(337, decisionCanBacktrack[337]);
@@ -24131,10 +24213,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:69: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:69: ws
 									{
-									dbg.location(1120,69);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7625);
+									dbg.location(1121,69);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7637);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24143,14 +24225,14 @@
 
 							}
 							} finally {dbg.exitSubRule(337);}
-							dbg.location(1120,73);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:73: ( cp_mixin_call_args )?
+							dbg.location(1121,73);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:73: ( cp_mixin_call_args )?
 							int alt338=2;
 							try { dbg.enterSubRule(338);
 							try { dbg.enterDecision(338, decisionCanBacktrack[338]);
 
 							int LA338_0 = input.LA(1);
-							if ( ((LA338_0 >= ANGLE && LA338_0 <= AT_SIGN)||(LA338_0 >= BOTTOMCENTER_SYM && LA338_0 <= BOTTOMRIGHT_SYM)||LA338_0==CHARSET_SYM||LA338_0==COUNTER_STYLE_SYM||LA338_0==DIMENSION||LA338_0==EMS||LA338_0==EXS||(LA338_0 >= FONT_FACE_SYM && LA338_0 <= FREQ)||LA338_0==GEN||(LA338_0 >= HASH && LA338_0 <= HASH_SYMBOL)||(LA338_0 >= IDENT && LA338_0 <= IMPORT_SYM)||LA338_0==LBRACE||(LA338_0 >= LEFTBOTTOM_SYM && LA338_0 <= LENGTH)||(LA338_0 >= LESS_AND && LA338_0 <= LESS_JS_STRING)||LA338_0==LPAREN||(LA338_0 >= MEDIA_SYM && LA338_0 <= MOZ_DOCUMENT_SYM)||LA338_0==NAMESPACE_SYM||(LA338_0 >= NOT && LA338_0 <= NUMBER)||(LA338_0 >= PAGE_SYM && LA338_0 <= PERCENTAGE_SYMBOL)||LA338_0==PLUS||(LA338_0 >= REM && LA338_0 <= RIGHTTOP_SYM)||(LA338_0 >= SASS_AT_ROOT && LA338_0 <= SASS_DEBUG)||(LA338_0 >= SASS_EACH && LA338_0 <= SASS_ELSE)||LA338_0==SASS_EXTEND||(LA338_0 >= SASS_FOR && LA338_0 <= SASS_FUNCTION)||(LA338_0 >= SASS_IF && LA338_0 <= SASS_MIXIN)||(LA338_0 >= SASS_RETURN && LA338_0 <= SASS_WHILE)||LA338_0==STRING||(LA338_0 >= TILDE && LA338_0 <= TOPRIGHT_SYM)||LA338_0==URI||LA338_0==VARIABLE||LA338_0==WEBKIT_KEYFRAMES_SYM) ) {
+							if ( ((LA338_0 >= ANGLE && LA338_0 <= AT_SIGN)||(LA338_0 >= BOTTOMCENTER_SYM && LA338_0 <= BOTTOMRIGHT_SYM)||LA338_0==CHARSET_SYM||LA338_0==COUNTER_STYLE_SYM||LA338_0==DIMENSION||LA338_0==EMS||LA338_0==EXS||(LA338_0 >= FONT_FACE_SYM && LA338_0 <= FREQ)||LA338_0==GEN||(LA338_0 >= HASH && LA338_0 <= HASH_SYMBOL)||(LA338_0 >= IDENT && LA338_0 <= IMPORT_SYM)||LA338_0==LBRACE||(LA338_0 >= LEFTBOTTOM_SYM && LA338_0 <= LENGTH)||(LA338_0 >= LESS_AND && LA338_0 <= LESS_JS_STRING)||LA338_0==LPAREN||(LA338_0 >= MEDIA_SYM && LA338_0 <= MOZ_DOCUMENT_SYM)||LA338_0==NAMESPACE_SYM||(LA338_0 >= NOT && LA338_0 <= NUMBER)||(LA338_0 >= PAGE_SYM && LA338_0 <= PERCENTAGE_SYMBOL)||LA338_0==PLUS||(LA338_0 >= REM && LA338_0 <= RIGHTTOP_SYM)||(LA338_0 >= SASS_AT_ROOT && LA338_0 <= SASS_DEBUG)||(LA338_0 >= SASS_EACH && LA338_0 <= SASS_ELSE)||LA338_0==SASS_EXTEND||(LA338_0 >= SASS_FOR && LA338_0 <= SASS_FUNCTION)||(LA338_0 >= SASS_IF && LA338_0 <= SASS_MIXIN)||(LA338_0 >= SASS_RETURN && LA338_0 <= SASS_WHILE)||LA338_0==STRING||(LA338_0 >= TILDE && LA338_0 <= TOPRIGHT_SYM)||(LA338_0 >= URANGE && LA338_0 <= URI)||LA338_0==VARIABLE||LA338_0==WEBKIT_KEYFRAMES_SYM) ) {
 								alt338=1;
 							}
 							} finally {dbg.exitDecision(338);}
@@ -24159,10 +24241,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:73: cp_mixin_call_args
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:73: cp_mixin_call_args
 									{
-									dbg.location(1120,73);
-									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7628);
+									dbg.location(1121,73);
+									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7640);
 									cp_mixin_call_args();
 									state._fsp--;
 									if (state.failed) return;
@@ -24171,15 +24253,15 @@
 
 							}
 							} finally {dbg.exitSubRule(338);}
-							dbg.location(1120,93);
-							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7631); if (state.failed) return;
+							dbg.location(1121,93);
+							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7643); if (state.failed) return;
 							}
 							break;
 
 					}
 					} finally {dbg.exitSubRule(339);}
-					dbg.location(1120,102);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:102: ( ( ws )? cp_mixin_block )?
+					dbg.location(1121,102);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:102: ( ( ws )? cp_mixin_block )?
 					int alt341=2;
 					try { dbg.enterSubRule(341);
 					try { dbg.enterDecision(341, decisionCanBacktrack[341]);
@@ -24198,10 +24280,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:103: ( ws )? cp_mixin_block
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:103: ( ws )? cp_mixin_block
 							{
-							dbg.location(1120,103);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:103: ( ws )?
+							dbg.location(1121,103);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:103: ( ws )?
 							int alt340=2;
 							try { dbg.enterSubRule(340);
 							try { dbg.enterDecision(340, decisionCanBacktrack[340]);
@@ -24216,10 +24298,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1120:103: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:103: ws
 									{
-									dbg.location(1120,103);
-									pushFollow(FOLLOW_ws_in_cp_mixin_call7636);
+									dbg.location(1121,103);
+									pushFollow(FOLLOW_ws_in_cp_mixin_call7648);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24228,8 +24310,8 @@
 
 							}
 							} finally {dbg.exitSubRule(340);}
-							dbg.location(1120,107);
-							pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call7639);
+							dbg.location(1121,107);
+							pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call7651);
 							cp_mixin_block();
 							state._fsp--;
 							if (state.failed) return;
@@ -24255,7 +24337,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1122, 4);
+		dbg.location(1123, 4);
 
 		}
 		finally {
@@ -24270,22 +24352,22 @@
 
 
 	// $ANTLR start "cp_mixin_block"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1124:1: cp_mixin_block : LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1125:1: cp_mixin_block : LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ;
 	public final void cp_mixin_block() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_block");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1124, 0);
+		dbg.location(1125, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1125:5: ( LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1126:5: ( LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1126:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1127:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE
 			{
-			dbg.location(1126,5);
-			match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block7668); if (state.failed) return;dbg.location(1126,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1126:12: ( ws )?
+			dbg.location(1127,5);
+			match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block7680); if (state.failed) return;dbg.location(1127,12);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1127:12: ( ws )?
 			int alt343=2;
 			try { dbg.enterSubRule(343);
 			try { dbg.enterDecision(343, decisionCanBacktrack[343]);
@@ -24300,10 +24382,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1126:12: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1127:12: ws
 					{
-					dbg.location(1126,12);
-					pushFollow(FOLLOW_ws_in_cp_mixin_block7670);
+					dbg.location(1127,12);
+					pushFollow(FOLLOW_ws_in_cp_mixin_block7682);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -24312,12 +24394,12 @@
 
 			}
 			} finally {dbg.exitSubRule(343);}
-			dbg.location(1126,16);
-			pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block7673);
+			dbg.location(1127,16);
+			pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block7685);
 			syncToFollow();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1127,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1127:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )?
+			if (state.failed) return;dbg.location(1128,9);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )?
 			int alt346=3;
 			try { dbg.enterSubRule(346);
 			try { dbg.enterDecision(346, decisionCanBacktrack[346]);
@@ -24359,10 +24441,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1127:10: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:10: declarations
 					{
-					dbg.location(1127,10);
-					pushFollow(FOLLOW_declarations_in_cp_mixin_block7684);
+					dbg.location(1128,10);
+					pushFollow(FOLLOW_declarations_in_cp_mixin_block7696);
 					declarations();
 					state._fsp--;
 					if (state.failed) return;
@@ -24371,10 +24453,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1127:25: ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )*
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:25: ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )*
 					{
-					dbg.location(1128,3);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1128:3: ( webkitKeyframesBlock ( ws )? )*
+					dbg.location(1129,3);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1129:3: ( webkitKeyframesBlock ( ws )? )*
 					try { dbg.enterSubRule(345);
 
 					loop345:
@@ -24393,14 +24475,14 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1128:5: webkitKeyframesBlock ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1129:5: webkitKeyframesBlock ( ws )?
 							{
-							dbg.location(1128,5);
-							pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7699);
+							dbg.location(1129,5);
+							pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7711);
 							webkitKeyframesBlock();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1128,26);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1128:26: ( ws )?
+							if (state.failed) return;dbg.location(1129,26);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1129:26: ( ws )?
 							int alt344=2;
 							try { dbg.enterSubRule(344);
 							try { dbg.enterDecision(344, decisionCanBacktrack[344]);
@@ -24415,10 +24497,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1128:26: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1129:26: ws
 									{
-									dbg.location(1128,26);
-									pushFollow(FOLLOW_ws_in_cp_mixin_block7701);
+									dbg.location(1129,26);
+									pushFollow(FOLLOW_ws_in_cp_mixin_block7713);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24442,8 +24524,8 @@
 
 			}
 			} finally {dbg.exitSubRule(346);}
-			dbg.location(1129,5);
-			match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block7713); if (state.failed) return;
+			dbg.location(1130,5);
+			match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block7725); if (state.failed) return;
 			}
 
 		}
@@ -24454,7 +24536,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1130, 4);
+		dbg.location(1131, 4);
 
 		}
 		finally {
@@ -24469,21 +24551,21 @@
 
 
 	// $ANTLR start "cp_mixin_name"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1132:1: cp_mixin_name : IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:1: cp_mixin_name : IDENT ;
 	public final void cp_mixin_name() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_name");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1132, 0);
+		dbg.location(1133, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1133:5: ( IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1134:5: ( IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1134:5: IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:5: IDENT
 			{
-			dbg.location(1134,5);
-			match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name7734); if (state.failed) return;
+			dbg.location(1135,5);
+			match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name7746); if (state.failed) return;
 			}
 
 		}
@@ -24494,7 +24576,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1135, 4);
+		dbg.location(1136, 4);
 
 		}
 		finally {
@@ -24509,25 +24591,25 @@
 
 
 	// $ANTLR start "cp_mixin_call_args"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1137:1: cp_mixin_call_args : cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1138:1: cp_mixin_call_args : cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ;
 	public final void cp_mixin_call_args() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_args");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1137, 0);
+		dbg.location(1138, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1138:5: ( cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1139:5: ( cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )?
 			{
-			dbg.location(1141,5);
-			pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7765);
+			dbg.location(1142,5);
+			pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7777);
 			cp_mixin_call_arg();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1141,23);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )*
+			if (state.failed) return;dbg.location(1142,23);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )*
 			try { dbg.enterSubRule(348);
 
 			loop348:
@@ -24538,7 +24620,7 @@
 				int LA348_0 = input.LA(1);
 				if ( (LA348_0==SEMI) ) {
 					int LA348_2 = input.LA(2);
-					if ( ((LA348_2 >= ANGLE && LA348_2 <= AT_SIGN)||(LA348_2 >= BOTTOMCENTER_SYM && LA348_2 <= BOTTOMRIGHT_SYM)||LA348_2==CHARSET_SYM||LA348_2==COMMENT||LA348_2==COUNTER_STYLE_SYM||LA348_2==DIMENSION||LA348_2==EMS||LA348_2==EXS||(LA348_2 >= FONT_FACE_SYM && LA348_2 <= FREQ)||LA348_2==GEN||(LA348_2 >= HASH && LA348_2 <= HASH_SYMBOL)||(LA348_2 >= IDENT && LA348_2 <= IMPORT_SYM)||LA348_2==LBRACE||(LA348_2 >= LEFTBOTTOM_SYM && LA348_2 <= LENGTH)||(LA348_2 >= LESS_AND && LA348_2 <= LESS_JS_STRING)||LA348_2==LPAREN||(LA348_2 >= MEDIA_SYM && LA348_2 <= MOZ_DOCUMENT_SYM)||(LA348_2 >= NAMESPACE_SYM && LA348_2 <= NL)||(LA348_2 >= NOT && LA348_2 <= NUMBER)||(LA348_2 >= PAGE_SYM && LA348_2 <= PERCENTAGE_SYMBOL)||LA348_2==PLUS||(LA348_2 >= REM && LA348_2 <= RIGHTTOP_SYM)||(LA348_2 >= SASS_AT_ROOT && LA348_2 <= SASS_DEBUG)||(LA348_2 >= SASS_EACH && LA348_2 <= SASS_ELSE)||LA348_2==SASS_EXTEND||(LA348_2 >= SASS_FOR && LA348_2 <= SASS_FUNCTION)||(LA348_2 >= SASS_IF && LA348_2 <= SASS_MIXIN)||(LA348_2 >= SASS_RETURN && LA348_2 <= SASS_WHILE)||LA348_2==STRING||(LA348_2 >= TILDE && LA348_2 <= TOPRIGHT_SYM)||LA348_2==URI||LA348_2==VARIABLE||(LA348_2 >= WEBKIT_KEYFRAMES_SYM && LA348_2 <= WS)) ) {
+					if ( ((LA348_2 >= ANGLE && LA348_2 <= AT_SIGN)||(LA348_2 >= BOTTOMCENTER_SYM && LA348_2 <= BOTTOMRIGHT_SYM)||LA348_2==CHARSET_SYM||LA348_2==COMMENT||LA348_2==COUNTER_STYLE_SYM||LA348_2==DIMENSION||LA348_2==EMS||LA348_2==EXS||(LA348_2 >= FONT_FACE_SYM && LA348_2 <= FREQ)||LA348_2==GEN||(LA348_2 >= HASH && LA348_2 <= HASH_SYMBOL)||(LA348_2 >= IDENT && LA348_2 <= IMPORT_SYM)||LA348_2==LBRACE||(LA348_2 >= LEFTBOTTOM_SYM && LA348_2 <= LENGTH)||(LA348_2 >= LESS_AND && LA348_2 <= LESS_JS_STRING)||LA348_2==LPAREN||(LA348_2 >= MEDIA_SYM && LA348_2 <= MOZ_DOCUMENT_SYM)||(LA348_2 >= NAMESPACE_SYM && LA348_2 <= NL)||(LA348_2 >= NOT && LA348_2 <= NUMBER)||(LA348_2 >= PAGE_SYM && LA348_2 <= PERCENTAGE_SYMBOL)||LA348_2==PLUS||(LA348_2 >= REM && LA348_2 <= RIGHTTOP_SYM)||(LA348_2 >= SASS_AT_ROOT && LA348_2 <= SASS_DEBUG)||(LA348_2 >= SASS_EACH && LA348_2 <= SASS_ELSE)||LA348_2==SASS_EXTEND||(LA348_2 >= SASS_FOR && LA348_2 <= SASS_FUNCTION)||(LA348_2 >= SASS_IF && LA348_2 <= SASS_MIXIN)||(LA348_2 >= SASS_RETURN && LA348_2 <= SASS_WHILE)||LA348_2==STRING||(LA348_2 >= TILDE && LA348_2 <= TOPRIGHT_SYM)||(LA348_2 >= URANGE && LA348_2 <= URI)||LA348_2==VARIABLE||(LA348_2 >= WEBKIT_KEYFRAMES_SYM && LA348_2 <= WS)) ) {
 						alt348=1;
 					}
 
@@ -24553,9 +24635,9 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:25: ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:25: ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg
 					{
-					dbg.location(1141,25);
+					dbg.location(1142,25);
 					if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -24566,8 +24648,8 @@
 						MismatchedSetException mse = new MismatchedSetException(null,input);
 						dbg.recognitionException(mse);
 						throw mse;
-					}dbg.location(1141,40);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:40: ( ws )?
+					}dbg.location(1142,40);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:40: ( ws )?
 					int alt347=2;
 					try { dbg.enterSubRule(347);
 					try { dbg.enterDecision(347, decisionCanBacktrack[347]);
@@ -24582,10 +24664,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:40: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:40: ws
 							{
-							dbg.location(1141,40);
-							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7777);
+							dbg.location(1142,40);
+							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7789);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -24594,8 +24676,8 @@
 
 					}
 					} finally {dbg.exitSubRule(347);}
-					dbg.location(1141,44);
-					pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7780);
+					dbg.location(1142,44);
+					pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7792);
 					cp_mixin_call_arg();
 					state._fsp--;
 					if (state.failed) return;
@@ -24607,8 +24689,8 @@
 				}
 			}
 			} finally {dbg.exitSubRule(348);}
-			dbg.location(1141,65);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:65: ( CP_DOTS ( ws )? )?
+			dbg.location(1142,65);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:65: ( CP_DOTS ( ws )? )?
 			int alt350=2;
 			try { dbg.enterSubRule(350);
 			try { dbg.enterDecision(350, decisionCanBacktrack[350]);
@@ -24623,11 +24705,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:66: CP_DOTS ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:66: CP_DOTS ( ws )?
 					{
-					dbg.location(1141,66);
-					match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args7786); if (state.failed) return;dbg.location(1141,74);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:74: ( ws )?
+					dbg.location(1142,66);
+					match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args7798); if (state.failed) return;dbg.location(1142,74);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:74: ( ws )?
 					int alt349=2;
 					try { dbg.enterSubRule(349);
 					try { dbg.enterDecision(349, decisionCanBacktrack[349]);
@@ -24642,10 +24724,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:74: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:74: ws
 							{
-							dbg.location(1141,74);
-							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7788);
+							dbg.location(1142,74);
+							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7800);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -24660,8 +24742,8 @@
 
 			}
 			} finally {dbg.exitSubRule(350);}
-			dbg.location(1141,80);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:80: ( SEMI )?
+			dbg.location(1142,80);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:80: ( SEMI )?
 			int alt351=2;
 			try { dbg.enterSubRule(351);
 			try { dbg.enterDecision(351, decisionCanBacktrack[351]);
@@ -24676,10 +24758,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1141:80: SEMI
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:80: SEMI
 					{
-					dbg.location(1141,80);
-					match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args7793); if (state.failed) return;
+					dbg.location(1142,80);
+					match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args7805); if (state.failed) return;
 					}
 					break;
 
@@ -24696,7 +24778,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1142, 4);
+		dbg.location(1143, 4);
 
 		}
 		finally {
@@ -24711,21 +24793,21 @@
 
 
 	// $ANTLR start "cp_mixin_call_arg"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1144:1: cp_mixin_call_arg : ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:1: cp_mixin_call_arg : ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ;
 	public final void cp_mixin_call_arg() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_arg");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1144, 0);
+		dbg.location(1145, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1145:5: ( ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1146:5: ( ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1146:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )?
 			{
-			dbg.location(1146,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1146:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )
+			dbg.location(1147,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )
 			int alt354=2;
 			try { dbg.enterSubRule(354);
 			try { dbg.enterDecision(354, decisionCanBacktrack[354]);
@@ -24744,14 +24826,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1147:9: cp_variable ( ws )? COLON ( ws )? cp_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:9: cp_variable ( ws )? COLON ( ws )? cp_expression
 					{
-					dbg.location(1147,9);
-					pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg7825);
+					dbg.location(1148,9);
+					pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg7837);
 					cp_variable();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1147,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1147:21: ( ws )?
+					if (state.failed) return;dbg.location(1148,21);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:21: ( ws )?
 					int alt352=2;
 					try { dbg.enterSubRule(352);
 					try { dbg.enterDecision(352, decisionCanBacktrack[352]);
@@ -24766,10 +24848,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1147:21: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:21: ws
 							{
-							dbg.location(1147,21);
-							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7827);
+							dbg.location(1148,21);
+							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7839);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -24778,9 +24860,9 @@
 
 					}
 					} finally {dbg.exitSubRule(352);}
-					dbg.location(1147,25);
-					match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg7830); if (state.failed) return;dbg.location(1147,31);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1147:31: ( ws )?
+					dbg.location(1148,25);
+					match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg7842); if (state.failed) return;dbg.location(1148,31);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:31: ( ws )?
 					int alt353=2;
 					try { dbg.enterSubRule(353);
 					try { dbg.enterDecision(353, decisionCanBacktrack[353]);
@@ -24795,10 +24877,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1147:31: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:31: ws
 							{
-							dbg.location(1147,31);
-							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7832);
+							dbg.location(1148,31);
+							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7844);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -24807,8 +24889,8 @@
 
 					}
 					} finally {dbg.exitSubRule(353);}
-					dbg.location(1147,35);
-					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7835);
+					dbg.location(1148,35);
+					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7847);
 					cp_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -24817,10 +24899,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1148:11: cp_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1149:11: cp_expression
 					{
-					dbg.location(1148,11);
-					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7847);
+					dbg.location(1149,11);
+					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7859);
 					cp_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -24829,8 +24911,8 @@
 
 			}
 			} finally {dbg.exitSubRule(354);}
-			dbg.location(1149,7);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1149:7: ( ws )?
+			dbg.location(1150,7);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1150:7: ( ws )?
 			int alt355=2;
 			try { dbg.enterSubRule(355);
 			try { dbg.enterDecision(355, decisionCanBacktrack[355]);
@@ -24845,10 +24927,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1149:7: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1150:7: ws
 					{
-					dbg.location(1149,7);
-					pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7855);
+					dbg.location(1150,7);
+					pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7867);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -24868,7 +24950,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1150, 4);
+		dbg.location(1151, 4);
 
 		}
 		finally {
@@ -24883,15 +24965,15 @@
 
 
 	// $ANTLR start "cp_args_list"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1153:1: cp_args_list : ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:1: cp_args_list : ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? );
 	public final void cp_args_list() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_args_list");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1153, 0);
+		dbg.location(1154, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1154:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? )
 			int alt363=2;
 			try { dbg.enterDecision(363, decisionCanBacktrack[363]);
 
@@ -24917,20 +24999,20 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
 					{
-					dbg.location(1161,5);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
+					dbg.location(1162,5);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )?
 					{
-					dbg.location(1161,7);
-					pushFollow(FOLLOW_cp_arg_in_cp_args_list7902);
+					dbg.location(1162,7);
+					pushFollow(FOLLOW_cp_arg_in_cp_args_list7914);
 					cp_arg();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1161,14);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*
+					if (state.failed) return;dbg.location(1162,14);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*
 					try { dbg.enterSubRule(357);
 
 					loop357:
@@ -24952,9 +25034,9 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:16: ( COMMA | SEMI ) ( ws )? cp_arg
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:16: ( COMMA | SEMI ) ( ws )? cp_arg
 							{
-							dbg.location(1161,16);
+							dbg.location(1162,16);
 							if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
 								input.consume();
 								state.errorRecovery=false;
@@ -24965,8 +25047,8 @@
 								MismatchedSetException mse = new MismatchedSetException(null,input);
 								dbg.recognitionException(mse);
 								throw mse;
-							}dbg.location(1161,33);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:33: ( ws )?
+							}dbg.location(1162,33);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:33: ( ws )?
 							int alt356=2;
 							try { dbg.enterSubRule(356);
 							try { dbg.enterDecision(356, decisionCanBacktrack[356]);
@@ -24981,10 +25063,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:33: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:33: ws
 									{
-									dbg.location(1161,33);
-									pushFollow(FOLLOW_ws_in_cp_args_list7916);
+									dbg.location(1162,33);
+									pushFollow(FOLLOW_ws_in_cp_args_list7928);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -24993,8 +25075,8 @@
 
 							}
 							} finally {dbg.exitSubRule(356);}
-							dbg.location(1161,37);
-							pushFollow(FOLLOW_cp_arg_in_cp_args_list7919);
+							dbg.location(1162,37);
+							pushFollow(FOLLOW_cp_arg_in_cp_args_list7931);
 							cp_arg();
 							state._fsp--;
 							if (state.failed) return;
@@ -25006,8 +25088,8 @@
 						}
 					}
 					} finally {dbg.exitSubRule(357);}
-					dbg.location(1161,47);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:47: ( ( COMMA | SEMI ) ( ws )? )?
+					dbg.location(1162,47);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:47: ( ( COMMA | SEMI ) ( ws )? )?
 					int alt359=2;
 					try { dbg.enterSubRule(359);
 					try { dbg.enterDecision(359, decisionCanBacktrack[359]);
@@ -25022,9 +25104,9 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:49: ( COMMA | SEMI ) ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:49: ( COMMA | SEMI ) ( ws )?
 							{
-							dbg.location(1161,49);
+							dbg.location(1162,49);
 							if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
 								input.consume();
 								state.errorRecovery=false;
@@ -25035,8 +25117,8 @@
 								MismatchedSetException mse = new MismatchedSetException(null,input);
 								dbg.recognitionException(mse);
 								throw mse;
-							}dbg.location(1161,64);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:64: ( ws )?
+							}dbg.location(1162,64);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:64: ( ws )?
 							int alt358=2;
 							try { dbg.enterSubRule(358);
 							try { dbg.enterDecision(358, decisionCanBacktrack[358]);
@@ -25051,10 +25133,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:64: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:64: ws
 									{
-									dbg.location(1161,64);
-									pushFollow(FOLLOW_ws_in_cp_args_list7934);
+									dbg.location(1162,64);
+									pushFollow(FOLLOW_ws_in_cp_args_list7946);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -25069,8 +25151,8 @@
 
 					}
 					} finally {dbg.exitSubRule(359);}
-					dbg.location(1161,71);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )?
+					dbg.location(1162,71);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )?
 					int alt361=2;
 					try { dbg.enterSubRule(361);
 					try { dbg.enterDecision(361, decisionCanBacktrack[361]);
@@ -25085,9 +25167,9 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:73: ( CP_DOTS | LESS_REST ) ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:73: ( CP_DOTS | LESS_REST ) ( ws )?
 							{
-							dbg.location(1161,73);
+							dbg.location(1162,73);
 							if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) {
 								input.consume();
 								state.errorRecovery=false;
@@ -25098,8 +25180,8 @@
 								MismatchedSetException mse = new MismatchedSetException(null,input);
 								dbg.recognitionException(mse);
 								throw mse;
-							}dbg.location(1161,95);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:95: ( ws )?
+							}dbg.location(1162,95);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:95: ( ws )?
 							int alt360=2;
 							try { dbg.enterSubRule(360);
 							try { dbg.enterDecision(360, decisionCanBacktrack[360]);
@@ -25114,10 +25196,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1161:95: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:95: ws
 									{
-									dbg.location(1161,95);
-									pushFollow(FOLLOW_ws_in_cp_args_list7950);
+									dbg.location(1162,95);
+									pushFollow(FOLLOW_ws_in_cp_args_list7962);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -25140,9 +25222,9 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1163:5: ( CP_DOTS | LESS_REST ) ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:5: ( CP_DOTS | LESS_REST ) ( ws )?
 					{
-					dbg.location(1163,5);
+					dbg.location(1164,5);
 					if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -25153,8 +25235,8 @@
 						MismatchedSetException mse = new MismatchedSetException(null,input);
 						dbg.recognitionException(mse);
 						throw mse;
-					}dbg.location(1163,27);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1163:27: ( ws )?
+					}dbg.location(1164,27);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:27: ( ws )?
 					int alt362=2;
 					try { dbg.enterSubRule(362);
 					try { dbg.enterDecision(362, decisionCanBacktrack[362]);
@@ -25169,10 +25251,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1163:27: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:27: ws
 							{
-							dbg.location(1163,27);
-							pushFollow(FOLLOW_ws_in_cp_args_list7975);
+							dbg.location(1164,27);
+							pushFollow(FOLLOW_ws_in_cp_args_list7987);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25194,7 +25276,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1164, 4);
+		dbg.location(1165, 4);
 
 		}
 		finally {
@@ -25209,15 +25291,15 @@
 
 
 	// $ANTLR start "cp_arg"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1167:1: cp_arg : ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:1: cp_arg : ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT );
 	public final void cp_arg() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "cp_arg");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1167, 0);
+		dbg.location(1168, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1168:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1169:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT )
 			int alt368=2;
 			try { dbg.enterDecision(368, decisionCanBacktrack[368]);
 
@@ -25243,14 +25325,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )?
 					{
-					dbg.location(1169,5);
-					pushFollow(FOLLOW_cp_variable_in_cp_arg7998);
+					dbg.location(1170,5);
+					pushFollow(FOLLOW_cp_variable_in_cp_arg8010);
 					cp_variable();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1169,17);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:17: ( ws )?
+					if (state.failed) return;dbg.location(1170,17);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:17: ( ws )?
 					int alt364=2;
 					try { dbg.enterSubRule(364);
 					try { dbg.enterDecision(364, decisionCanBacktrack[364]);
@@ -25265,10 +25347,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:17: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:17: ws
 							{
-							dbg.location(1169,17);
-							pushFollow(FOLLOW_ws_in_cp_arg8000);
+							dbg.location(1170,17);
+							pushFollow(FOLLOW_ws_in_cp_arg8012);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25277,8 +25359,8 @@
 
 					}
 					} finally {dbg.exitSubRule(364);}
-					dbg.location(1169,21);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:21: ( COLON ( ws )? cp_expression ( ws )? )?
+					dbg.location(1170,21);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:21: ( COLON ( ws )? cp_expression ( ws )? )?
 					int alt367=2;
 					try { dbg.enterSubRule(367);
 					try { dbg.enterDecision(367, decisionCanBacktrack[367]);
@@ -25293,11 +25375,11 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:23: COLON ( ws )? cp_expression ( ws )?
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:23: COLON ( ws )? cp_expression ( ws )?
 							{
-							dbg.location(1169,23);
-							match(input,COLON,FOLLOW_COLON_in_cp_arg8005); if (state.failed) return;dbg.location(1169,29);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:29: ( ws )?
+							dbg.location(1170,23);
+							match(input,COLON,FOLLOW_COLON_in_cp_arg8017); if (state.failed) return;dbg.location(1170,29);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:29: ( ws )?
 							int alt365=2;
 							try { dbg.enterSubRule(365);
 							try { dbg.enterDecision(365, decisionCanBacktrack[365]);
@@ -25312,10 +25394,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:29: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:29: ws
 									{
-									dbg.location(1169,29);
-									pushFollow(FOLLOW_ws_in_cp_arg8007);
+									dbg.location(1170,29);
+									pushFollow(FOLLOW_ws_in_cp_arg8019);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -25324,12 +25406,12 @@
 
 							}
 							} finally {dbg.exitSubRule(365);}
-							dbg.location(1169,33);
-							pushFollow(FOLLOW_cp_expression_in_cp_arg8010);
+							dbg.location(1170,33);
+							pushFollow(FOLLOW_cp_expression_in_cp_arg8022);
 							cp_expression();
 							state._fsp--;
-							if (state.failed) return;dbg.location(1169,47);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:47: ( ws )?
+							if (state.failed) return;dbg.location(1170,47);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:47: ( ws )?
 							int alt366=2;
 							try { dbg.enterSubRule(366);
 							try { dbg.enterDecision(366, decisionCanBacktrack[366]);
@@ -25344,10 +25426,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1169:47: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:47: ws
 									{
-									dbg.location(1169,47);
-									pushFollow(FOLLOW_ws_in_cp_arg8012);
+									dbg.location(1170,47);
+									pushFollow(FOLLOW_ws_in_cp_arg8024);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -25368,14 +25450,14 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1170:7: {...}? IDENT
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1171:7: {...}? IDENT
 					{
-					dbg.location(1170,7);
+					dbg.location(1171,7);
 					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
 						if (state.backtracking>0) {state.failed=true; return;}
 						throw new FailedPredicateException(input, "cp_arg", "isLessSource()");
-					}dbg.location(1170,25);
-					match(input,IDENT,FOLLOW_IDENT_in_cp_arg8025); if (state.failed) return;
+					}dbg.location(1171,25);
+					match(input,IDENT,FOLLOW_IDENT_in_cp_arg8037); if (state.failed) return;
 					}
 					break;
 
@@ -25388,7 +25470,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1171, 4);
+		dbg.location(1172, 4);
 
 		}
 		finally {
@@ -25403,25 +25485,25 @@
 
 
 	// $ANTLR start "less_mixin_guarded"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1175:1: less_mixin_guarded : less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:1: less_mixin_guarded : less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ;
 	public final void less_mixin_guarded() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_mixin_guarded");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1175, 0);
+		dbg.location(1176, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1176:5: ( less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1177:5: ( less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
 			{
-			dbg.location(1177,5);
-			pushFollow(FOLLOW_less_when_in_less_mixin_guarded8048);
+			dbg.location(1178,5);
+			pushFollow(FOLLOW_less_when_in_less_mixin_guarded8060);
 			less_when();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1177,15);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:15: ( ws )?
+			if (state.failed) return;dbg.location(1178,15);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:15: ( ws )?
 			int alt369=2;
 			try { dbg.enterSubRule(369);
 			try { dbg.enterDecision(369, decisionCanBacktrack[369]);
@@ -25436,10 +25518,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:15: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:15: ws
 					{
-					dbg.location(1177,15);
-					pushFollow(FOLLOW_ws_in_less_mixin_guarded8050);
+					dbg.location(1178,15);
+					pushFollow(FOLLOW_ws_in_less_mixin_guarded8062);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25448,12 +25530,12 @@
 
 			}
 			} finally {dbg.exitSubRule(369);}
-			dbg.location(1177,19);
-			pushFollow(FOLLOW_less_condition_in_less_mixin_guarded8053);
+			dbg.location(1178,19);
+			pushFollow(FOLLOW_less_condition_in_less_mixin_guarded8065);
 			less_condition();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1177,34);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
+			if (state.failed) return;dbg.location(1178,34);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
 			try { dbg.enterSubRule(373);
 
 			loop373:
@@ -25475,10 +25557,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:35: ( ws )? ( COMMA | key_and ) ( ws )? less_condition
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:35: ( ws )? ( COMMA | key_and ) ( ws )? less_condition
 					{
-					dbg.location(1177,35);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:35: ( ws )?
+					dbg.location(1178,35);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:35: ( ws )?
 					int alt370=2;
 					try { dbg.enterSubRule(370);
 					try { dbg.enterDecision(370, decisionCanBacktrack[370]);
@@ -25493,10 +25575,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:35: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:35: ws
 							{
-							dbg.location(1177,35);
-							pushFollow(FOLLOW_ws_in_less_mixin_guarded8056);
+							dbg.location(1178,35);
+							pushFollow(FOLLOW_ws_in_less_mixin_guarded8068);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25505,8 +25587,8 @@
 
 					}
 					} finally {dbg.exitSubRule(370);}
-					dbg.location(1177,39);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:39: ( COMMA | key_and )
+					dbg.location(1178,39);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:39: ( COMMA | key_and )
 					int alt371=2;
 					try { dbg.enterSubRule(371);
 					try { dbg.enterDecision(371, decisionCanBacktrack[371]);
@@ -25533,19 +25615,19 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:40: COMMA
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:40: COMMA
 							{
-							dbg.location(1177,40);
-							match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded8060); if (state.failed) return;
+							dbg.location(1178,40);
+							match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded8072); if (state.failed) return;
 							}
 							break;
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:48: key_and
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:48: key_and
 							{
-							dbg.location(1177,48);
-							pushFollow(FOLLOW_key_and_in_less_mixin_guarded8064);
+							dbg.location(1178,48);
+							pushFollow(FOLLOW_key_and_in_less_mixin_guarded8076);
 							key_and();
 							state._fsp--;
 							if (state.failed) return;
@@ -25554,8 +25636,8 @@
 
 					}
 					} finally {dbg.exitSubRule(371);}
-					dbg.location(1177,57);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:57: ( ws )?
+					dbg.location(1178,57);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:57: ( ws )?
 					int alt372=2;
 					try { dbg.enterSubRule(372);
 					try { dbg.enterDecision(372, decisionCanBacktrack[372]);
@@ -25570,10 +25652,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1177:57: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:57: ws
 							{
-							dbg.location(1177,57);
-							pushFollow(FOLLOW_ws_in_less_mixin_guarded8067);
+							dbg.location(1178,57);
+							pushFollow(FOLLOW_ws_in_less_mixin_guarded8079);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25582,8 +25664,8 @@
 
 					}
 					} finally {dbg.exitSubRule(372);}
-					dbg.location(1177,61);
-					pushFollow(FOLLOW_less_condition_in_less_mixin_guarded8070);
+					dbg.location(1178,61);
+					pushFollow(FOLLOW_less_condition_in_less_mixin_guarded8082);
 					less_condition();
 					state._fsp--;
 					if (state.failed) return;
@@ -25606,7 +25688,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1178, 4);
+		dbg.location(1179, 4);
 
 		}
 		finally {
@@ -25621,21 +25703,21 @@
 
 
 	// $ANTLR start "less_condition"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1182:1: less_condition : ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1183:1: less_condition : ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ;
 	public final void less_condition() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_condition");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1182, 0);
+		dbg.location(1183, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1183:5: ( ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1184:5: ( ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1184:5: ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:5: ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN
 			{
-			dbg.location(1184,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1184:5: ( NOT ( ws )? )?
+			dbg.location(1185,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:5: ( NOT ( ws )? )?
 			int alt375=2;
 			try { dbg.enterSubRule(375);
 			try { dbg.enterDecision(375, decisionCanBacktrack[375]);
@@ -25650,11 +25732,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1184:6: NOT ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:6: NOT ( ws )?
 					{
-					dbg.location(1184,6);
-					match(input,NOT,FOLLOW_NOT_in_less_condition8096); if (state.failed) return;dbg.location(1184,10);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1184:10: ( ws )?
+					dbg.location(1185,6);
+					match(input,NOT,FOLLOW_NOT_in_less_condition8108); if (state.failed) return;dbg.location(1185,10);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:10: ( ws )?
 					int alt374=2;
 					try { dbg.enterSubRule(374);
 					try { dbg.enterDecision(374, decisionCanBacktrack[374]);
@@ -25669,10 +25751,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1184:10: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:10: ws
 							{
-							dbg.location(1184,10);
-							pushFollow(FOLLOW_ws_in_less_condition8098);
+							dbg.location(1185,10);
+							pushFollow(FOLLOW_ws_in_less_condition8110);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25687,9 +25769,9 @@
 
 			}
 			} finally {dbg.exitSubRule(375);}
-			dbg.location(1185,5);
-			match(input,LPAREN,FOLLOW_LPAREN_in_less_condition8107); if (state.failed) return;dbg.location(1185,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1185:12: ( ws )?
+			dbg.location(1186,5);
+			match(input,LPAREN,FOLLOW_LPAREN_in_less_condition8119); if (state.failed) return;dbg.location(1186,12);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1186:12: ( ws )?
 			int alt376=2;
 			try { dbg.enterSubRule(376);
 			try { dbg.enterDecision(376, decisionCanBacktrack[376]);
@@ -25704,10 +25786,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1185:12: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1186:12: ws
 					{
-					dbg.location(1185,12);
-					pushFollow(FOLLOW_ws_in_less_condition8109);
+					dbg.location(1186,12);
+					pushFollow(FOLLOW_ws_in_less_condition8121);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25716,14 +25798,14 @@
 
 			}
 			} finally {dbg.exitSubRule(376);}
-			dbg.location(1186,9);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1186:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? )
+			dbg.location(1187,9);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1187:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:14: ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:14: ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )?
 			{
-			dbg.location(1187,14);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:14: ( cp_variable | less_function_in_condition )
+			dbg.location(1188,14);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:14: ( cp_variable | less_function_in_condition )
 			int alt377=2;
 			try { dbg.enterSubRule(377);
 			try { dbg.enterDecision(377, decisionCanBacktrack[377]);
@@ -25750,10 +25832,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:15: cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:15: cp_variable
 					{
-					dbg.location(1187,15);
-					pushFollow(FOLLOW_cp_variable_in_less_condition8136);
+					dbg.location(1188,15);
+					pushFollow(FOLLOW_cp_variable_in_less_condition8148);
 					cp_variable();
 					state._fsp--;
 					if (state.failed) return;
@@ -25762,10 +25844,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:29: less_function_in_condition
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:29: less_function_in_condition
 					{
-					dbg.location(1187,29);
-					pushFollow(FOLLOW_less_function_in_condition_in_less_condition8140);
+					dbg.location(1188,29);
+					pushFollow(FOLLOW_less_function_in_condition_in_less_condition8152);
 					less_function_in_condition();
 					state._fsp--;
 					if (state.failed) return;
@@ -25774,8 +25856,8 @@
 
 			}
 			} finally {dbg.exitSubRule(377);}
-			dbg.location(1187,57);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:57: ( ws )?
+			dbg.location(1188,57);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:57: ( ws )?
 			int alt378=2;
 			try { dbg.enterSubRule(378);
 			try { dbg.enterDecision(378, decisionCanBacktrack[378]);
@@ -25790,10 +25872,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:57: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:57: ws
 					{
-					dbg.location(1187,57);
-					pushFollow(FOLLOW_ws_in_less_condition8143);
+					dbg.location(1188,57);
+					pushFollow(FOLLOW_ws_in_less_condition8155);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25802,8 +25884,8 @@
 
 			}
 			} finally {dbg.exitSubRule(378);}
-			dbg.location(1187,61);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:61: ( less_condition_operator ( ws )? cp_math_expression )?
+			dbg.location(1188,61);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:61: ( less_condition_operator ( ws )? cp_math_expression )?
 			int alt380=2;
 			try { dbg.enterSubRule(380);
 			try { dbg.enterDecision(380, decisionCanBacktrack[380]);
@@ -25818,14 +25900,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:62: less_condition_operator ( ws )? cp_math_expression
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:62: less_condition_operator ( ws )? cp_math_expression
 					{
-					dbg.location(1187,62);
-					pushFollow(FOLLOW_less_condition_operator_in_less_condition8147);
+					dbg.location(1188,62);
+					pushFollow(FOLLOW_less_condition_operator_in_less_condition8159);
 					less_condition_operator();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1187,86);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:86: ( ws )?
+					if (state.failed) return;dbg.location(1188,86);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:86: ( ws )?
 					int alt379=2;
 					try { dbg.enterSubRule(379);
 					try { dbg.enterDecision(379, decisionCanBacktrack[379]);
@@ -25840,10 +25922,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1187:86: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:86: ws
 							{
-							dbg.location(1187,86);
-							pushFollow(FOLLOW_ws_in_less_condition8149);
+							dbg.location(1188,86);
+							pushFollow(FOLLOW_ws_in_less_condition8161);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -25852,8 +25934,8 @@
 
 					}
 					} finally {dbg.exitSubRule(379);}
-					dbg.location(1187,90);
-					pushFollow(FOLLOW_cp_math_expression_in_less_condition8152);
+					dbg.location(1188,90);
+					pushFollow(FOLLOW_cp_math_expression_in_less_condition8164);
 					cp_math_expression();
 					state._fsp--;
 					if (state.failed) return;
@@ -25864,8 +25946,8 @@
 			} finally {dbg.exitSubRule(380);}
 
 			}
-			dbg.location(1189,5);
-			match(input,RPAREN,FOLLOW_RPAREN_in_less_condition8170); if (state.failed) return;
+			dbg.location(1190,5);
+			match(input,RPAREN,FOLLOW_RPAREN_in_less_condition8182); if (state.failed) return;
 			}
 
 		}
@@ -25876,7 +25958,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1190, 4);
+		dbg.location(1191, 4);
 
 		}
 		finally {
@@ -25891,25 +25973,25 @@
 
 
 	// $ANTLR start "less_function_in_condition"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1193:1: less_function_in_condition : less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1194:1: less_function_in_condition : less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ;
 	public final void less_function_in_condition() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_function_in_condition");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1193, 0);
+		dbg.location(1194, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1194:5: ( less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1195:5: ( less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN
 			{
-			dbg.location(1195,5);
-			pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition8192);
+			dbg.location(1196,5);
+			pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition8204);
 			less_fn_name();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1195,18);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:18: ( ws )?
+			if (state.failed) return;dbg.location(1196,18);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:18: ( ws )?
 			int alt381=2;
 			try { dbg.enterSubRule(381);
 			try { dbg.enterDecision(381, decisionCanBacktrack[381]);
@@ -25924,10 +26006,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:18: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:18: ws
 					{
-					dbg.location(1195,18);
-					pushFollow(FOLLOW_ws_in_less_function_in_condition8194);
+					dbg.location(1196,18);
+					pushFollow(FOLLOW_ws_in_less_function_in_condition8206);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25936,9 +26018,9 @@
 
 			}
 			} finally {dbg.exitSubRule(381);}
-			dbg.location(1195,22);
-			match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition8197); if (state.failed) return;dbg.location(1195,29);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:29: ( ws )?
+			dbg.location(1196,22);
+			match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition8209); if (state.failed) return;dbg.location(1196,29);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:29: ( ws )?
 			int alt382=2;
 			try { dbg.enterSubRule(382);
 			try { dbg.enterDecision(382, decisionCanBacktrack[382]);
@@ -25953,10 +26035,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:29: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:29: ws
 					{
-					dbg.location(1195,29);
-					pushFollow(FOLLOW_ws_in_less_function_in_condition8199);
+					dbg.location(1196,29);
+					pushFollow(FOLLOW_ws_in_less_function_in_condition8211);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25965,12 +26047,12 @@
 
 			}
 			} finally {dbg.exitSubRule(382);}
-			dbg.location(1195,33);
-			pushFollow(FOLLOW_cp_variable_in_less_function_in_condition8202);
+			dbg.location(1196,33);
+			pushFollow(FOLLOW_cp_variable_in_less_function_in_condition8214);
 			cp_variable();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1195,45);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:45: ( ws )?
+			if (state.failed) return;dbg.location(1196,45);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:45: ( ws )?
 			int alt383=2;
 			try { dbg.enterSubRule(383);
 			try { dbg.enterDecision(383, decisionCanBacktrack[383]);
@@ -25985,10 +26067,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1195:45: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:45: ws
 					{
-					dbg.location(1195,45);
-					pushFollow(FOLLOW_ws_in_less_function_in_condition8204);
+					dbg.location(1196,45);
+					pushFollow(FOLLOW_ws_in_less_function_in_condition8216);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -25997,8 +26079,8 @@
 
 			}
 			} finally {dbg.exitSubRule(383);}
-			dbg.location(1195,49);
-			match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition8207); if (state.failed) return;
+			dbg.location(1196,49);
+			match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition8219); if (state.failed) return;
 			}
 
 		}
@@ -26009,7 +26091,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1196, 4);
+		dbg.location(1197, 4);
 
 		}
 		finally {
@@ -26024,21 +26106,21 @@
 
 
 	// $ANTLR start "less_fn_name"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1199:1: less_fn_name : IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1200:1: less_fn_name : IDENT ;
 	public final void less_fn_name() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_fn_name");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1199, 0);
+		dbg.location(1200, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1200:5: ( IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1201:5: ( IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1201:5: IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1202:5: IDENT
 			{
-			dbg.location(1201,5);
-			match(input,IDENT,FOLLOW_IDENT_in_less_fn_name8229); if (state.failed) return;
+			dbg.location(1202,5);
+			match(input,IDENT,FOLLOW_IDENT_in_less_fn_name8241); if (state.failed) return;
 			}
 
 		}
@@ -26049,7 +26131,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1202, 4);
+		dbg.location(1203, 4);
 
 		}
 		finally {
@@ -26064,20 +26146,20 @@
 
 
 	// $ANTLR start "less_condition_operator"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1204:1: less_condition_operator : ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1205:1: less_condition_operator : ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ );
 	public final void less_condition_operator() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_condition_operator");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1204, 0);
+		dbg.location(1205, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1205:5: ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1206:5: ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
-			dbg.location(1205,5);
+			dbg.location(1206,5);
 			if ( (input.LA(1) >= GREATER && input.LA(1) <= GREATER_OR_EQ)||input.LA(1)==LESS||input.LA(1)==LESS_OR_EQ||input.LA(1)==OPEQ ) {
 				input.consume();
 				state.errorRecovery=false;
@@ -26099,7 +26181,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1207, 4);
+		dbg.location(1208, 4);
 
 		}
 		finally {
@@ -26114,21 +26196,21 @@
 
 
 	// $ANTLR start "less_selector_interpolation_exp"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1209:1: less_selector_interpolation_exp : ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:1: less_selector_interpolation_exp : ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
 	public final void less_selector_interpolation_exp() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation_exp");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1209, 0);
+		dbg.location(1210, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1209:33: ( ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:33: ( ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:5: ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:5: ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
 			{
-			dbg.location(1210,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:5: ( IDENT | MINUS )?
+			dbg.location(1211,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:5: ( IDENT | MINUS )?
 			int alt384=2;
 			try { dbg.enterSubRule(384);
 			try { dbg.enterDecision(384, decisionCanBacktrack[384]);
@@ -26143,9 +26225,9 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
-					dbg.location(1210,5);
+					dbg.location(1211,5);
 					if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -26162,12 +26244,12 @@
 
 			}
 			} finally {dbg.exitSubRule(384);}
-			dbg.location(1210,22);
-			pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8292);
+			dbg.location(1211,22);
+			pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8304);
 			less_selector_interpolation();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1210,50);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
+			if (state.failed) return;dbg.location(1211,50);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
 			int alt386=3;
 			try { dbg.enterSubRule(386);
 			try { dbg.enterDecision(386, decisionCanBacktrack[386]);
@@ -26210,10 +26292,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:51: less_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:51: less_selector_interpolation_exp
 					{
-					dbg.location(1210,51);
-					pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8295);
+					dbg.location(1211,51);
+					pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8307);
 					less_selector_interpolation_exp();
 					state._fsp--;
 					if (state.failed) return;
@@ -26222,10 +26304,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
 					{
-					dbg.location(1210,85);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1210:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
+					dbg.location(1211,85);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
 					int cnt385=0;
 					try { dbg.enterSubRule(385);
 
@@ -26252,9 +26334,9 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
-							dbg.location(1210,85);
+							dbg.location(1211,85);
 							if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) {
 								input.consume();
 								state.errorRecovery=false;
@@ -26297,7 +26379,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1211, 4);
+		dbg.location(1212, 4);
 
 		}
 		finally {
@@ -26312,23 +26394,23 @@
 
 
 	// $ANTLR start "less_selector_interpolation"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1213:1: less_selector_interpolation : AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:1: less_selector_interpolation : AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ;
 	public final void less_selector_interpolation() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1213, 0);
+		dbg.location(1214, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1214:5: ( AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:5: ( AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1215:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1216:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE
 			{
-			dbg.location(1215,5);
-			match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation8338); if (state.failed) return;dbg.location(1215,13);
-			match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation8340); if (state.failed) return;dbg.location(1215,20);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1215:20: ( ws )?
+			dbg.location(1216,5);
+			match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation8350); if (state.failed) return;dbg.location(1216,13);
+			match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation8352); if (state.failed) return;dbg.location(1216,20);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1216:20: ( ws )?
 			int alt387=2;
 			try { dbg.enterSubRule(387);
 			try { dbg.enterDecision(387, decisionCanBacktrack[387]);
@@ -26343,10 +26425,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1215:20: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1216:20: ws
 					{
-					dbg.location(1215,20);
-					pushFollow(FOLLOW_ws_in_less_selector_interpolation8342);
+					dbg.location(1216,20);
+					pushFollow(FOLLOW_ws_in_less_selector_interpolation8354);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -26355,9 +26437,9 @@
 
 			}
 			} finally {dbg.exitSubRule(387);}
-			dbg.location(1215,24);
-			match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation8345); if (state.failed) return;dbg.location(1215,30);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1215:30: ( ws )?
+			dbg.location(1216,24);
+			match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation8357); if (state.failed) return;dbg.location(1216,30);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1216:30: ( ws )?
 			int alt388=2;
 			try { dbg.enterSubRule(388);
 			try { dbg.enterDecision(388, decisionCanBacktrack[388]);
@@ -26372,10 +26454,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1215:30: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1216:30: ws
 					{
-					dbg.location(1215,30);
-					pushFollow(FOLLOW_ws_in_less_selector_interpolation8347);
+					dbg.location(1216,30);
+					pushFollow(FOLLOW_ws_in_less_selector_interpolation8359);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -26384,8 +26466,8 @@
 
 			}
 			} finally {dbg.exitSubRule(388);}
-			dbg.location(1215,34);
-			match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation8350); if (state.failed) return;
+			dbg.location(1216,34);
+			match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation8362); if (state.failed) return;
 			}
 
 		}
@@ -26396,7 +26478,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1216, 4);
+		dbg.location(1217, 4);
 
 		}
 		finally {
@@ -26411,21 +26493,21 @@
 
 
 	// $ANTLR start "sass_selector_interpolation_exp"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1219:1: sass_selector_interpolation_exp : ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:1: sass_selector_interpolation_exp : ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
 	public final void sass_selector_interpolation_exp() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_selector_interpolation_exp");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1219, 0);
+		dbg.location(1220, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1219:33: ( ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:33: ( ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:5: ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:5: ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
 			{
-			dbg.location(1220,5);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:5: ( IDENT | MINUS )?
+			dbg.location(1221,5);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:5: ( IDENT | MINUS )?
 			int alt389=2;
 			try { dbg.enterSubRule(389);
 			try { dbg.enterDecision(389, decisionCanBacktrack[389]);
@@ -26440,9 +26522,9 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
-					dbg.location(1220,5);
+					dbg.location(1221,5);
 					if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) {
 						input.consume();
 						state.errorRecovery=false;
@@ -26459,12 +26541,12 @@
 
 			}
 			} finally {dbg.exitSubRule(389);}
-			dbg.location(1220,22);
-			pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8377);
+			dbg.location(1221,22);
+			pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8389);
 			sass_interpolation_expression_var();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1220,56);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
+			if (state.failed) return;dbg.location(1221,56);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
 			int alt391=3;
 			try { dbg.enterSubRule(391);
 			try { dbg.enterDecision(391, decisionCanBacktrack[391]);
@@ -26516,10 +26598,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:57: sass_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:57: sass_selector_interpolation_exp
 					{
-					dbg.location(1220,57);
-					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8380);
+					dbg.location(1221,57);
+					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8392);
 					sass_selector_interpolation_exp();
 					state._fsp--;
 					if (state.failed) return;
@@ -26528,10 +26610,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
 					{
-					dbg.location(1220,91);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1220:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
+					dbg.location(1221,91);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
 					int cnt390=0;
 					try { dbg.enterSubRule(390);
 
@@ -26558,9 +26640,9 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
-							dbg.location(1220,91);
+							dbg.location(1221,91);
 							if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) {
 								input.consume();
 								state.errorRecovery=false;
@@ -26603,7 +26685,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1221, 4);
+		dbg.location(1222, 4);
 
 		}
 		finally {
@@ -26618,23 +26700,23 @@
 
 
 	// $ANTLR start "sass_interpolation_expression_var"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1223:1: sass_interpolation_expression_var : HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1224:1: sass_interpolation_expression_var : HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ;
 	public final void sass_interpolation_expression_var() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_interpolation_expression_var");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1223, 0);
+		dbg.location(1224, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1224:5: ( HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:5: ( HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1225:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE
 			{
-			dbg.location(1225,9);
-			match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8427); if (state.failed) return;dbg.location(1225,21);
-			match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var8429); if (state.failed) return;dbg.location(1225,28);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1225:28: ( WS )?
+			dbg.location(1226,9);
+			match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8439); if (state.failed) return;dbg.location(1226,21);
+			match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var8441); if (state.failed) return;dbg.location(1226,28);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:28: ( WS )?
 			int alt392=2;
 			try { dbg.enterSubRule(392);
 			try { dbg.enterDecision(392, decisionCanBacktrack[392]);
@@ -26649,21 +26731,21 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1225:28: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:28: WS
 					{
-					dbg.location(1225,28);
-					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8431); if (state.failed) return;
+					dbg.location(1226,28);
+					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8443); if (state.failed) return;
 					}
 					break;
 
 			}
 			} finally {dbg.exitSubRule(392);}
-			dbg.location(1225,32);
-			pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var8434);
+			dbg.location(1226,32);
+			pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var8446);
 			cp_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1225,46);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1225:46: ( WS )?
+			if (state.failed) return;dbg.location(1226,46);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:46: ( WS )?
 			int alt393=2;
 			try { dbg.enterSubRule(393);
 			try { dbg.enterDecision(393, decisionCanBacktrack[393]);
@@ -26678,17 +26760,17 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1225:46: WS
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:46: WS
 					{
-					dbg.location(1225,46);
-					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8436); if (state.failed) return;
+					dbg.location(1226,46);
+					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8448); if (state.failed) return;
 					}
 					break;
 
 			}
 			} finally {dbg.exitSubRule(393);}
-			dbg.location(1225,50);
-			match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var8439); if (state.failed) return;
+			dbg.location(1226,50);
+			match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var8451); if (state.failed) return;
 			}
 
 		}
@@ -26699,7 +26781,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1226, 4);
+		dbg.location(1227, 4);
 
 		}
 		finally {
@@ -26714,25 +26796,25 @@
 
 
 	// $ANTLR start "sass_nested_properties"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1246:1: sass_nested_properties : property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:1: sass_nested_properties : property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
 	public final void sass_nested_properties() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_nested_properties");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1246, 0);
+		dbg.location(1247, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1247:5: ( property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1248:5: ( property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
 			{
-			dbg.location(1248,5);
-			pushFollow(FOLLOW_property_in_sass_nested_properties8479);
+			dbg.location(1249,5);
+			pushFollow(FOLLOW_property_in_sass_nested_properties8491);
 			property();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1248,14);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:14: ( ws )?
+			if (state.failed) return;dbg.location(1249,14);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:14: ( ws )?
 			int alt394=2;
 			try { dbg.enterSubRule(394);
 			try { dbg.enterDecision(394, decisionCanBacktrack[394]);
@@ -26747,10 +26829,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:14: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:14: ws
 					{
-					dbg.location(1248,14);
-					pushFollow(FOLLOW_ws_in_sass_nested_properties8481);
+					dbg.location(1249,14);
+					pushFollow(FOLLOW_ws_in_sass_nested_properties8493);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -26759,9 +26841,9 @@
 
 			}
 			} finally {dbg.exitSubRule(394);}
-			dbg.location(1248,18);
-			match(input,COLON,FOLLOW_COLON_in_sass_nested_properties8484); if (state.failed) return;dbg.location(1248,24);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:24: ( ws )?
+			dbg.location(1249,18);
+			match(input,COLON,FOLLOW_COLON_in_sass_nested_properties8496); if (state.failed) return;dbg.location(1249,24);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:24: ( ws )?
 			int alt395=2;
 			try { dbg.enterSubRule(395);
 			try { dbg.enterDecision(395, decisionCanBacktrack[395]);
@@ -26776,10 +26858,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:24: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:24: ws
 					{
-					dbg.location(1248,24);
-					pushFollow(FOLLOW_ws_in_sass_nested_properties8486);
+					dbg.location(1249,24);
+					pushFollow(FOLLOW_ws_in_sass_nested_properties8498);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -26788,14 +26870,14 @@
 
 			}
 			} finally {dbg.exitSubRule(395);}
-			dbg.location(1248,28);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:28: ( propertyValue ( ws )? )?
+			dbg.location(1249,28);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:28: ( propertyValue ( ws )? )?
 			int alt397=2;
 			try { dbg.enterSubRule(397);
 			try { dbg.enterDecision(397, decisionCanBacktrack[397]);
 
 			int LA397_0 = input.LA(1);
-			if ( ((LA397_0 >= ANGLE && LA397_0 <= AT_SIGN)||(LA397_0 >= BOTTOMCENTER_SYM && LA397_0 <= BOTTOMRIGHT_SYM)||LA397_0==CHARSET_SYM||LA397_0==COUNTER_STYLE_SYM||LA397_0==DIMENSION||LA397_0==EMS||LA397_0==EXS||(LA397_0 >= FONT_FACE_SYM && LA397_0 <= FREQ)||LA397_0==GEN||(LA397_0 >= HASH && LA397_0 <= HASH_SYMBOL)||LA397_0==IDENT||LA397_0==IMPORT_SYM||(LA397_0 >= LEFTBOTTOM_SYM && LA397_0 <= LENGTH)||(LA397_0 >= LESS_AND && LA397_0 <= LESS_JS_STRING)||(LA397_0 >= MEDIA_SYM && LA397_0 <= MOZ_DOCUMENT_SYM)||LA397_0==NAMESPACE_SYM||LA397_0==NUMBER||(LA397_0 >= PAGE_SYM && LA397_0 <= PERCENTAGE_SYMBOL)||LA397_0==PLUS||(LA397_0 >= REM && LA397_0 <= RIGHTTOP_SYM)||(LA397_0 >= SASS_AT_ROOT && LA397_0 <= SASS_DEBUG)||(LA397_0 >= SASS_EACH && LA397_0 <= SASS_ELSE)||LA397_0==SASS_EXTEND||(LA397_0 >= SASS_FOR && LA397_0 <= SASS_FUNCTION)||(LA397_0 >= SASS_IF && LA397_0 <= SASS_MIXIN)||(LA397_0 >= SASS_RETURN && LA397_0 <= SASS_WHILE)||LA397_0==STRING||(LA397_0 >= TILDE && LA397_0 <= TOPRIGHT_SYM)||LA397_0==URI||LA397_0==VARIABLE||LA397_0==WEBKIT_KEYFRAMES_SYM) ) {
+			if ( ((LA397_0 >= ANGLE && LA397_0 <= AT_SIGN)||(LA397_0 >= BOTTOMCENTER_SYM && LA397_0 <= BOTTOMRIGHT_SYM)||LA397_0==CHARSET_SYM||LA397_0==COUNTER_STYLE_SYM||LA397_0==DIMENSION||LA397_0==EMS||LA397_0==EXS||(LA397_0 >= FONT_FACE_SYM && LA397_0 <= FREQ)||LA397_0==GEN||(LA397_0 >= HASH && LA397_0 <= HASH_SYMBOL)||LA397_0==IDENT||LA397_0==IMPORT_SYM||(LA397_0 >= LEFTBOTTOM_SYM && LA397_0 <= LENGTH)||(LA397_0 >= LESS_AND && LA397_0 <= LESS_JS_STRING)||(LA397_0 >= MEDIA_SYM && LA397_0 <= MOZ_DOCUMENT_SYM)||LA397_0==NAMESPACE_SYM||LA397_0==NUMBER||(LA397_0 >= PAGE_SYM && LA397_0 <= PERCENTAGE_SYMBOL)||LA397_0==PLUS||(LA397_0 >= REM && LA397_0 <= RIGHTTOP_SYM)||(LA397_0 >= SASS_AT_ROOT && LA397_0 <= SASS_DEBUG)||(LA397_0 >= SASS_EACH && LA397_0 <= SASS_ELSE)||LA397_0==SASS_EXTEND||(LA397_0 >= SASS_FOR && LA397_0 <= SASS_FUNCTION)||(LA397_0 >= SASS_IF && LA397_0 <= SASS_MIXIN)||(LA397_0 >= SASS_RETURN && LA397_0 <= SASS_WHILE)||LA397_0==STRING||(LA397_0 >= TILDE && LA397_0 <= TOPRIGHT_SYM)||(LA397_0 >= URANGE && LA397_0 <= URI)||LA397_0==VARIABLE||LA397_0==WEBKIT_KEYFRAMES_SYM) ) {
 				alt397=1;
 			}
 			} finally {dbg.exitDecision(397);}
@@ -26804,14 +26886,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:29: propertyValue ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:29: propertyValue ( ws )?
 					{
-					dbg.location(1248,29);
-					pushFollow(FOLLOW_propertyValue_in_sass_nested_properties8490);
+					dbg.location(1249,29);
+					pushFollow(FOLLOW_propertyValue_in_sass_nested_properties8502);
 					propertyValue();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1248,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:43: ( ws )?
+					if (state.failed) return;dbg.location(1249,43);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:43: ( ws )?
 					int alt396=2;
 					try { dbg.enterSubRule(396);
 					try { dbg.enterDecision(396, decisionCanBacktrack[396]);
@@ -26826,10 +26908,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:43: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:43: ws
 							{
-							dbg.location(1248,43);
-							pushFollow(FOLLOW_ws_in_sass_nested_properties8492);
+							dbg.location(1249,43);
+							pushFollow(FOLLOW_ws_in_sass_nested_properties8504);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -26844,9 +26926,9 @@
 
 			}
 			} finally {dbg.exitSubRule(397);}
-			dbg.location(1248,49);
-			match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties8497); if (state.failed) return;dbg.location(1248,56);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:56: ( ws )?
+			dbg.location(1249,49);
+			match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties8509); if (state.failed) return;dbg.location(1249,56);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:56: ( ws )?
 			int alt398=2;
 			try { dbg.enterSubRule(398);
 			try { dbg.enterDecision(398, decisionCanBacktrack[398]);
@@ -26861,10 +26943,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:56: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:56: ws
 					{
-					dbg.location(1248,56);
-					pushFollow(FOLLOW_ws_in_sass_nested_properties8499);
+					dbg.location(1249,56);
+					pushFollow(FOLLOW_ws_in_sass_nested_properties8511);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -26873,12 +26955,12 @@
 
 			}
 			} finally {dbg.exitSubRule(398);}
-			dbg.location(1248,60);
-			pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties8502);
+			dbg.location(1249,60);
+			pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties8514);
 			syncToFollow();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1248,73);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:73: ( declarations )?
+			if (state.failed) return;dbg.location(1249,73);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:73: ( declarations )?
 			int alt399=2;
 			try { dbg.enterSubRule(399);
 			try { dbg.enterDecision(399, decisionCanBacktrack[399]);
@@ -26893,10 +26975,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1248:73: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:73: declarations
 					{
-					dbg.location(1248,73);
-					pushFollow(FOLLOW_declarations_in_sass_nested_properties8504);
+					dbg.location(1249,73);
+					pushFollow(FOLLOW_declarations_in_sass_nested_properties8516);
 					declarations();
 					state._fsp--;
 					if (state.failed) return;
@@ -26905,8 +26987,8 @@
 
 			}
 			} finally {dbg.exitSubRule(399);}
-			dbg.location(1248,87);
-			match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties8507); if (state.failed) return;
+			dbg.location(1249,87);
+			match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties8519); if (state.failed) return;
 			}
 
 		}
@@ -26917,7 +26999,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1249, 4);
+		dbg.location(1250, 4);
 
 		}
 		finally {
@@ -26932,30 +27014,30 @@
 
 
 	// $ANTLR start "sass_extend"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1251:1: sass_extend : SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:1: sass_extend : SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? ;
 	public final void sass_extend() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_extend");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1251, 0);
+		dbg.location(1252, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1252:5: ( SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1253:5: ( SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1253:5: SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1254:5: SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )?
 			{
-			dbg.location(1253,5);
-			match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend8528); if (state.failed) return;dbg.location(1253,17);
-			pushFollow(FOLLOW_ws_in_sass_extend8530);
+			dbg.location(1254,5);
+			match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend8540); if (state.failed) return;dbg.location(1254,17);
+			pushFollow(FOLLOW_ws_in_sass_extend8542);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1253,20);
-			pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend8532);
+			if (state.failed) return;dbg.location(1254,20);
+			pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend8544);
 			simpleSelectorSequence();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1253,43);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1253:43: ( ws SASS_OPTIONAL )?
+			if (state.failed) return;dbg.location(1254,43);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1254:43: ( ws SASS_OPTIONAL )?
 			int alt400=2;
 			try { dbg.enterSubRule(400);
 			try { dbg.enterDecision(400, decisionCanBacktrack[400]);
@@ -26974,14 +27056,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1253:44: ws SASS_OPTIONAL
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1254:44: ws SASS_OPTIONAL
 					{
-					dbg.location(1253,44);
-					pushFollow(FOLLOW_ws_in_sass_extend8535);
+					dbg.location(1254,44);
+					pushFollow(FOLLOW_ws_in_sass_extend8547);
 					ws();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1253,47);
-					match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend8537); if (state.failed) return;
+					if (state.failed) return;dbg.location(1254,47);
+					match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend8549); if (state.failed) return;
 					}
 					break;
 
@@ -26998,7 +27080,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1254, 4);
+		dbg.location(1255, 4);
 
 		}
 		finally {
@@ -27013,22 +27095,22 @@
 
 
 	// $ANTLR start "sass_extend_only_selector"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1256:1: sass_extend_only_selector : SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:1: sass_extend_only_selector : SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ;
 	public final void sass_extend_only_selector() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_extend_only_selector");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1256, 0);
+		dbg.location(1257, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1257:5: ( SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1258:5: ( SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1258:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1259:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )?
 			{
-			dbg.location(1258,5);
-			match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8560); if (state.failed) return;dbg.location(1258,31);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1258:31: ( sass_selector_interpolation_exp )?
+			dbg.location(1259,5);
+			match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8572); if (state.failed) return;dbg.location(1259,31);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1259:31: ( sass_selector_interpolation_exp )?
 			int alt401=2;
 			try { dbg.enterSubRule(401);
 			try { dbg.enterDecision(401, decisionCanBacktrack[401]);
@@ -27049,10 +27131,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1258:31: sass_selector_interpolation_exp
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1259:31: sass_selector_interpolation_exp
 					{
-					dbg.location(1258,31);
-					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8562);
+					dbg.location(1259,31);
+					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8574);
 					sass_selector_interpolation_exp();
 					state._fsp--;
 					if (state.failed) return;
@@ -27072,7 +27154,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1259, 4);
+		dbg.location(1260, 4);
 
 		}
 		finally {
@@ -27087,20 +27169,20 @@
 
 
 	// $ANTLR start "sass_debug"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1261:1: sass_debug : ( SASS_DEBUG | SASS_WARN ) ws cp_expression ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1262:1: sass_debug : ( SASS_DEBUG | SASS_WARN ) ws cp_expression ;
 	public final void sass_debug() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_debug");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1261, 0);
+		dbg.location(1262, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1262:5: ( ( SASS_DEBUG | SASS_WARN ) ws cp_expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1263:5: ( ( SASS_DEBUG | SASS_WARN ) ws cp_expression )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1263:5: ( SASS_DEBUG | SASS_WARN ) ws cp_expression
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1264:5: ( SASS_DEBUG | SASS_WARN ) ws cp_expression
 			{
-			dbg.location(1263,5);
+			dbg.location(1264,5);
 			if ( input.LA(1)==SASS_DEBUG||input.LA(1)==SASS_WARN ) {
 				input.consume();
 				state.errorRecovery=false;
@@ -27111,12 +27193,12 @@
 				MismatchedSetException mse = new MismatchedSetException(null,input);
 				dbg.recognitionException(mse);
 				throw mse;
-			}dbg.location(1263,32);
-			pushFollow(FOLLOW_ws_in_sass_debug8594);
+			}dbg.location(1264,32);
+			pushFollow(FOLLOW_ws_in_sass_debug8606);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1263,35);
-			pushFollow(FOLLOW_cp_expression_in_sass_debug8596);
+			if (state.failed) return;dbg.location(1264,35);
+			pushFollow(FOLLOW_cp_expression_in_sass_debug8608);
 			cp_expression();
 			state._fsp--;
 			if (state.failed) return;
@@ -27130,7 +27212,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1264, 4);
+		dbg.location(1265, 4);
 
 		}
 		finally {
@@ -27145,26 +27227,26 @@
 
 
 	// $ANTLR start "sass_error"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1266:1: sass_error : SASS_ERROR ws STRING ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1267:1: sass_error : SASS_ERROR ws STRING ;
 	public final void sass_error() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_error");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1266, 0);
+		dbg.location(1267, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1267:5: ( SASS_ERROR ws STRING )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:5: ( SASS_ERROR ws STRING )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1268:5: SASS_ERROR ws STRING
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1269:5: SASS_ERROR ws STRING
 			{
-			dbg.location(1268,5);
-			match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error8617); if (state.failed) return;dbg.location(1268,16);
-			pushFollow(FOLLOW_ws_in_sass_error8619);
+			dbg.location(1269,5);
+			match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error8629); if (state.failed) return;dbg.location(1269,16);
+			pushFollow(FOLLOW_ws_in_sass_error8631);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1268,19);
-			match(input,STRING,FOLLOW_STRING_in_sass_error8621); if (state.failed) return;
+			if (state.failed) return;dbg.location(1269,19);
+			match(input,STRING,FOLLOW_STRING_in_sass_error8633); if (state.failed) return;
 			}
 
 		}
@@ -27175,7 +27257,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1269, 4);
+		dbg.location(1270, 4);
 
 		}
 		finally {
@@ -27190,15 +27272,15 @@
 
 
 	// $ANTLR start "sass_control"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1271:1: sass_control : ( sass_if | sass_for | sass_each | sass_while );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1272:1: sass_control : ( sass_if | sass_for | sass_each | sass_while );
 	public final void sass_control() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_control");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1271, 0);
+		dbg.location(1272, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1272:5: ( sass_if | sass_for | sass_each | sass_while )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:5: ( sass_if | sass_for | sass_each | sass_while )
 			int alt402=4;
 			try { dbg.enterDecision(402, decisionCanBacktrack[402]);
 
@@ -27236,10 +27318,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1273:5: sass_if
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1274:5: sass_if
 					{
-					dbg.location(1273,5);
-					pushFollow(FOLLOW_sass_if_in_sass_control8642);
+					dbg.location(1274,5);
+					pushFollow(FOLLOW_sass_if_in_sass_control8654);
 					sass_if();
 					state._fsp--;
 					if (state.failed) return;
@@ -27248,10 +27330,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1273:15: sass_for
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1274:15: sass_for
 					{
-					dbg.location(1273,15);
-					pushFollow(FOLLOW_sass_for_in_sass_control8646);
+					dbg.location(1274,15);
+					pushFollow(FOLLOW_sass_for_in_sass_control8658);
 					sass_for();
 					state._fsp--;
 					if (state.failed) return;
@@ -27260,10 +27342,10 @@
 				case 3 :
 					dbg.enterAlt(3);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1273:26: sass_each
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1274:26: sass_each
 					{
-					dbg.location(1273,26);
-					pushFollow(FOLLOW_sass_each_in_sass_control8650);
+					dbg.location(1274,26);
+					pushFollow(FOLLOW_sass_each_in_sass_control8662);
 					sass_each();
 					state._fsp--;
 					if (state.failed) return;
@@ -27272,10 +27354,10 @@
 				case 4 :
 					dbg.enterAlt(4);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1273:38: sass_while
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1274:38: sass_while
 					{
-					dbg.location(1273,38);
-					pushFollow(FOLLOW_sass_while_in_sass_control8654);
+					dbg.location(1274,38);
+					pushFollow(FOLLOW_sass_while_in_sass_control8666);
 					sass_while();
 					state._fsp--;
 					if (state.failed) return;
@@ -27291,7 +27373,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1274, 4);
+		dbg.location(1275, 4);
 
 		}
 		finally {
@@ -27306,22 +27388,22 @@
 
 
 	// $ANTLR start "sass_if"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1276:1: sass_if : SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1277:1: sass_if : SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ;
 	public final void sass_if() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_if");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1276, 0);
+		dbg.location(1277, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1277:5: ( SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1278:5: ( SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
 			{
-			dbg.location(1278,5);
-			match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if8675); if (state.failed) return;dbg.location(1278,13);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:13: ( ws )?
+			dbg.location(1279,5);
+			match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if8687); if (state.failed) return;dbg.location(1279,13);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:13: ( ws )?
 			int alt403=2;
 			try { dbg.enterSubRule(403);
 			try { dbg.enterDecision(403, decisionCanBacktrack[403]);
@@ -27336,10 +27418,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:13: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:13: ws
 					{
-					dbg.location(1278,13);
-					pushFollow(FOLLOW_ws_in_sass_if8677);
+					dbg.location(1279,13);
+					pushFollow(FOLLOW_ws_in_sass_if8689);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -27348,12 +27430,12 @@
 
 			}
 			} finally {dbg.exitSubRule(403);}
-			dbg.location(1278,17);
-			pushFollow(FOLLOW_sass_control_expression_in_sass_if8680);
+			dbg.location(1279,17);
+			pushFollow(FOLLOW_sass_control_expression_in_sass_if8692);
 			sass_control_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1278,41);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:41: ( ws )?
+			if (state.failed) return;dbg.location(1279,41);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:41: ( ws )?
 			int alt404=2;
 			try { dbg.enterSubRule(404);
 			try { dbg.enterDecision(404, decisionCanBacktrack[404]);
@@ -27368,10 +27450,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:41: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:41: ws
 					{
-					dbg.location(1278,41);
-					pushFollow(FOLLOW_ws_in_sass_if8682);
+					dbg.location(1279,41);
+					pushFollow(FOLLOW_ws_in_sass_if8694);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -27380,12 +27462,12 @@
 
 			}
 			} finally {dbg.exitSubRule(404);}
-			dbg.location(1278,45);
-			pushFollow(FOLLOW_sass_control_block_in_sass_if8685);
+			dbg.location(1279,45);
+			pushFollow(FOLLOW_sass_control_block_in_sass_if8697);
 			sass_control_block();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1278,64);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:64: ( ( ws )? sass_else )?
+			if (state.failed) return;dbg.location(1279,64);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:64: ( ( ws )? sass_else )?
 			int alt406=2;
 			try { dbg.enterSubRule(406);
 			try { dbg.enterDecision(406, decisionCanBacktrack[406]);
@@ -27404,10 +27486,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:65: ( ws )? sass_else
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:65: ( ws )? sass_else
 					{
-					dbg.location(1278,65);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:65: ( ws )?
+					dbg.location(1279,65);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:65: ( ws )?
 					int alt405=2;
 					try { dbg.enterSubRule(405);
 					try { dbg.enterDecision(405, decisionCanBacktrack[405]);
@@ -27422,10 +27504,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1278:65: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:65: ws
 							{
-							dbg.location(1278,65);
-							pushFollow(FOLLOW_ws_in_sass_if8688);
+							dbg.location(1279,65);
+							pushFollow(FOLLOW_ws_in_sass_if8700);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -27434,8 +27516,8 @@
 
 					}
 					} finally {dbg.exitSubRule(405);}
-					dbg.location(1278,69);
-					pushFollow(FOLLOW_sass_else_in_sass_if8691);
+					dbg.location(1279,69);
+					pushFollow(FOLLOW_sass_else_in_sass_if8703);
 					sass_else();
 					state._fsp--;
 					if (state.failed) return;
@@ -27455,7 +27537,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1279, 4);
+		dbg.location(1280, 4);
 
 		}
 		finally {
@@ -27470,15 +27552,15 @@
 
 
 	// $ANTLR start "sass_else"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1281:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1282:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );
 	public final void sass_else() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_else");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1281, 0);
+		dbg.location(1282, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1282:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
 			int alt414=2;
 			try { dbg.enterDecision(414, decisionCanBacktrack[414]);
 
@@ -27496,11 +27578,11 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1283:5: SASS_ELSE ( ws )? sass_control_block
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:5: SASS_ELSE ( ws )? sass_control_block
 					{
-					dbg.location(1283,5);
-					match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8714); if (state.failed) return;dbg.location(1283,15);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1283:15: ( ws )?
+					dbg.location(1284,5);
+					match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8726); if (state.failed) return;dbg.location(1284,15);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:15: ( ws )?
 					int alt407=2;
 					try { dbg.enterSubRule(407);
 					try { dbg.enterDecision(407, decisionCanBacktrack[407]);
@@ -27515,10 +27597,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1283:15: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:15: ws
 							{
-							dbg.location(1283,15);
-							pushFollow(FOLLOW_ws_in_sass_else8716);
+							dbg.location(1284,15);
+							pushFollow(FOLLOW_ws_in_sass_else8728);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -27527,8 +27609,8 @@
 
 					}
 					} finally {dbg.exitSubRule(407);}
-					dbg.location(1283,19);
-					pushFollow(FOLLOW_sass_control_block_in_sass_else8719);
+					dbg.location(1284,19);
+					pushFollow(FOLLOW_sass_control_block_in_sass_else8731);
 					sass_control_block();
 					state._fsp--;
 					if (state.failed) return;
@@ -27537,10 +27619,10 @@
 				case 2 :
 					dbg.enterAlt(2);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
 					{
-					dbg.location(1285,5);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF )
+					dbg.location(1286,5);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF )
 					int alt409=2;
 					try { dbg.enterSubRule(409);
 					try { dbg.enterDecision(409, decisionCanBacktrack[409]);
@@ -27567,17 +27649,17 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:6: ( SASS_ELSE ( ws )? {...}? IDENT )
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:6: ( SASS_ELSE ( ws )? {...}? IDENT )
 							{
-							dbg.location(1285,6);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:6: ( SASS_ELSE ( ws )? {...}? IDENT )
+							dbg.location(1286,6);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:6: ( SASS_ELSE ( ws )? {...}? IDENT )
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:7: SASS_ELSE ( ws )? {...}? IDENT
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:7: SASS_ELSE ( ws )? {...}? IDENT
 							{
-							dbg.location(1285,7);
-							match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8733); if (state.failed) return;dbg.location(1285,17);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:17: ( ws )?
+							dbg.location(1286,7);
+							match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8745); if (state.failed) return;dbg.location(1286,17);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:17: ( ws )?
 							int alt408=2;
 							try { dbg.enterSubRule(408);
 							try { dbg.enterDecision(408, decisionCanBacktrack[408]);
@@ -27592,10 +27674,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:17: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:17: ws
 									{
-									dbg.location(1285,17);
-									pushFollow(FOLLOW_ws_in_sass_else8735);
+									dbg.location(1286,17);
+									pushFollow(FOLLOW_ws_in_sass_else8747);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -27604,12 +27686,12 @@
 
 							}
 							} finally {dbg.exitSubRule(408);}
-							dbg.location(1285,21);
+							dbg.location(1286,21);
 							if ( !(evalPredicate(tokenNameEquals("if"),"tokenNameEquals(\"if\")")) ) {
 								if (state.backtracking>0) {state.failed=true; return;}
 								throw new FailedPredicateException(input, "sass_else", "tokenNameEquals(\"if\")");
-							}dbg.location(1285,46);
-							match(input,IDENT,FOLLOW_IDENT_in_sass_else8740); if (state.failed) return;
+							}dbg.location(1286,46);
+							match(input,IDENT,FOLLOW_IDENT_in_sass_else8752); if (state.failed) return;
 							}
 
 							}
@@ -27617,17 +27699,17 @@
 						case 2 :
 							dbg.enterAlt(2);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:64: SASS_ELSEIF
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:64: SASS_ELSEIF
 							{
-							dbg.location(1285,64);
-							match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else8747); if (state.failed) return;
+							dbg.location(1286,64);
+							match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else8759); if (state.failed) return;
 							}
 							break;
 
 					}
 					} finally {dbg.exitSubRule(409);}
-					dbg.location(1285,77);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:77: ( ws )?
+					dbg.location(1286,77);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:77: ( ws )?
 					int alt410=2;
 					try { dbg.enterSubRule(410);
 					try { dbg.enterDecision(410, decisionCanBacktrack[410]);
@@ -27642,10 +27724,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:77: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:77: ws
 							{
-							dbg.location(1285,77);
-							pushFollow(FOLLOW_ws_in_sass_else8750);
+							dbg.location(1286,77);
+							pushFollow(FOLLOW_ws_in_sass_else8762);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -27654,12 +27736,12 @@
 
 					}
 					} finally {dbg.exitSubRule(410);}
-					dbg.location(1285,81);
-					pushFollow(FOLLOW_sass_control_expression_in_sass_else8753);
+					dbg.location(1286,81);
+					pushFollow(FOLLOW_sass_control_expression_in_sass_else8765);
 					sass_control_expression();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1285,105);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:105: ( ws )?
+					if (state.failed) return;dbg.location(1286,105);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:105: ( ws )?
 					int alt411=2;
 					try { dbg.enterSubRule(411);
 					try { dbg.enterDecision(411, decisionCanBacktrack[411]);
@@ -27674,10 +27756,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:105: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:105: ws
 							{
-							dbg.location(1285,105);
-							pushFollow(FOLLOW_ws_in_sass_else8755);
+							dbg.location(1286,105);
+							pushFollow(FOLLOW_ws_in_sass_else8767);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -27686,12 +27768,12 @@
 
 					}
 					} finally {dbg.exitSubRule(411);}
-					dbg.location(1285,109);
-					pushFollow(FOLLOW_sass_control_block_in_sass_else8758);
+					dbg.location(1286,109);
+					pushFollow(FOLLOW_sass_control_block_in_sass_else8770);
 					sass_control_block();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1285,128);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:128: ( ( ws )? sass_else )?
+					if (state.failed) return;dbg.location(1286,128);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:128: ( ( ws )? sass_else )?
 					int alt413=2;
 					try { dbg.enterSubRule(413);
 					try { dbg.enterDecision(413, decisionCanBacktrack[413]);
@@ -27710,10 +27792,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:129: ( ws )? sass_else
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:129: ( ws )? sass_else
 							{
-							dbg.location(1285,129);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:129: ( ws )?
+							dbg.location(1286,129);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:129: ( ws )?
 							int alt412=2;
 							try { dbg.enterSubRule(412);
 							try { dbg.enterDecision(412, decisionCanBacktrack[412]);
@@ -27728,10 +27810,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1285:129: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:129: ws
 									{
-									dbg.location(1285,129);
-									pushFollow(FOLLOW_ws_in_sass_else8761);
+									dbg.location(1286,129);
+									pushFollow(FOLLOW_ws_in_sass_else8773);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -27740,8 +27822,8 @@
 
 							}
 							} finally {dbg.exitSubRule(412);}
-							dbg.location(1285,133);
-							pushFollow(FOLLOW_sass_else_in_sass_else8764);
+							dbg.location(1286,133);
+							pushFollow(FOLLOW_sass_else_in_sass_else8776);
 							sass_else();
 							state._fsp--;
 							if (state.failed) return;
@@ -27763,7 +27845,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1286, 4);
+		dbg.location(1287, 4);
 
 		}
 		finally {
@@ -27778,21 +27860,21 @@
 
 
 	// $ANTLR start "sass_control_expression"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1288:1: sass_control_expression : cp_expression ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:1: sass_control_expression : cp_expression ;
 	public final void sass_control_expression() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_control_expression");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1288, 0);
+		dbg.location(1289, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1289:5: ( cp_expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1290:5: ( cp_expression )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1290:5: cp_expression
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:5: cp_expression
 			{
-			dbg.location(1290,5);
-			pushFollow(FOLLOW_cp_expression_in_sass_control_expression8787);
+			dbg.location(1291,5);
+			pushFollow(FOLLOW_cp_expression_in_sass_control_expression8799);
 			cp_expression();
 			state._fsp--;
 			if (state.failed) return;
@@ -27806,7 +27888,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1291, 4);
+		dbg.location(1292, 4);
 
 		}
 		finally {
@@ -27821,64 +27903,64 @@
 
 
 	// $ANTLR start "sass_for"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1293:1: sass_for : SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:1: sass_for : SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ;
 	public final void sass_for() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_for");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1293, 0);
+		dbg.location(1294, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1294:5: ( SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1295:5: ( SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1295:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1296:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block
 			{
-			dbg.location(1295,5);
-			match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for8808); if (state.failed) return;dbg.location(1295,14);
-			pushFollow(FOLLOW_ws_in_sass_for8810);
-			ws();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1295,17);
-			pushFollow(FOLLOW_cp_variable_in_sass_for8812);
-			cp_variable();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1295,29);
-			pushFollow(FOLLOW_ws_in_sass_for8814);
-			ws();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1295,32);
-			if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
-				if (state.backtracking>0) {state.failed=true; return;}
-				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"from\")");
-			}dbg.location(1295,59);
-			match(input,IDENT,FOLLOW_IDENT_in_sass_for8818); if (state.failed) return;dbg.location(1295,74);
+			dbg.location(1296,5);
+			match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for8820); if (state.failed) return;dbg.location(1296,14);
 			pushFollow(FOLLOW_ws_in_sass_for8822);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1295,77);
-			pushFollow(FOLLOW_cp_math_expression_in_sass_for8824);
-			cp_math_expression();
+			if (state.failed) return;dbg.location(1296,17);
+			pushFollow(FOLLOW_cp_variable_in_sass_for8824);
+			cp_variable();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1295,96);
+			if (state.failed) return;dbg.location(1296,29);
 			pushFollow(FOLLOW_ws_in_sass_for8826);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1295,99);
-			if ( !(evalPredicate(tokenNameEquals("to")|tokenNameEquals("through"),"tokenNameEquals(\"to\")|tokenNameEquals(\"through\")")) ) {
+			if (state.failed) return;dbg.location(1296,32);
+			if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
-				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"to\")|tokenNameEquals(\"through\")");
-			}dbg.location(1295,151);
-			match(input,IDENT,FOLLOW_IDENT_in_sass_for8830); if (state.failed) return;dbg.location(1295,173);
+				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"from\")");
+			}dbg.location(1296,59);
+			match(input,IDENT,FOLLOW_IDENT_in_sass_for8830); if (state.failed) return;dbg.location(1296,74);
 			pushFollow(FOLLOW_ws_in_sass_for8834);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1295,176);
+			if (state.failed) return;dbg.location(1296,77);
 			pushFollow(FOLLOW_cp_math_expression_in_sass_for8836);
 			cp_math_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1295,195);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1295:195: ( ws )?
+			if (state.failed) return;dbg.location(1296,96);
+			pushFollow(FOLLOW_ws_in_sass_for8838);
+			ws();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1296,99);
+			if ( !(evalPredicate(tokenNameEquals("to")|tokenNameEquals("through"),"tokenNameEquals(\"to\")|tokenNameEquals(\"through\")")) ) {
+				if (state.backtracking>0) {state.failed=true; return;}
+				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"to\")|tokenNameEquals(\"through\")");
+			}dbg.location(1296,151);
+			match(input,IDENT,FOLLOW_IDENT_in_sass_for8842); if (state.failed) return;dbg.location(1296,173);
+			pushFollow(FOLLOW_ws_in_sass_for8846);
+			ws();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1296,176);
+			pushFollow(FOLLOW_cp_math_expression_in_sass_for8848);
+			cp_math_expression();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1296,195);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1296:195: ( ws )?
 			int alt415=2;
 			try { dbg.enterSubRule(415);
 			try { dbg.enterDecision(415, decisionCanBacktrack[415]);
@@ -27893,10 +27975,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1295:195: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1296:195: ws
 					{
-					dbg.location(1295,195);
-					pushFollow(FOLLOW_ws_in_sass_for8838);
+					dbg.location(1296,195);
+					pushFollow(FOLLOW_ws_in_sass_for8850);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -27905,8 +27987,8 @@
 
 			}
 			} finally {dbg.exitSubRule(415);}
-			dbg.location(1295,199);
-			pushFollow(FOLLOW_sass_control_block_in_sass_for8841);
+			dbg.location(1296,199);
+			pushFollow(FOLLOW_sass_control_block_in_sass_for8853);
 			sass_control_block();
 			state._fsp--;
 			if (state.failed) return;
@@ -27920,7 +28002,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1296, 4);
+		dbg.location(1297, 4);
 
 		}
 		finally {
@@ -27935,43 +28017,43 @@
 
 
 	// $ANTLR start "sass_each"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1298:1: sass_each : SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:1: sass_each : SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ;
 	public final void sass_each() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_each");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1298, 0);
+		dbg.location(1299, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1299:5: ( SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:5: ( SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block
 			{
-			dbg.location(1300,5);
-			match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each8862); if (state.failed) return;dbg.location(1300,15);
-			pushFollow(FOLLOW_ws_in_sass_each8864);
-			ws();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1300,18);
-			pushFollow(FOLLOW_sass_each_variables_in_sass_each8866);
-			sass_each_variables();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1300,38);
-			pushFollow(FOLLOW_ws_in_sass_each8868);
-			ws();
-			state._fsp--;
-			if (state.failed) return;dbg.location(1300,41);
-			if ( !(evalPredicate(tokenNameEquals("in"),"tokenNameEquals(\"in\")")) ) {
-				if (state.backtracking>0) {state.failed=true; return;}
-				throw new FailedPredicateException(input, "sass_each", "tokenNameEquals(\"in\")");
-			}dbg.location(1300,66);
-			match(input,IDENT,FOLLOW_IDENT_in_sass_each8872); if (state.failed) return;dbg.location(1300,79);
+			dbg.location(1301,5);
+			match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each8874); if (state.failed) return;dbg.location(1301,15);
 			pushFollow(FOLLOW_ws_in_sass_each8876);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1300,82);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+
+			if (state.failed) return;dbg.location(1301,18);
+			pushFollow(FOLLOW_sass_each_variables_in_sass_each8878);
+			sass_each_variables();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1301,38);
+			pushFollow(FOLLOW_ws_in_sass_each8880);
+			ws();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1301,41);
+			if ( !(evalPredicate(tokenNameEquals("in"),"tokenNameEquals(\"in\")")) ) {
+				if (state.backtracking>0) {state.failed=true; return;}
+				throw new FailedPredicateException(input, "sass_each", "tokenNameEquals(\"in\")");
+			}dbg.location(1301,66);
+			match(input,IDENT,FOLLOW_IDENT_in_sass_each8884); if (state.failed) return;dbg.location(1301,79);
+			pushFollow(FOLLOW_ws_in_sass_each8888);
+			ws();
+			state._fsp--;
+			if (state.failed) return;dbg.location(1301,82);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+
 			int cnt419=0;
 			try { dbg.enterSubRule(419);
 
@@ -27988,7 +28070,7 @@
 					}
 
 				}
-				else if ( ((LA419_0 >= ANGLE && LA419_0 <= AT_SIGN)||(LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||LA419_0==CHARSET_SYM||LA419_0==COUNTER_STYLE_SYM||LA419_0==DIMENSION||LA419_0==EMS||LA419_0==EXS||(LA419_0 >= FONT_FACE_SYM && LA419_0 <= FREQ)||LA419_0==GEN||(LA419_0 >= HASH && LA419_0 <= HASH_SYMBOL)||(LA419_0 >= IDENT && LA419_0 <= IMPORT_SYM)||(LA419_0 >= LEFTBOTTOM_SYM && LA419_0 <= LENGTH)||(LA419_0 >= LESS_AND && LA419_0 <= LESS_JS_STRING)||LA419_0==LPAREN||(LA419_0 >= MEDIA_SYM && LA419_0 <= MOZ_DOCUMENT_SYM)||LA419_0==NAMESPACE_SYM||(LA419_0 >= NOT && LA419_0 <= NUMBER)||(LA419_0 >= PAGE_SYM && LA419_0 <= PERCENTAGE_SYMBOL)||LA419_0==PLUS||(LA419_0 >= REM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= SASS_AT_ROOT && LA419_0 <= SASS_DEBUG)||(LA419_0 >= SASS_EACH && LA419_0 <= SASS_ELSE)||LA419_0==SASS_EXTEND||(LA419_0 >= SASS_FOR && LA419_0 <= SASS_FUNCTION)||(LA419_0 >= SASS_IF && LA419_0 <= SASS_MIXIN)||(LA419_0 >= SASS_RETURN && LA419_0 <= SASS_WHILE)||LA419_0==STRING||(LA419_0 >= TILDE && LA419_0 <= TOPRIGHT_SYM)||LA419_0==URI||LA419_0==VARIABLE||LA419_0==WEBKIT_KEYFRAMES_SYM) ) {
+				else if ( ((LA419_0 >= ANGLE && LA419_0 <= AT_SIGN)||(LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||LA419_0==CHARSET_SYM||LA419_0==COUNTER_STYLE_SYM||LA419_0==DIMENSION||LA419_0==EMS||LA419_0==EXS||(LA419_0 >= FONT_FACE_SYM && LA419_0 <= FREQ)||LA419_0==GEN||(LA419_0 >= HASH && LA419_0 <= HASH_SYMBOL)||(LA419_0 >= IDENT && LA419_0 <= IMPORT_SYM)||(LA419_0 >= LEFTBOTTOM_SYM && LA419_0 <= LENGTH)||(LA419_0 >= LESS_AND && LA419_0 <= LESS_JS_STRING)||LA419_0==LPAREN||(LA419_0 >= MEDIA_SYM && LA419_0 <= MOZ_DOCUMENT_SYM)||LA419_0==NAMESPACE_SYM||(LA419_0 >= NOT && LA419_0 <= NUMBER)||(LA419_0 >= PAGE_SYM && LA419_0 <= PERCENTAGE_SYMBOL)||LA419_0==PLUS||(LA419_0 >= REM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= SASS_AT_ROOT && LA419_0 <= SASS_DEBUG)||(LA419_0 >= SASS_EACH && LA419_0 <= SASS_ELSE)||LA419_0==SASS_EXTEND||(LA419_0 >= SASS_FOR && LA419_0 <= SASS_FUNCTION)||(LA419_0 >= SASS_IF && LA419_0 <= SASS_MIXIN)||(LA419_0 >= SASS_RETURN && LA419_0 <= SASS_WHILE)||LA419_0==STRING||(LA419_0 >= TILDE && LA419_0 <= TOPRIGHT_SYM)||(LA419_0 >= URANGE && LA419_0 <= URI)||LA419_0==VARIABLE||LA419_0==WEBKIT_KEYFRAMES_SYM) ) {
 					alt419=1;
 				}
 
@@ -27998,14 +28080,14 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:83: cp_expression_list ( ( ws )? COMMA )? ( ws )?
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:83: cp_expression_list ( ( ws )? COMMA )? ( ws )?
 					{
-					dbg.location(1300,83);
-					pushFollow(FOLLOW_cp_expression_list_in_sass_each8879);
+					dbg.location(1301,83);
+					pushFollow(FOLLOW_cp_expression_list_in_sass_each8891);
 					cp_expression_list();
 					state._fsp--;
-					if (state.failed) return;dbg.location(1300,102);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:102: ( ( ws )? COMMA )?
+					if (state.failed) return;dbg.location(1301,102);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:102: ( ( ws )? COMMA )?
 					int alt417=2;
 					try { dbg.enterSubRule(417);
 					try { dbg.enterDecision(417, decisionCanBacktrack[417]);
@@ -28024,10 +28106,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:103: ( ws )? COMMA
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:103: ( ws )? COMMA
 							{
-							dbg.location(1300,103);
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:103: ( ws )?
+							dbg.location(1301,103);
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:103: ( ws )?
 							int alt416=2;
 							try { dbg.enterSubRule(416);
 							try { dbg.enterDecision(416, decisionCanBacktrack[416]);
@@ -28042,10 +28124,10 @@
 								case 1 :
 									dbg.enterAlt(1);
 
-									// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:103: ws
+									// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:103: ws
 									{
-									dbg.location(1300,103);
-									pushFollow(FOLLOW_ws_in_sass_each8882);
+									dbg.location(1301,103);
+									pushFollow(FOLLOW_ws_in_sass_each8894);
 									ws();
 									state._fsp--;
 									if (state.failed) return;
@@ -28054,15 +28136,15 @@
 
 							}
 							} finally {dbg.exitSubRule(416);}
-							dbg.location(1300,107);
-							match(input,COMMA,FOLLOW_COMMA_in_sass_each8885); if (state.failed) return;
+							dbg.location(1301,107);
+							match(input,COMMA,FOLLOW_COMMA_in_sass_each8897); if (state.failed) return;
 							}
 							break;
 
 					}
 					} finally {dbg.exitSubRule(417);}
-					dbg.location(1300,115);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:115: ( ws )?
+					dbg.location(1301,115);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:115: ( ws )?
 					int alt418=2;
 					try { dbg.enterSubRule(418);
 					try { dbg.enterDecision(418, decisionCanBacktrack[418]);
@@ -28077,10 +28159,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1300:115: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:115: ws
 							{
-							dbg.location(1300,115);
-							pushFollow(FOLLOW_ws_in_sass_each8889);
+							dbg.location(1301,115);
+							pushFollow(FOLLOW_ws_in_sass_each8901);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -28104,8 +28186,8 @@
 				cnt419++;
 			}
 			} finally {dbg.exitSubRule(419);}
-			dbg.location(1300,122);
-			pushFollow(FOLLOW_sass_control_block_in_sass_each8895);
+			dbg.location(1301,122);
+			pushFollow(FOLLOW_sass_control_block_in_sass_each8907);
 			sass_control_block();
 			state._fsp--;
 			if (state.failed) return;
@@ -28119,7 +28201,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1301, 4);
+		dbg.location(1302, 4);
 
 		}
 		finally {
@@ -28134,25 +28216,25 @@
 
 
 	// $ANTLR start "sass_each_variables"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1303:1: sass_each_variables : cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:1: sass_each_variables : cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ;
 	public final void sass_each_variables() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_each_variables");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1303, 0);
+		dbg.location(1304, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1304:5: ( cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:5: ( cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
 			{
-			dbg.location(1305,5);
-			pushFollow(FOLLOW_cp_variable_in_sass_each_variables8916);
+			dbg.location(1306,5);
+			pushFollow(FOLLOW_cp_variable_in_sass_each_variables8928);
 			cp_variable();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1305,17);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
+			if (state.failed) return;dbg.location(1306,17);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
 			try { dbg.enterSubRule(422);
 
 			loop422:
@@ -28174,10 +28256,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:19: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:19: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable
 					{
-					dbg.location(1305,33);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:33: ( ws )?
+					dbg.location(1306,33);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:33: ( ws )?
 					int alt420=2;
 					try { dbg.enterSubRule(420);
 					try { dbg.enterDecision(420, decisionCanBacktrack[420]);
@@ -28192,10 +28274,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:33: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:33: ws
 							{
-							dbg.location(1305,33);
-							pushFollow(FOLLOW_ws_in_sass_each_variables8928);
+							dbg.location(1306,33);
+							pushFollow(FOLLOW_ws_in_sass_each_variables8940);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -28204,9 +28286,9 @@
 
 					}
 					} finally {dbg.exitSubRule(420);}
-					dbg.location(1305,37);
-					match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables8931); if (state.failed) return;dbg.location(1305,43);
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:43: ( ws )?
+					dbg.location(1306,37);
+					match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables8943); if (state.failed) return;dbg.location(1306,43);
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:43: ( ws )?
 					int alt421=2;
 					try { dbg.enterSubRule(421);
 					try { dbg.enterDecision(421, decisionCanBacktrack[421]);
@@ -28221,10 +28303,10 @@
 						case 1 :
 							dbg.enterAlt(1);
 
-							// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:43: ws
+							// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:43: ws
 							{
-							dbg.location(1305,43);
-							pushFollow(FOLLOW_ws_in_sass_each_variables8933);
+							dbg.location(1306,43);
+							pushFollow(FOLLOW_ws_in_sass_each_variables8945);
 							ws();
 							state._fsp--;
 							if (state.failed) return;
@@ -28233,8 +28315,8 @@
 
 					}
 					} finally {dbg.exitSubRule(421);}
-					dbg.location(1305,47);
-					pushFollow(FOLLOW_cp_variable_in_sass_each_variables8936);
+					dbg.location(1306,47);
+					pushFollow(FOLLOW_cp_variable_in_sass_each_variables8948);
 					cp_variable();
 					state._fsp--;
 					if (state.failed) return;
@@ -28257,7 +28339,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1306, 4);
+		dbg.location(1307, 4);
 
 		}
 		finally {
@@ -28272,30 +28354,30 @@
 
 
 	// $ANTLR start "sass_while"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1308:1: sass_while : SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1309:1: sass_while : SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ;
 	public final void sass_while() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_while");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1308, 0);
+		dbg.location(1309, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1309:5: ( SASS_WHILE ws sass_control_expression ( ws )? sass_control_block )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:5: ( SASS_WHILE ws sass_control_expression ( ws )? sass_control_block )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1310:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1311:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block
 			{
-			dbg.location(1310,5);
-			match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while8961); if (state.failed) return;dbg.location(1310,16);
-			pushFollow(FOLLOW_ws_in_sass_while8963);
+			dbg.location(1311,5);
+			match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while8973); if (state.failed) return;dbg.location(1311,16);
+			pushFollow(FOLLOW_ws_in_sass_while8975);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1310,19);
-			pushFollow(FOLLOW_sass_control_expression_in_sass_while8965);
+			if (state.failed) return;dbg.location(1311,19);
+			pushFollow(FOLLOW_sass_control_expression_in_sass_while8977);
 			sass_control_expression();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1310,43);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1310:43: ( ws )?
+			if (state.failed) return;dbg.location(1311,43);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1311:43: ( ws )?
 			int alt423=2;
 			try { dbg.enterSubRule(423);
 			try { dbg.enterDecision(423, decisionCanBacktrack[423]);
@@ -28310,10 +28392,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1310:43: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1311:43: ws
 					{
-					dbg.location(1310,43);
-					pushFollow(FOLLOW_ws_in_sass_while8967);
+					dbg.location(1311,43);
+					pushFollow(FOLLOW_ws_in_sass_while8979);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28322,8 +28404,8 @@
 
 			}
 			} finally {dbg.exitSubRule(423);}
-			dbg.location(1310,47);
-			pushFollow(FOLLOW_sass_control_block_in_sass_while8970);
+			dbg.location(1311,47);
+			pushFollow(FOLLOW_sass_control_block_in_sass_while8982);
 			sass_control_block();
 			state._fsp--;
 			if (state.failed) return;
@@ -28337,7 +28419,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1311, 4);
+		dbg.location(1312, 4);
 
 		}
 		finally {
@@ -28352,22 +28434,22 @@
 
 
 	// $ANTLR start "sass_control_block"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1313:1: sass_control_block : LBRACE ( ws )? ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1314:1: sass_control_block : LBRACE ( ws )? ( declarations )? RBRACE ;
 	public final void sass_control_block() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_control_block");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1313, 0);
+		dbg.location(1314, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1314:5: ( LBRACE ( ws )? ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:5: ( LBRACE ( ws )? ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1315:5: LBRACE ( ws )? ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:5: LBRACE ( ws )? ( declarations )? RBRACE
 			{
-			dbg.location(1315,5);
-			match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block8991); if (state.failed) return;dbg.location(1315,12);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1315:12: ( ws )?
+			dbg.location(1316,5);
+			match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block9003); if (state.failed) return;dbg.location(1316,12);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:12: ( ws )?
 			int alt424=2;
 			try { dbg.enterSubRule(424);
 			try { dbg.enterDecision(424, decisionCanBacktrack[424]);
@@ -28382,10 +28464,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1315:12: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:12: ws
 					{
-					dbg.location(1315,12);
-					pushFollow(FOLLOW_ws_in_sass_control_block8993);
+					dbg.location(1316,12);
+					pushFollow(FOLLOW_ws_in_sass_control_block9005);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28394,8 +28476,8 @@
 
 			}
 			} finally {dbg.exitSubRule(424);}
-			dbg.location(1315,16);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1315:16: ( declarations )?
+			dbg.location(1316,16);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:16: ( declarations )?
 			int alt425=2;
 			try { dbg.enterSubRule(425);
 			try { dbg.enterDecision(425, decisionCanBacktrack[425]);
@@ -28410,10 +28492,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1315:16: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:16: declarations
 					{
-					dbg.location(1315,16);
-					pushFollow(FOLLOW_declarations_in_sass_control_block8996);
+					dbg.location(1316,16);
+					pushFollow(FOLLOW_declarations_in_sass_control_block9008);
 					declarations();
 					state._fsp--;
 					if (state.failed) return;
@@ -28422,8 +28504,8 @@
 
 			}
 			} finally {dbg.exitSubRule(425);}
-			dbg.location(1315,30);
-			match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block8999); if (state.failed) return;
+			dbg.location(1316,30);
+			match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block9011); if (state.failed) return;
 			}
 
 		}
@@ -28434,7 +28516,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1316, 4);
+		dbg.location(1317, 4);
 
 		}
 		finally {
@@ -28449,30 +28531,30 @@
 
 
 	// $ANTLR start "sass_function_declaration"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1318:1: sass_function_declaration : SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1319:1: sass_function_declaration : SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ;
 	public final void sass_function_declaration() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_function_declaration");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1318, 0);
+		dbg.location(1319, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1319:5: ( SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1320:5: ( SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE
 			{
-			dbg.location(1324,5);
-			match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration9041); if (state.failed) return;dbg.location(1324,19);
-			pushFollow(FOLLOW_ws_in_sass_function_declaration9043);
+			dbg.location(1325,5);
+			match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration9053); if (state.failed) return;dbg.location(1325,19);
+			pushFollow(FOLLOW_ws_in_sass_function_declaration9055);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1324,22);
-			pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration9045);
+			if (state.failed) return;dbg.location(1325,22);
+			pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration9057);
 			sass_function_name();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1324,41);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:41: ( ws )?
+			if (state.failed) return;dbg.location(1325,41);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:41: ( ws )?
 			int alt426=2;
 			try { dbg.enterSubRule(426);
 			try { dbg.enterDecision(426, decisionCanBacktrack[426]);
@@ -28487,10 +28569,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:41: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:41: ws
 					{
-					dbg.location(1324,41);
-					pushFollow(FOLLOW_ws_in_sass_function_declaration9047);
+					dbg.location(1325,41);
+					pushFollow(FOLLOW_ws_in_sass_function_declaration9059);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28499,9 +28581,9 @@
 
 			}
 			} finally {dbg.exitSubRule(426);}
-			dbg.location(1324,45);
-			match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration9050); if (state.failed) return;dbg.location(1324,52);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:52: ( ws )?
+			dbg.location(1325,45);
+			match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration9062); if (state.failed) return;dbg.location(1325,52);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:52: ( ws )?
 			int alt427=2;
 			try { dbg.enterSubRule(427);
 			try { dbg.enterDecision(427, decisionCanBacktrack[427]);
@@ -28516,10 +28598,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:52: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:52: ws
 					{
-					dbg.location(1324,52);
-					pushFollow(FOLLOW_ws_in_sass_function_declaration9052);
+					dbg.location(1325,52);
+					pushFollow(FOLLOW_ws_in_sass_function_declaration9064);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28528,8 +28610,8 @@
 
 			}
 			} finally {dbg.exitSubRule(427);}
-			dbg.location(1324,56);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:56: ( cp_args_list )?
+			dbg.location(1325,56);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:56: ( cp_args_list )?
 			int alt428=2;
 			try { dbg.enterSubRule(428);
 			try { dbg.enterDecision(428, decisionCanBacktrack[428]);
@@ -28544,10 +28626,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:56: cp_args_list
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:56: cp_args_list
 					{
-					dbg.location(1324,56);
-					pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration9055);
+					dbg.location(1325,56);
+					pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration9067);
 					cp_args_list();
 					state._fsp--;
 					if (state.failed) return;
@@ -28556,9 +28638,9 @@
 
 			}
 			} finally {dbg.exitSubRule(428);}
-			dbg.location(1324,70);
-			match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration9058); if (state.failed) return;dbg.location(1324,77);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:77: ( ws )?
+			dbg.location(1325,70);
+			match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration9070); if (state.failed) return;dbg.location(1325,77);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:77: ( ws )?
 			int alt429=2;
 			try { dbg.enterSubRule(429);
 			try { dbg.enterDecision(429, decisionCanBacktrack[429]);
@@ -28573,10 +28655,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:77: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:77: ws
 					{
-					dbg.location(1324,77);
-					pushFollow(FOLLOW_ws_in_sass_function_declaration9060);
+					dbg.location(1325,77);
+					pushFollow(FOLLOW_ws_in_sass_function_declaration9072);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28585,9 +28667,9 @@
 
 			}
 			} finally {dbg.exitSubRule(429);}
-			dbg.location(1324,81);
-			match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration9063); if (state.failed) return;dbg.location(1324,88);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:88: ( ws )?
+			dbg.location(1325,81);
+			match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration9075); if (state.failed) return;dbg.location(1325,88);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:88: ( ws )?
 			int alt430=2;
 			try { dbg.enterSubRule(430);
 			try { dbg.enterDecision(430, decisionCanBacktrack[430]);
@@ -28602,10 +28684,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:88: ws
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:88: ws
 					{
-					dbg.location(1324,88);
-					pushFollow(FOLLOW_ws_in_sass_function_declaration9065);
+					dbg.location(1325,88);
+					pushFollow(FOLLOW_ws_in_sass_function_declaration9077);
 					ws();
 					state._fsp--;
 					if (state.failed) return;
@@ -28614,8 +28696,8 @@
 
 			}
 			} finally {dbg.exitSubRule(430);}
-			dbg.location(1324,92);
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:92: ( declarations )?
+			dbg.location(1325,92);
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:92: ( declarations )?
 			int alt431=2;
 			try { dbg.enterSubRule(431);
 			try { dbg.enterDecision(431, decisionCanBacktrack[431]);
@@ -28630,10 +28712,10 @@
 				case 1 :
 					dbg.enterAlt(1);
 
-					// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1324:92: declarations
+					// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:92: declarations
 					{
-					dbg.location(1324,92);
-					pushFollow(FOLLOW_declarations_in_sass_function_declaration9068);
+					dbg.location(1325,92);
+					pushFollow(FOLLOW_declarations_in_sass_function_declaration9080);
 					declarations();
 					state._fsp--;
 					if (state.failed) return;
@@ -28642,8 +28724,8 @@
 
 			}
 			} finally {dbg.exitSubRule(431);}
-			dbg.location(1324,106);
-			match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration9071); if (state.failed) return;
+			dbg.location(1325,106);
+			match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration9083); if (state.failed) return;
 			}
 
 		}
@@ -28654,7 +28736,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1325, 4);
+		dbg.location(1326, 4);
 
 		}
 		finally {
@@ -28669,21 +28751,21 @@
 
 
 	// $ANTLR start "sass_function_name"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1327:1: sass_function_name : IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:1: sass_function_name : IDENT ;
 	public final void sass_function_name() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_function_name");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1327, 0);
+		dbg.location(1328, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1328:5: ( IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1329:5: ( IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1329:5: IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1330:5: IDENT
 			{
-			dbg.location(1329,5);
-			match(input,IDENT,FOLLOW_IDENT_in_sass_function_name9092); if (state.failed) return;
+			dbg.location(1330,5);
+			match(input,IDENT,FOLLOW_IDENT_in_sass_function_name9104); if (state.failed) return;
 			}
 
 		}
@@ -28694,7 +28776,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1330, 4);
+		dbg.location(1331, 4);
 
 		}
 		finally {
@@ -28709,26 +28791,26 @@
 
 
 	// $ANTLR start "sass_function_return"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1332:1: sass_function_return : SASS_RETURN ws cp_expression ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:1: sass_function_return : SASS_RETURN ws cp_expression ;
 	public final void sass_function_return() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_function_return");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1332, 0);
+		dbg.location(1333, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1333:5: ( SASS_RETURN ws cp_expression )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1334:5: ( SASS_RETURN ws cp_expression )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1334:5: SASS_RETURN ws cp_expression
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1335:5: SASS_RETURN ws cp_expression
 			{
-			dbg.location(1334,5);
-			match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return9113); if (state.failed) return;dbg.location(1334,17);
-			pushFollow(FOLLOW_ws_in_sass_function_return9115);
+			dbg.location(1335,5);
+			match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return9125); if (state.failed) return;dbg.location(1335,17);
+			pushFollow(FOLLOW_ws_in_sass_function_return9127);
 			ws();
 			state._fsp--;
-			if (state.failed) return;dbg.location(1334,20);
-			pushFollow(FOLLOW_cp_expression_in_sass_function_return9117);
+			if (state.failed) return;dbg.location(1335,20);
+			pushFollow(FOLLOW_cp_expression_in_sass_function_return9129);
 			cp_expression();
 			state._fsp--;
 			if (state.failed) return;
@@ -28742,7 +28824,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1335, 4);
+		dbg.location(1336, 4);
 
 		}
 		finally {
@@ -28757,21 +28839,21 @@
 
 
 	// $ANTLR start "sass_content"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1337:1: sass_content : SASS_CONTENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1338:1: sass_content : SASS_CONTENT ;
 	public final void sass_content() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "sass_content");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1337, 0);
+		dbg.location(1338, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1338:5: ( SASS_CONTENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1339:5: ( SASS_CONTENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1339:5: SASS_CONTENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1340:5: SASS_CONTENT
 			{
-			dbg.location(1339,5);
-			match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content9138); if (state.failed) return;
+			dbg.location(1340,5);
+			match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content9150); if (state.failed) return;
 			}
 
 		}
@@ -28782,7 +28864,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1340, 4);
+		dbg.location(1341, 4);
 
 		}
 		finally {
@@ -28797,25 +28879,25 @@
 
 
 	// $ANTLR start "less_import_types"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1342:1: less_import_types :{...}? IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1343:1: less_import_types :{...}? IDENT ;
 	public final void less_import_types() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_import_types");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1342, 0);
+		dbg.location(1343, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1342:18: ({...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1343:18: ({...}? IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1343:5: {...}? IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1344:5: {...}? IDENT
 			{
-			dbg.location(1343,5);
+			dbg.location(1344,5);
 			if ( !(evalPredicate(tokenNameIs(new String[]{"LESS", "CSS", "REFERENCE", "INLINE", "ONCE", "MULTIPLE"}),"tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\"})")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "less_import_types", "tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\"})");
-			}dbg.location(1343,92);
-			match(input,IDENT,FOLLOW_IDENT_in_less_import_types9157); if (state.failed) return;
+			}dbg.location(1344,92);
+			match(input,IDENT,FOLLOW_IDENT_in_less_import_types9169); if (state.failed) return;
 			}
 
 		}
@@ -28829,7 +28911,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1344, 4);
+		dbg.location(1345, 4);
 
 		}
 		finally {
@@ -28844,25 +28926,25 @@
 
 
 	// $ANTLR start "less_when"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1349:1: less_when :{...}? IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:1: less_when :{...}? IDENT ;
 	public final void less_when() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "less_when");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1349, 0);
+		dbg.location(1350, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1349:10: ({...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:10: ({...}? IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1350:5: {...}? IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:5: {...}? IDENT
 			{
-			dbg.location(1350,5);
+			dbg.location(1351,5);
 			if ( !(evalPredicate(tokenNameEquals("when"),"tokenNameEquals(\"when\")")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "less_when", "tokenNameEquals(\"when\")");
-			}dbg.location(1350,32);
-			match(input,IDENT,FOLLOW_IDENT_in_less_when9180); if (state.failed) return;
+			}dbg.location(1351,32);
+			match(input,IDENT,FOLLOW_IDENT_in_less_when9192); if (state.failed) return;
 			}
 
 		}
@@ -28873,7 +28955,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1351, 4);
+		dbg.location(1352, 4);
 
 		}
 		finally {
@@ -28888,25 +28970,25 @@
 
 
 	// $ANTLR start "key_and"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1353:1: key_and :{...}? IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1354:1: key_and :{...}? IDENT ;
 	public final void key_and() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "key_and");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1353, 0);
+		dbg.location(1354, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1353:8: ({...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1354:8: ({...}? IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1354:5: {...}? IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:5: {...}? IDENT
 			{
-			dbg.location(1354,5);
+			dbg.location(1355,5);
 			if ( !(evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "key_and", "tokenNameEquals(\"and\")");
-			}dbg.location(1354,31);
-			match(input,IDENT,FOLLOW_IDENT_in_key_and9199); if (state.failed) return;
+			}dbg.location(1355,31);
+			match(input,IDENT,FOLLOW_IDENT_in_key_and9211); if (state.failed) return;
 			}
 
 		}
@@ -28917,7 +28999,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1355, 4);
+		dbg.location(1356, 4);
 
 		}
 		finally {
@@ -28932,25 +29014,25 @@
 
 
 	// $ANTLR start "key_or"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1357:1: key_or :{...}? IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1358:1: key_or :{...}? IDENT ;
 	public final void key_or() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "key_or");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1357, 0);
+		dbg.location(1358, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1357:7: ({...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1358:7: ({...}? IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1358:5: {...}? IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1359:5: {...}? IDENT
 			{
-			dbg.location(1358,5);
+			dbg.location(1359,5);
 			if ( !(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "key_or", "tokenNameEquals(\"or\")");
-			}dbg.location(1358,30);
-			match(input,IDENT,FOLLOW_IDENT_in_key_or9217); if (state.failed) return;
+			}dbg.location(1359,30);
+			match(input,IDENT,FOLLOW_IDENT_in_key_or9229); if (state.failed) return;
 			}
 
 		}
@@ -28961,7 +29043,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1359, 4);
+		dbg.location(1360, 4);
 
 		}
 		finally {
@@ -28976,25 +29058,25 @@
 
 
 	// $ANTLR start "key_only"
-	// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1361:1: key_only :{...}? IDENT ;
+	// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:1: key_only :{...}? IDENT ;
 	public final void key_only() throws RecognitionException {
 		try { dbg.enterRule(getGrammarFileName(), "key_only");
 		if ( getRuleLevel()==0 ) {dbg.commence();}
 		incRuleLevel();
-		dbg.location(1361, 0);
+		dbg.location(1362, 0);
 
 		try {
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1361:9: ({...}? IDENT )
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:9: ({...}? IDENT )
 			dbg.enterAlt(1);
 
-			// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1362:5: {...}? IDENT
+			// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1363:5: {...}? IDENT
 			{
-			dbg.location(1362,5);
+			dbg.location(1363,5);
 			if ( !(evalPredicate(tokenNameEquals("only"),"tokenNameEquals(\"only\")")) ) {
 				if (state.backtracking>0) {state.failed=true; return;}
 				throw new FailedPredicateException(input, "key_only", "tokenNameEquals(\"only\")");
-			}dbg.location(1362,32);
-			match(input,IDENT,FOLLOW_IDENT_in_key_only9235); if (state.failed) return;
+			}dbg.location(1363,32);
+			match(input,IDENT,FOLLOW_IDENT_in_key_only9247); if (state.failed) return;
 			}
 
 		}
@@ -29005,7 +29087,7 @@
 		finally {
 			// do for sure before leaving
 		}
-		dbg.location(1363, 4);
+		dbg.location(1364, 4);
 
 		}
 		finally {
@@ -29019,13 +29101,13 @@
 
 	// $ANTLR start synpred1_Css3
 	public final void synpred1_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:44: ( ( ws )? mediaQueryList )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:44: ( ( ws )? mediaQueryList )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:45: ( ws )? mediaQueryList
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:45: ( ws )? mediaQueryList
 		{
 		dbg.location(319,45);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:45: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:45: ( ws )?
 		int alt432=2;
 		try { dbg.enterSubRule(432);
 		try { dbg.enterDecision(432, decisionCanBacktrack[432]);
@@ -29040,7 +29122,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:319:45: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:319:45: ws
 				{
 				dbg.location(319,45);
 				pushFollow(FOLLOW_ws_in_synpred1_Css3335);
@@ -29064,13 +29146,13 @@
 
 	// $ANTLR start synpred2_Css3
 	public final void synpred2_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:98: ( ( ws )? mediaQueryList )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:98: ( ( ws )? mediaQueryList )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:99: ( ws )? mediaQueryList
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:99: ( ws )? mediaQueryList
 		{
 		dbg.location(322,99);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:99: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:99: ( ws )?
 		int alt433=2;
 		try { dbg.enterSubRule(433);
 		try { dbg.enterDecision(433, decisionCanBacktrack[433]);
@@ -29085,7 +29167,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:322:99: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:322:99: ws
 				{
 				dbg.location(322,99);
 				pushFollow(FOLLOW_ws_in_synpred2_Css3399);
@@ -29109,13 +29191,13 @@
 
 	// $ANTLR start synpred3_Css3
 	public final void synpred3_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:101: ( ( ws )? mediaQueryList )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:101: ( ( ws )? mediaQueryList )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:102: ( ws )? mediaQueryList
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:102: ( ws )? mediaQueryList
 		{
 		dbg.location(324,102);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:102: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:102: ( ws )?
 		int alt434=2;
 		try { dbg.enterSubRule(434);
 		try { dbg.enterDecision(434, decisionCanBacktrack[434]);
@@ -29130,7 +29212,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:324:102: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:324:102: ws
 				{
 				dbg.location(324,102);
 				pushFollow(FOLLOW_ws_in_synpred3_Css3453);
@@ -29154,13 +29236,13 @@
 
 	// $ANTLR start synpred4_Css3
 	public final void synpred4_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:27: ( ( ws )? SEMI )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:27: ( ( ws )? SEMI )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:28: ( ws )? SEMI
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:28: ( ws )? SEMI
 		{
 		dbg.location(339,28);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:28: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:28: ( ws )?
 		int alt435=2;
 		try { dbg.enterSubRule(435);
 		try { dbg.enterDecision(435, decisionCanBacktrack[435]);
@@ -29175,7 +29257,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:339:28: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:339:28: ws
 				{
 				dbg.location(339,28);
 				pushFollow(FOLLOW_ws_in_synpred4_Css3575);
@@ -29196,7 +29278,7 @@
 
 	// $ANTLR start synpred5_Css3
 	public final void synpred5_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )
 		int alt440=2;
 		try { dbg.enterDecision(440, decisionCanBacktrack[440]);
 
@@ -29222,7 +29304,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:6: SASS_MIXIN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:6: SASS_MIXIN
 				{
 				dbg.location(348,6);
 				match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_synpred5_Css3676); if (state.failed) return;
@@ -29231,16 +29313,16 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
 				{
 				dbg.location(348,19);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:20: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:20: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE
 				{
 				dbg.location(348,20);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:20: ( ( DOT IDENT ) | HASH )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:20: ( ( DOT IDENT ) | HASH )
 				int alt436=2;
 				try { dbg.enterSubRule(436);
 				try { dbg.enterDecision(436, decisionCanBacktrack[436]);
@@ -29267,13 +29349,13 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:21: ( DOT IDENT )
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:21: ( DOT IDENT )
 						{
 						dbg.location(348,21);
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:21: ( DOT IDENT )
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:21: ( DOT IDENT )
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:22: DOT IDENT
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:22: DOT IDENT
 						{
 						dbg.location(348,22);
 						match(input,DOT,FOLLOW_DOT_in_synpred5_Css3683); if (state.failed) return;dbg.location(348,26);
@@ -29285,7 +29367,7 @@
 					case 2 :
 						dbg.enterAlt(2);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:35: HASH
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:35: HASH
 						{
 						dbg.location(348,35);
 						match(input,HASH,FOLLOW_HASH_in_synpred5_Css3690); if (state.failed) return;
@@ -29295,7 +29377,7 @@
 				}
 				} finally {dbg.exitSubRule(436);}
 				dbg.location(348,41);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:41: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:41: ( ws )?
 				int alt437=2;
 				try { dbg.enterSubRule(437);
 				try { dbg.enterDecision(437, decisionCanBacktrack[437]);
@@ -29310,7 +29392,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:41: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:41: ws
 						{
 						dbg.location(348,41);
 						pushFollow(FOLLOW_ws_in_synpred5_Css3693);
@@ -29324,7 +29406,7 @@
 				} finally {dbg.exitSubRule(437);}
 				dbg.location(348,45);
 				match(input,LPAREN,FOLLOW_LPAREN_in_synpred5_Css3696); if (state.failed) return;dbg.location(348,52);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:52: (~ RPAREN )*
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:52: (~ RPAREN )*
 				try { dbg.enterSubRule(438);
 
 				loop438:
@@ -29343,7 +29425,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 						{
 						dbg.location(348,52);
 						if ( (input.LA(1) >= A && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= Z) ) {
@@ -29367,7 +29449,7 @@
 				} finally {dbg.exitSubRule(438);}
 				dbg.location(348,63);
 				match(input,RPAREN,FOLLOW_RPAREN_in_synpred5_Css3704); if (state.failed) return;dbg.location(348,70);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:348:70: (~ ( LBRACE | SEMI ) )*
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:348:70: (~ ( LBRACE | SEMI ) )*
 				try { dbg.enterSubRule(439);
 
 				loop439:
@@ -29386,7 +29468,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 						{
 						dbg.location(348,70);
 						if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
@@ -29421,17 +29503,17 @@
 
 	// $ANTLR start synpred6_Css3
 	public final void synpred6_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:8: cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:8: cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI
 		{
 		dbg.location(350,8);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred6_Css3732);
 		cp_mixin_call();
 		state._fsp--;
 		if (state.failed) return;dbg.location(350,22);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:22: ( ( ws )? IMPORTANT_SYM )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:22: ( ( ws )? IMPORTANT_SYM )?
 		int alt442=2;
 		try { dbg.enterSubRule(442);
 		try { dbg.enterDecision(442, decisionCanBacktrack[442]);
@@ -29450,10 +29532,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:23: ( ws )? IMPORTANT_SYM
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:23: ( ws )? IMPORTANT_SYM
 				{
 				dbg.location(350,23);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:23: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:23: ( ws )?
 				int alt441=2;
 				try { dbg.enterSubRule(441);
 				try { dbg.enterDecision(441, decisionCanBacktrack[441]);
@@ -29468,7 +29550,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:23: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:23: ws
 						{
 						dbg.location(350,23);
 						pushFollow(FOLLOW_ws_in_synpred6_Css3735);
@@ -29488,7 +29570,7 @@
 		}
 		} finally {dbg.exitSubRule(442);}
 		dbg.location(350,43);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:43: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:43: ( ws )?
 		int alt443=2;
 		try { dbg.enterSubRule(443);
 		try { dbg.enterDecision(443, decisionCanBacktrack[443]);
@@ -29503,7 +29585,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:350:43: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:43: ws
 				{
 				dbg.location(350,43);
 				pushFollow(FOLLOW_ws_in_synpred6_Css3742);
@@ -29524,10 +29606,10 @@
 
 	// $ANTLR start synpred7_Css3
 	public final void synpred7_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:7: ( cp_mixin_call )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:7: ( cp_mixin_call )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:351:8: cp_mixin_call
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:8: cp_mixin_call
 		{
 		dbg.location(351,8);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred7_Css3768);
@@ -29541,13 +29623,13 @@
 
 	// $ANTLR start synpred8_Css3
 	public final void synpred8_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
 		{
 		dbg.location(352,8);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
 		int alt449=3;
 		try { dbg.enterSubRule(449);
 		try { dbg.enterDecision(449, decisionCanBacktrack[449]);
@@ -29566,17 +29648,17 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 				{
 				dbg.location(352,9);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:10: SASS_AT_ROOT ( ws selectorsGroup )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:10: SASS_AT_ROOT ( ws selectorsGroup )?
 				{
 				dbg.location(352,10);
 				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css3793); if (state.failed) return;dbg.location(352,23);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:23: ( ws selectorsGroup )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:23: ( ws selectorsGroup )?
 				int alt444=2;
 				try { dbg.enterSubRule(444);
 				try { dbg.enterDecision(444, decisionCanBacktrack[444]);
@@ -29595,7 +29677,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:24: ws selectorsGroup
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:24: ws selectorsGroup
 						{
 						dbg.location(352,24);
 						pushFollow(FOLLOW_ws_in_synpred8_Css3796);
@@ -29619,13 +29701,13 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 				{
 				dbg.location(352,48);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
 				{
 				dbg.location(352,49);
 				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css3807); if (state.failed) return;dbg.location(352,62);
@@ -29634,7 +29716,7 @@
 				state._fsp--;
 				if (state.failed) return;dbg.location(352,65);
 				match(input,LPAREN,FOLLOW_LPAREN_in_synpred8_Css3811); if (state.failed) return;dbg.location(352,72);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:72: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:72: ( ws )?
 				int alt445=2;
 				try { dbg.enterSubRule(445);
 				try { dbg.enterDecision(445, decisionCanBacktrack[445]);
@@ -29649,7 +29731,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:72: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:72: ws
 						{
 						dbg.location(352,72);
 						pushFollow(FOLLOW_ws_in_synpred8_Css3813);
@@ -29663,7 +29745,7 @@
 				} finally {dbg.exitSubRule(445);}
 				dbg.location(352,76);
 				match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css3816); if (state.failed) return;dbg.location(352,82);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:82: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:82: ( ws )?
 				int alt446=2;
 				try { dbg.enterSubRule(446);
 				try { dbg.enterDecision(446, decisionCanBacktrack[446]);
@@ -29678,7 +29760,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:82: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:82: ws
 						{
 						dbg.location(352,82);
 						pushFollow(FOLLOW_ws_in_synpred8_Css3818);
@@ -29692,7 +29774,7 @@
 				} finally {dbg.exitSubRule(446);}
 				dbg.location(352,86);
 				match(input,COLON,FOLLOW_COLON_in_synpred8_Css3821); if (state.failed) return;dbg.location(352,92);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:92: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:92: ( ws )?
 				int alt447=2;
 				try { dbg.enterSubRule(447);
 				try { dbg.enterDecision(447, decisionCanBacktrack[447]);
@@ -29707,7 +29789,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:92: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:92: ws
 						{
 						dbg.location(352,92);
 						pushFollow(FOLLOW_ws_in_synpred8_Css3823);
@@ -29721,7 +29803,7 @@
 				} finally {dbg.exitSubRule(447);}
 				dbg.location(352,96);
 				match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css3826); if (state.failed) return;dbg.location(352,102);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:102: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:102: ( ws )?
 				int alt448=2;
 				try { dbg.enterSubRule(448);
 				try { dbg.enterDecision(448, decisionCanBacktrack[448]);
@@ -29736,7 +29818,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:102: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:102: ws
 						{
 						dbg.location(352,102);
 						pushFollow(FOLLOW_ws_in_synpred8_Css3828);
@@ -29757,7 +29839,7 @@
 			case 3 :
 				dbg.enterAlt(3);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:116: selectorsGroup
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:116: selectorsGroup
 				{
 				dbg.location(352,116);
 				pushFollow(FOLLOW_selectorsGroup_in_synpred8_Css3836);
@@ -29770,7 +29852,7 @@
 		}
 		} finally {dbg.exitSubRule(449);}
 		dbg.location(352,132);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:132: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:132: ( ws )?
 		int alt450=2;
 		try { dbg.enterSubRule(450);
 		try { dbg.enterDecision(450, decisionCanBacktrack[450]);
@@ -29785,7 +29867,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:352:132: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:132: ws
 				{
 				dbg.location(352,132);
 				pushFollow(FOLLOW_ws_in_synpred8_Css3839);
@@ -29806,10 +29888,10 @@
 
 	// $ANTLR start synpred9_Css3
 	public final void synpred9_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:353:7: ( propertyDeclaration )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:353:7: ( propertyDeclaration )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:353:8: propertyDeclaration
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:353:8: propertyDeclaration
 		{
 		dbg.location(353,8);
 		pushFollow(FOLLOW_propertyDeclaration_in_synpred9_Css3854);
@@ -29823,13 +29905,13 @@
 
 	// $ANTLR start synpred10_Css3
 	public final void synpred10_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:17: ( ( ws )? COMMA )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:17: ( ( ws )? COMMA )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:18: ( ws )? COMMA
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:18: ( ws )? COMMA
 		{
 		dbg.location(368,18);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:18: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:18: ( ws )?
 		int alt451=2;
 		try { dbg.enterSubRule(451);
 		try { dbg.enterDecision(451, decisionCanBacktrack[451]);
@@ -29844,7 +29926,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:368:18: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:18: ws
 				{
 				dbg.location(368,18);
 				pushFollow(FOLLOW_ws_in_synpred10_Css3969);
@@ -29865,13 +29947,13 @@
 
 	// $ANTLR start synpred11_Css3
 	public final void synpred11_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:44: ( ( ws )? key_and )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:44: ( ( ws )? key_and )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:45: ( ws )? key_and
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:45: ( ws )? key_and
 		{
 		dbg.location(373,45);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:45: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:45: ( ws )?
 		int alt452=2;
 		try { dbg.enterSubRule(452);
 		try { dbg.enterDecision(452, decisionCanBacktrack[452]);
@@ -29886,7 +29968,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:373:45: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:45: ws
 				{
 				dbg.location(373,45);
 				pushFollow(FOLLOW_ws_in_synpred11_Css31016);
@@ -29910,13 +29992,13 @@
 
 	// $ANTLR start synpred12_Css3
 	public final void synpred12_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:24: ( ( ws )? key_and )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:24: ( ( ws )? key_and )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:25: ( ws )? key_and
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:25: ( ws )? key_and
 		{
 		dbg.location(374,25);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:25: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:25: ( ws )?
 		int alt453=2;
 		try { dbg.enterSubRule(453);
 		try { dbg.enterDecision(453, decisionCanBacktrack[453]);
@@ -29931,7 +30013,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:374:25: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:374:25: ws
 				{
 				dbg.location(374,25);
 				pushFollow(FOLLOW_ws_in_synpred12_Css31046);
@@ -29955,10 +30037,10 @@
 
 	// $ANTLR start synpred13_Css3
 	public final void synpred13_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:5: ( LPAREN )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:5: ( LPAREN )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:388:6: LPAREN
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:388:6: LPAREN
 		{
 		dbg.location(388,6);
 		match(input,LPAREN,FOLLOW_LPAREN_in_synpred13_Css31131); if (state.failed) return;
@@ -29969,10 +30051,10 @@
 
 	// $ANTLR start synpred14_Css3
 	public final void synpred14_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:389:7: ( HASH )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:389:7: ( HASH )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:389:8: HASH
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:389:8: HASH
 		{
 		dbg.location(389,8);
 		match(input,HASH,FOLLOW_HASH_in_synpred14_Css31160); if (state.failed) return;
@@ -29983,13 +30065,13 @@
 
 	// $ANTLR start synpred15_Css3
 	public final void synpred15_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:22: ( ( ws )? SEMI )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:22: ( ( ws )? SEMI )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:23: ( ws )? SEMI
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:23: ( ws )? SEMI
 		{
 		dbg.location(409,23);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:23: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:23: ( ws )?
 		int alt454=2;
 		try { dbg.enterSubRule(454);
 		try { dbg.enterDecision(454, decisionCanBacktrack[454]);
@@ -30004,7 +30086,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:409:23: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:23: ws
 				{
 				dbg.location(409,23);
 				pushFollow(FOLLOW_ws_in_synpred15_Css31306);
@@ -30025,7 +30107,7 @@
 
 	// $ANTLR start synpred16_Css3
 	public final void synpred16_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )
 		int alt459=2;
 		try { dbg.enterDecision(459, decisionCanBacktrack[459]);
 
@@ -30051,7 +30133,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:10: SASS_MIXIN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:10: SASS_MIXIN
 				{
 				dbg.location(417,10);
 				match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_synpred16_Css31384); if (state.failed) return;
@@ -30060,16 +30142,16 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
 				{
 				dbg.location(417,23);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:24: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:24: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE
 				{
 				dbg.location(417,24);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:24: ( ( DOT IDENT ) | HASH )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:24: ( ( DOT IDENT ) | HASH )
 				int alt455=2;
 				try { dbg.enterSubRule(455);
 				try { dbg.enterDecision(455, decisionCanBacktrack[455]);
@@ -30096,13 +30178,13 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:25: ( DOT IDENT )
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:25: ( DOT IDENT )
 						{
 						dbg.location(417,25);
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:25: ( DOT IDENT )
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:25: ( DOT IDENT )
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:26: DOT IDENT
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:26: DOT IDENT
 						{
 						dbg.location(417,26);
 						match(input,DOT,FOLLOW_DOT_in_synpred16_Css31391); if (state.failed) return;dbg.location(417,30);
@@ -30114,7 +30196,7 @@
 					case 2 :
 						dbg.enterAlt(2);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:39: HASH
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:39: HASH
 						{
 						dbg.location(417,39);
 						match(input,HASH,FOLLOW_HASH_in_synpred16_Css31398); if (state.failed) return;
@@ -30124,7 +30206,7 @@
 				}
 				} finally {dbg.exitSubRule(455);}
 				dbg.location(417,45);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:45: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:45: ( ws )?
 				int alt456=2;
 				try { dbg.enterSubRule(456);
 				try { dbg.enterDecision(456, decisionCanBacktrack[456]);
@@ -30139,7 +30221,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:45: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:45: ws
 						{
 						dbg.location(417,45);
 						pushFollow(FOLLOW_ws_in_synpred16_Css31401);
@@ -30153,7 +30235,7 @@
 				} finally {dbg.exitSubRule(456);}
 				dbg.location(417,49);
 				match(input,LPAREN,FOLLOW_LPAREN_in_synpred16_Css31404); if (state.failed) return;dbg.location(417,56);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:56: (~ RPAREN )*
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:56: (~ RPAREN )*
 				try { dbg.enterSubRule(457);
 
 				loop457:
@@ -30172,7 +30254,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 						{
 						dbg.location(417,56);
 						if ( (input.LA(1) >= A && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= Z) ) {
@@ -30196,7 +30278,7 @@
 				} finally {dbg.exitSubRule(457);}
 				dbg.location(417,67);
 				match(input,RPAREN,FOLLOW_RPAREN_in_synpred16_Css31412); if (state.failed) return;dbg.location(417,74);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:417:74: (~ ( LBRACE | RBRACE | SEMI ) )*
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:417:74: (~ ( LBRACE | RBRACE | SEMI ) )*
 				try { dbg.enterSubRule(458);
 
 				loop458:
@@ -30215,7 +30297,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 						{
 						dbg.location(417,74);
 						if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
@@ -30250,17 +30332,17 @@
 
 	// $ANTLR start synpred17_Css3
 	public final void synpred17_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:419:11: ( cp_mixin_call ( ws )? SEMI )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:11: ( cp_mixin_call ( ws )? SEMI )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:419:12: cp_mixin_call ( ws )? SEMI
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:12: cp_mixin_call ( ws )? SEMI
 		{
 		dbg.location(419,12);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred17_Css31450);
 		cp_mixin_call();
 		state._fsp--;
 		if (state.failed) return;dbg.location(419,26);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:419:26: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:26: ( ws )?
 		int alt460=2;
 		try { dbg.enterSubRule(460);
 		try { dbg.enterDecision(460, decisionCanBacktrack[460]);
@@ -30275,7 +30357,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:419:26: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:26: ws
 				{
 				dbg.location(419,26);
 				pushFollow(FOLLOW_ws_in_synpred17_Css31452);
@@ -30296,10 +30378,10 @@
 
 	// $ANTLR start synpred18_Css3
 	public final void synpred18_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:420:11: ( cp_mixin_call )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:11: ( cp_mixin_call )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:420:12: cp_mixin_call
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:12: cp_mixin_call
 		{
 		dbg.location(420,12);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred18_Css31474);
@@ -30313,17 +30395,17 @@
 
 	// $ANTLR start synpred19_Css3
 	public final void synpred19_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:422:11: ( cp_variable ( ws )? COLON )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:11: ( cp_variable ( ws )? COLON )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:422:12: cp_variable ( ws )? COLON
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:12: cp_variable ( ws )? COLON
 		{
 		dbg.location(422,12);
 		pushFollow(FOLLOW_cp_variable_in_synpred19_Css31502);
 		cp_variable();
 		state._fsp--;
 		if (state.failed) return;dbg.location(422,24);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:422:24: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:24: ( ws )?
 		int alt461=2;
 		try { dbg.enterSubRule(461);
 		try { dbg.enterDecision(461, decisionCanBacktrack[461]);
@@ -30338,7 +30420,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:422:24: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:24: ws
 				{
 				dbg.location(422,24);
 				pushFollow(FOLLOW_ws_in_synpred19_Css31504);
@@ -30359,10 +30441,10 @@
 
 	// $ANTLR start synpred20_Css3
 	public final void synpred20_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:423:11: ( sass_map )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:11: ( sass_map )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:423:12: sass_map
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:12: sass_map
 		{
 		dbg.location(423,12);
 		pushFollow(FOLLOW_sass_map_in_synpred20_Css31524);
@@ -30376,13 +30458,13 @@
 
 	// $ANTLR start synpred21_Css3
 	public final void synpred21_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:27: ( ( ws )? COMMA )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:27: ( ( ws )? COMMA )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:28: ( ws )? COMMA
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:28: ( ws )? COMMA
 		{
 		dbg.location(630,28);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:28: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:28: ( ws )?
 		int alt462=2;
 		try { dbg.enterSubRule(462);
 		try { dbg.enterDecision(462, decisionCanBacktrack[462]);
@@ -30397,7 +30479,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:630:28: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:630:28: ws
 				{
 				dbg.location(630,28);
 				pushFollow(FOLLOW_ws_in_synpred21_Css32987);
@@ -30418,10 +30500,10 @@
 
 	// $ANTLR start synpred22_Css3
 	public final void synpred22_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:41: ( function )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:41: ( function )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:638:42: function
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:638:42: function
 		{
 		dbg.location(638,42);
 		pushFollow(FOLLOW_function_in_synpred22_Css33081);
@@ -30435,10 +30517,10 @@
 
 	// $ANTLR start synpred23_Css3
 	public final void synpred23_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:666:5: ( cp_variable_declaration )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:5: ( cp_variable_declaration )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:666:6: cp_variable_declaration
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:6: cp_variable_declaration
 		{
 		dbg.location(666,6);
 		pushFollow(FOLLOW_cp_variable_declaration_in_synpred23_Css33381);
@@ -30452,10 +30534,10 @@
 
 	// $ANTLR start synpred24_Css3
 	public final void synpred24_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:667:7: ( sass_map )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:667:7: ( sass_map )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:667:8: sass_map
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:667:8: sass_map
 		{
 		dbg.location(667,8);
 		pushFollow(FOLLOW_sass_map_in_synpred24_Css33393);
@@ -30469,10 +30551,10 @@
 
 	// $ANTLR start synpred25_Css3
 	public final void synpred25_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:668:7: ( sass_nested_properties )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:668:7: ( sass_nested_properties )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:668:8: sass_nested_properties
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:668:8: sass_nested_properties
 		{
 		dbg.location(668,8);
 		pushFollow(FOLLOW_sass_nested_properties_in_synpred25_Css33406);
@@ -30486,13 +30568,13 @@
 
 	// $ANTLR start synpred26_Css3
 	public final void synpred26_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
 		{
 		dbg.location(669,8);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
 		int alt468=3;
 		try { dbg.enterSubRule(468);
 		try { dbg.enterDecision(468, decisionCanBacktrack[468]);
@@ -30511,17 +30593,17 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 				{
 				dbg.location(669,9);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:10: SASS_AT_ROOT ( ws selectorsGroup )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:10: SASS_AT_ROOT ( ws selectorsGroup )?
 				{
 				dbg.location(669,10);
 				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred26_Css33420); if (state.failed) return;dbg.location(669,23);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:23: ( ws selectorsGroup )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:23: ( ws selectorsGroup )?
 				int alt463=2;
 				try { dbg.enterSubRule(463);
 				try { dbg.enterDecision(463, decisionCanBacktrack[463]);
@@ -30540,7 +30622,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:24: ws selectorsGroup
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:24: ws selectorsGroup
 						{
 						dbg.location(669,24);
 						pushFollow(FOLLOW_ws_in_synpred26_Css33423);
@@ -30564,13 +30646,13 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 				{
 				dbg.location(669,48);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
 				{
 				dbg.location(669,49);
 				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred26_Css33434); if (state.failed) return;dbg.location(669,62);
@@ -30579,7 +30661,7 @@
 				state._fsp--;
 				if (state.failed) return;dbg.location(669,65);
 				match(input,LPAREN,FOLLOW_LPAREN_in_synpred26_Css33438); if (state.failed) return;dbg.location(669,72);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:72: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:72: ( ws )?
 				int alt464=2;
 				try { dbg.enterSubRule(464);
 				try { dbg.enterDecision(464, decisionCanBacktrack[464]);
@@ -30594,7 +30676,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:72: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:72: ws
 						{
 						dbg.location(669,72);
 						pushFollow(FOLLOW_ws_in_synpred26_Css33440);
@@ -30608,7 +30690,7 @@
 				} finally {dbg.exitSubRule(464);}
 				dbg.location(669,76);
 				match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css33443); if (state.failed) return;dbg.location(669,82);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:82: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:82: ( ws )?
 				int alt465=2;
 				try { dbg.enterSubRule(465);
 				try { dbg.enterDecision(465, decisionCanBacktrack[465]);
@@ -30623,7 +30705,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:82: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:82: ws
 						{
 						dbg.location(669,82);
 						pushFollow(FOLLOW_ws_in_synpred26_Css33445);
@@ -30637,7 +30719,7 @@
 				} finally {dbg.exitSubRule(465);}
 				dbg.location(669,86);
 				match(input,COLON,FOLLOW_COLON_in_synpred26_Css33448); if (state.failed) return;dbg.location(669,92);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:92: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:92: ( ws )?
 				int alt466=2;
 				try { dbg.enterSubRule(466);
 				try { dbg.enterDecision(466, decisionCanBacktrack[466]);
@@ -30652,7 +30734,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:92: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:92: ws
 						{
 						dbg.location(669,92);
 						pushFollow(FOLLOW_ws_in_synpred26_Css33450);
@@ -30666,7 +30748,7 @@
 				} finally {dbg.exitSubRule(466);}
 				dbg.location(669,96);
 				match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css33453); if (state.failed) return;dbg.location(669,102);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:102: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:102: ( ws )?
 				int alt467=2;
 				try { dbg.enterSubRule(467);
 				try { dbg.enterDecision(467, decisionCanBacktrack[467]);
@@ -30681,7 +30763,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:102: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:102: ws
 						{
 						dbg.location(669,102);
 						pushFollow(FOLLOW_ws_in_synpred26_Css33455);
@@ -30702,7 +30784,7 @@
 			case 3 :
 				dbg.enterAlt(3);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:116: selectorsGroup
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:116: selectorsGroup
 				{
 				dbg.location(669,116);
 				pushFollow(FOLLOW_selectorsGroup_in_synpred26_Css33463);
@@ -30715,7 +30797,7 @@
 		}
 		} finally {dbg.exitSubRule(468);}
 		dbg.location(669,132);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:132: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:132: ( ws )?
 		int alt469=2;
 		try { dbg.enterSubRule(469);
 		try { dbg.enterDecision(469, decisionCanBacktrack[469]);
@@ -30730,7 +30812,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:669:132: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:132: ws
 				{
 				dbg.location(669,132);
 				pushFollow(FOLLOW_ws_in_synpred26_Css33466);
@@ -30751,10 +30833,10 @@
 
 	// $ANTLR start synpred27_Css3
 	public final void synpred27_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:670:7: ( propertyDeclaration )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:670:7: ( propertyDeclaration )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:670:8: propertyDeclaration
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:670:8: propertyDeclaration
 		{
 		dbg.location(670,8);
 		pushFollow(FOLLOW_propertyDeclaration_in_synpred27_Css33481);
@@ -30768,17 +30850,17 @@
 
 	// $ANTLR start synpred28_Css3
 	public final void synpred28_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI )
 		{
 		dbg.location(672,8);
 		pushFollow(FOLLOW_property_in_synpred28_Css33498);
 		property();
 		state._fsp--;
 		if (state.failed) return;dbg.location(672,17);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:17: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:17: ( ws )?
 		int alt470=2;
 		try { dbg.enterSubRule(470);
 		try { dbg.enterDecision(470, decisionCanBacktrack[470]);
@@ -30793,7 +30875,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:17: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:17: ws
 				{
 				dbg.location(672,17);
 				pushFollow(FOLLOW_ws_in_synpred28_Css33500);
@@ -30807,7 +30889,7 @@
 		} finally {dbg.exitSubRule(470);}
 		dbg.location(672,21);
 		match(input,COLON,FOLLOW_COLON_in_synpred28_Css33503); if (state.failed) return;dbg.location(672,27);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:672:27: (~ ( LBRACE | SEMI | RBRACE ) )*
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:27: (~ ( LBRACE | SEMI | RBRACE ) )*
 		try { dbg.enterSubRule(471);
 
 		loop471:
@@ -30826,7 +30908,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 				{
 				dbg.location(672,27);
 				if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
@@ -30867,10 +30949,10 @@
 
 	// $ANTLR start synpred29_Css3
 	public final void synpred29_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:673:7: ( cp_mixin_declaration )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:7: ( cp_mixin_declaration )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:673:8: cp_mixin_declaration
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:8: cp_mixin_declaration
 		{
 		dbg.location(673,8);
 		pushFollow(FOLLOW_cp_mixin_declaration_in_synpred29_Css33532);
@@ -30884,10 +30966,10 @@
 
 	// $ANTLR start synpred30_Css3
 	public final void synpred30_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:7: ( cp_mixin_call )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:7: ( cp_mixin_call )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:674:8: cp_mixin_call
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:8: cp_mixin_call
 		{
 		dbg.location(674,8);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred30_Css33544);
@@ -30901,10 +30983,10 @@
 
 	// $ANTLR start synpred31_Css3
 	public final void synpred31_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:7: ( cp_mixin_call )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:7: ( cp_mixin_call )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:675:8: cp_mixin_call
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:8: cp_mixin_call
 		{
 		dbg.location(675,8);
 		pushFollow(FOLLOW_cp_mixin_call_in_synpred31_Css33565);
@@ -30918,13 +31000,13 @@
 
 	// $ANTLR start synpred32_Css3
 	public final void synpred32_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:65: ( ( ws )? esPred )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:65: ( ( ws )? esPred )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:66: ( ws )? esPred
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:66: ( ws )? esPred
 		{
 		dbg.location(709,66);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:66: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:66: ( ws )?
 		int alt472=2;
 		try { dbg.enterSubRule(472);
 		try { dbg.enterDecision(472, decisionCanBacktrack[472]);
@@ -30939,7 +31021,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:709:66: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:66: ws
 				{
 				dbg.location(709,66);
 				pushFollow(FOLLOW_ws_in_synpred32_Css33863);
@@ -30963,10 +31045,10 @@
 
 	// $ANTLR start synpred33_Css3
 	public final void synpred33_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:4: ( typeSelector )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:4: ( typeSelector )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:5: typeSelector
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:5: typeSelector
 		{
 		dbg.location(710,5);
 		pushFollow(FOLLOW_typeSelector_in_synpred33_Css33901);
@@ -30980,13 +31062,13 @@
 
 	// $ANTLR start synpred34_Css3
 	public final void synpred34_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:34: ( ( ws )? esPred )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:34: ( ( ws )? esPred )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:35: ( ws )? esPred
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:35: ( ws )? esPred
 		{
 		dbg.location(710,35);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:35: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:35: ( ws )?
 		int alt473=2;
 		try { dbg.enterSubRule(473);
 		try { dbg.enterDecision(473, decisionCanBacktrack[473]);
@@ -31001,7 +31083,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:710:35: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:35: ws
 				{
 				dbg.location(710,35);
 				pushFollow(FOLLOW_ws_in_synpred34_Css33908);
@@ -31025,13 +31107,13 @@
 
 	// $ANTLR start synpred35_Css3
 	public final void synpred35_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:7: ( ( IDENT | STAR )? PIPE )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:7: ( ( IDENT | STAR )? PIPE )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:8: ( IDENT | STAR )? PIPE
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:8: ( IDENT | STAR )? PIPE
 		{
 		dbg.location(724,8);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:724:8: ( IDENT | STAR )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:8: ( IDENT | STAR )?
 		int alt474=2;
 		try { dbg.enterSubRule(474);
 		try { dbg.enterDecision(474, decisionCanBacktrack[474]);
@@ -31046,7 +31128,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 				{
 				dbg.location(724,8);
 				if ( input.LA(1)==IDENT||input.LA(1)==STAR ) {
@@ -31074,13 +31156,13 @@
 
 	// $ANTLR start synpred36_Css3
 	public final void synpred36_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:15: ( ws | ( ( ws )? operator ( ws )? ) |) term
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:15: ( ws | ( ( ws )? operator ( ws )? ) |) term
 		{
 		dbg.location(907,15);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:15: ( ws | ( ( ws )? operator ( ws )? ) |)
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:15: ( ws | ( ( ws )? operator ( ws )? ) |)
 		int alt477=3;
 		try { dbg.enterSubRule(477);
 		try { dbg.enterDecision(477, decisionCanBacktrack[477]);
@@ -31099,7 +31181,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:17: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:17: ws
 				{
 				dbg.location(907,17);
 				pushFollow(FOLLOW_ws_in_synpred36_Css35571);
@@ -31111,16 +31193,16 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:22: ( ( ws )? operator ( ws )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:22: ( ( ws )? operator ( ws )? )
 				{
 				dbg.location(907,22);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:22: ( ( ws )? operator ( ws )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:22: ( ( ws )? operator ( ws )? )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:23: ( ws )? operator ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:23: ( ws )? operator ( ws )?
 				{
 				dbg.location(907,23);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:23: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:23: ( ws )?
 				int alt475=2;
 				try { dbg.enterSubRule(475);
 				try { dbg.enterDecision(475, decisionCanBacktrack[475]);
@@ -31135,7 +31217,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:23: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:23: ws
 						{
 						dbg.location(907,23);
 						pushFollow(FOLLOW_ws_in_synpred36_Css35576);
@@ -31152,7 +31234,7 @@
 				operator();
 				state._fsp--;
 				if (state.failed) return;dbg.location(907,36);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:36: ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:36: ( ws )?
 				int alt476=2;
 				try { dbg.enterSubRule(476);
 				try { dbg.enterDecision(476, decisionCanBacktrack[476]);
@@ -31167,7 +31249,7 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:36: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:36: ws
 						{
 						dbg.location(907,36);
 						pushFollow(FOLLOW_ws_in_synpred36_Css35581);
@@ -31187,7 +31269,7 @@
 			case 3 :
 				dbg.enterAlt(3);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:907:56: 
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:56: 
 				{
 				}
 				break;
@@ -31206,17 +31288,17 @@
 
 	// $ANTLR start synpred37_Css3
 	public final void synpred37_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:914:9: ( functionName ( ws )? LPAREN )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:9: ( functionName ( ws )? LPAREN )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:914:10: functionName ( ws )? LPAREN
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:10: functionName ( ws )? LPAREN
 		{
 		dbg.location(914,10);
 		pushFollow(FOLLOW_functionName_in_synpred37_Css35663);
 		functionName();
 		state._fsp--;
 		if (state.failed) return;dbg.location(914,23);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:914:23: ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:23: ( ws )?
 		int alt478=2;
 		try { dbg.enterSubRule(478);
 		try { dbg.enterDecision(478, decisionCanBacktrack[478]);
@@ -31231,7 +31313,7 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:914:23: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:23: ws
 				{
 				dbg.location(914,23);
 				pushFollow(FOLLOW_ws_in_synpred37_Css35665);
@@ -31252,17 +31334,17 @@
 
 	// $ANTLR start synpred38_Css3
 	public final void synpred38_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:10: fnAttributeName ( ws )? ( OPEQ | COLON )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:10: fnAttributeName ( ws )? ( OPEQ | COLON )
 		{
-		dbg.location(978,10);
-		pushFollow(FOLLOW_fnAttributeName_in_synpred38_Css36233);
+		dbg.location(979,10);
+		pushFollow(FOLLOW_fnAttributeName_in_synpred38_Css36245);
 		fnAttributeName();
 		state._fsp--;
-		if (state.failed) return;dbg.location(978,26);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:26: ( ws )?
+		if (state.failed) return;dbg.location(979,26);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:26: ( ws )?
 		int alt479=2;
 		try { dbg.enterSubRule(479);
 		try { dbg.enterDecision(479, decisionCanBacktrack[479]);
@@ -31277,10 +31359,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:978:26: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:26: ws
 				{
-				dbg.location(978,26);
-				pushFollow(FOLLOW_ws_in_synpred38_Css36235);
+				dbg.location(979,26);
+				pushFollow(FOLLOW_ws_in_synpred38_Css36247);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31289,7 +31371,7 @@
 
 		}
 		} finally {dbg.exitSubRule(479);}
-		dbg.location(978,30);
+		dbg.location(979,30);
 		if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) {
 			input.consume();
 			state.errorRecovery=false;
@@ -31308,13 +31390,13 @@
 
 	// $ANTLR start synpred39_Css3
 	public final void synpred39_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:979:11: ( cp_expression )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:980:11: ( cp_expression )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:979:12: cp_expression
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:980:12: cp_expression
 		{
-		dbg.location(979,12);
-		pushFollow(FOLLOW_cp_expression_in_synpred39_Css36273);
+		dbg.location(980,12);
+		pushFollow(FOLLOW_cp_expression_in_synpred39_Css36285);
 		cp_expression();
 		state._fsp--;
 		if (state.failed) return;
@@ -31325,13 +31407,13 @@
 
 	// $ANTLR start synpred40_Css3
 	public final void synpred40_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
 		{
-		dbg.location(991,21);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
+		dbg.location(992,21);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
 		int alt482=3;
 		try { dbg.enterSubRule(482);
 		try { dbg.enterDecision(482, decisionCanBacktrack[482]);
@@ -31350,10 +31432,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:23: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:23: ws
 				{
-				dbg.location(991,23);
-				pushFollow(FOLLOW_ws_in_synpred40_Css36367);
+				dbg.location(992,23);
+				pushFollow(FOLLOW_ws_in_synpred40_Css36379);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31362,16 +31444,16 @@
 			case 2 :
 				dbg.enterAlt(2);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:28: ( ( ws )? SOLIDUS ( ws )? )
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:28: ( ( ws )? SOLIDUS ( ws )? )
 				{
-				dbg.location(991,28);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:28: ( ( ws )? SOLIDUS ( ws )? )
+				dbg.location(992,28);
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:28: ( ( ws )? SOLIDUS ( ws )? )
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:29: ( ws )? SOLIDUS ( ws )?
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:29: ( ws )? SOLIDUS ( ws )?
 				{
-				dbg.location(991,29);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:29: ( ws )?
+				dbg.location(992,29);
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:29: ( ws )?
 				int alt480=2;
 				try { dbg.enterSubRule(480);
 				try { dbg.enterDecision(480, decisionCanBacktrack[480]);
@@ -31386,10 +31468,10 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:29: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:29: ws
 						{
-						dbg.location(991,29);
-						pushFollow(FOLLOW_ws_in_synpred40_Css36372);
+						dbg.location(992,29);
+						pushFollow(FOLLOW_ws_in_synpred40_Css36384);
 						ws();
 						state._fsp--;
 						if (state.failed) return;
@@ -31398,9 +31480,9 @@
 
 				}
 				} finally {dbg.exitSubRule(480);}
-				dbg.location(991,33);
-				match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred40_Css36375); if (state.failed) return;dbg.location(991,41);
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:41: ( ws )?
+				dbg.location(992,33);
+				match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred40_Css36387); if (state.failed) return;dbg.location(992,41);
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:41: ( ws )?
 				int alt481=2;
 				try { dbg.enterSubRule(481);
 				try { dbg.enterDecision(481, decisionCanBacktrack[481]);
@@ -31415,10 +31497,10 @@
 					case 1 :
 						dbg.enterAlt(1);
 
-						// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:41: ws
+						// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:41: ws
 						{
-						dbg.location(991,41);
-						pushFollow(FOLLOW_ws_in_synpred40_Css36377);
+						dbg.location(992,41);
+						pushFollow(FOLLOW_ws_in_synpred40_Css36389);
 						ws();
 						state._fsp--;
 						if (state.failed) return;
@@ -31435,15 +31517,15 @@
 			case 3 :
 				dbg.enterAlt(3);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:991:61: 
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:61: 
 				{
 				}
 				break;
 
 		}
 		} finally {dbg.exitSubRule(482);}
-		dbg.location(991,63);
-		pushFollow(FOLLOW_term_in_synpred40_Css36386);
+		dbg.location(992,63);
+		pushFollow(FOLLOW_term_in_synpred40_Css36398);
 		term();
 		state._fsp--;
 		if (state.failed) return;
@@ -31454,13 +31536,13 @@
 
 	// $ANTLR start synpred42_Css3
 	public final void synpred42_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:6: ( ( ws )? COMMA ( ws )? cp_expression )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:6: ( ( ws )? COMMA ( ws )? cp_expression )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:7: ( ws )? COMMA ( ws )? cp_expression
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:7: ( ws )? COMMA ( ws )? cp_expression
 		{
-		dbg.location(1026,7);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:7: ( ws )?
+		dbg.location(1027,7);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:7: ( ws )?
 		int alt483=2;
 		try { dbg.enterSubRule(483);
 		try { dbg.enterDecision(483, decisionCanBacktrack[483]);
@@ -31475,10 +31557,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:7: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:7: ws
 				{
-				dbg.location(1026,7);
-				pushFollow(FOLLOW_ws_in_synpred42_Css36826);
+				dbg.location(1027,7);
+				pushFollow(FOLLOW_ws_in_synpred42_Css36838);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31487,9 +31569,9 @@
 
 		}
 		} finally {dbg.exitSubRule(483);}
-		dbg.location(1026,11);
-		match(input,COMMA,FOLLOW_COMMA_in_synpred42_Css36829); if (state.failed) return;dbg.location(1026,17);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:17: ( ws )?
+		dbg.location(1027,11);
+		match(input,COMMA,FOLLOW_COMMA_in_synpred42_Css36841); if (state.failed) return;dbg.location(1027,17);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:17: ( ws )?
 		int alt484=2;
 		try { dbg.enterSubRule(484);
 		try { dbg.enterDecision(484, decisionCanBacktrack[484]);
@@ -31504,10 +31586,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1026:17: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:17: ws
 				{
-				dbg.location(1026,17);
-				pushFollow(FOLLOW_ws_in_synpred42_Css36831);
+				dbg.location(1027,17);
+				pushFollow(FOLLOW_ws_in_synpred42_Css36843);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31516,8 +31598,8 @@
 
 		}
 		} finally {dbg.exitSubRule(484);}
-		dbg.location(1026,21);
-		pushFollow(FOLLOW_cp_expression_in_synpred42_Css36834);
+		dbg.location(1027,21);
+		pushFollow(FOLLOW_cp_expression_in_synpred42_Css36846);
 		cp_expression();
 		state._fsp--;
 		if (state.failed) return;
@@ -31528,13 +31610,13 @@
 
 	// $ANTLR start synpred43_Css3
 	public final void synpred43_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1042:7: ( cp_expression_atom )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:7: ( cp_expression_atom )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1042:8: cp_expression_atom
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:8: cp_expression_atom
 		{
-		dbg.location(1042,8);
-		pushFollow(FOLLOW_cp_expression_atom_in_synpred43_Css36901);
+		dbg.location(1043,8);
+		pushFollow(FOLLOW_cp_expression_atom_in_synpred43_Css36913);
 		cp_expression_atom();
 		state._fsp--;
 		if (state.failed) return;
@@ -31545,13 +31627,13 @@
 
 	// $ANTLR start synpred44_Css3
 	public final void synpred44_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:9: ( ( ws )? cp_expression_operator )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:9: ( ( ws )? cp_expression_operator )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:10: ( ws )? cp_expression_operator
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:10: ( ws )? cp_expression_operator
 		{
-		dbg.location(1044,10);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:10: ( ws )?
+		dbg.location(1045,10);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:10: ( ws )?
 		int alt485=2;
 		try { dbg.enterSubRule(485);
 		try { dbg.enterDecision(485, decisionCanBacktrack[485]);
@@ -31566,10 +31648,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1044:10: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:10: ws
 				{
-				dbg.location(1044,10);
-				pushFollow(FOLLOW_ws_in_synpred44_Css36924);
+				dbg.location(1045,10);
+				pushFollow(FOLLOW_ws_in_synpred44_Css36936);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31578,8 +31660,8 @@
 
 		}
 		} finally {dbg.exitSubRule(485);}
-		dbg.location(1044,14);
-		pushFollow(FOLLOW_cp_expression_operator_in_synpred44_Css36927);
+		dbg.location(1045,14);
+		pushFollow(FOLLOW_cp_expression_operator_in_synpred44_Css36939);
 		cp_expression_operator();
 		state._fsp--;
 		if (state.failed) return;
@@ -31590,13 +31672,13 @@
 
 	// $ANTLR start synpred45_Css3
 	public final void synpred45_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:11: ( ( ws )? cp_expression_atom )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:11: ( ( ws )? cp_expression_atom )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:12: ( ws )? cp_expression_atom
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:12: ( ws )? cp_expression_atom
 		{
-		dbg.location(1045,12);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:12: ( ws )?
+		dbg.location(1046,12);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:12: ( ws )?
 		int alt486=2;
 		try { dbg.enterSubRule(486);
 		try { dbg.enterDecision(486, decisionCanBacktrack[486]);
@@ -31611,10 +31693,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1045:12: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:12: ws
 				{
-				dbg.location(1045,12);
-				pushFollow(FOLLOW_ws_in_synpred45_Css36953);
+				dbg.location(1046,12);
+				pushFollow(FOLLOW_ws_in_synpred45_Css36965);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31623,8 +31705,8 @@
 
 		}
 		} finally {dbg.exitSubRule(486);}
-		dbg.location(1045,16);
-		pushFollow(FOLLOW_cp_expression_atom_in_synpred45_Css36956);
+		dbg.location(1046,16);
+		pushFollow(FOLLOW_cp_expression_atom_in_synpred45_Css36968);
 		cp_expression_atom();
 		state._fsp--;
 		if (state.failed) return;
@@ -31635,13 +31717,13 @@
 
 	// $ANTLR start synpred46_Css3
 	public final void synpred46_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1059:13: ( cp_math_expression )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1060:13: ( cp_math_expression )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1059:14: cp_math_expression
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1060:14: cp_math_expression
 		{
-		dbg.location(1059,14);
-		pushFollow(FOLLOW_cp_math_expression_in_synpred46_Css37096);
+		dbg.location(1060,14);
+		pushFollow(FOLLOW_cp_math_expression_in_synpred46_Css37108);
 		cp_math_expression();
 		state._fsp--;
 		if (state.failed) return;
@@ -31652,13 +31734,13 @@
 
 	// $ANTLR start synpred47_Css3
 	public final void synpred47_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:14: ( ws )? ( PLUS | MINUS | STAR | SOLIDUS )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:14: ( ws )? ( PLUS | MINUS | STAR | SOLIDUS )
 		{
-		dbg.location(1086,14);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:14: ( ws )?
+		dbg.location(1087,14);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:14: ( ws )?
 		int alt487=2;
 		try { dbg.enterSubRule(487);
 		try { dbg.enterDecision(487, decisionCanBacktrack[487]);
@@ -31673,10 +31755,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1086:14: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:14: ws
 				{
-				dbg.location(1086,14);
-				pushFollow(FOLLOW_ws_in_synpred47_Css37229);
+				dbg.location(1087,14);
+				pushFollow(FOLLOW_ws_in_synpred47_Css37241);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31685,7 +31767,7 @@
 
 		}
 		} finally {dbg.exitSubRule(487);}
-		dbg.location(1086,18);
+		dbg.location(1087,18);
 		if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) {
 			input.consume();
 			state.errorRecovery=false;
@@ -31704,13 +31786,13 @@
 
 	// $ANTLR start synpred48_Css3
 	public final void synpred48_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:77: ( ( ws )? combinator ( ws )? )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:77: ( ( ws )? combinator ( ws )? )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:78: ( ws )? combinator ( ws )?
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:78: ( ws )? combinator ( ws )?
 		{
-		dbg.location(1118,78);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:78: ( ws )?
+		dbg.location(1119,78);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:78: ( ws )?
 		int alt488=2;
 		try { dbg.enterSubRule(488);
 		try { dbg.enterDecision(488, decisionCanBacktrack[488]);
@@ -31725,10 +31807,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:78: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:78: ws
 				{
-				dbg.location(1118,78);
-				pushFollow(FOLLOW_ws_in_synpred48_Css37521);
+				dbg.location(1119,78);
+				pushFollow(FOLLOW_ws_in_synpred48_Css37533);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31737,12 +31819,12 @@
 
 		}
 		} finally {dbg.exitSubRule(488);}
-		dbg.location(1118,82);
-		pushFollow(FOLLOW_combinator_in_synpred48_Css37524);
+		dbg.location(1119,82);
+		pushFollow(FOLLOW_combinator_in_synpred48_Css37536);
 		combinator();
 		state._fsp--;
-		if (state.failed) return;dbg.location(1118,93);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:93: ( ws )?
+		if (state.failed) return;dbg.location(1119,93);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:93: ( ws )?
 		int alt489=2;
 		try { dbg.enterSubRule(489);
 		try { dbg.enterDecision(489, decisionCanBacktrack[489]);
@@ -31757,10 +31839,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:93: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:93: ws
 				{
-				dbg.location(1118,93);
-				pushFollow(FOLLOW_ws_in_synpred48_Css37526);
+				dbg.location(1119,93);
+				pushFollow(FOLLOW_ws_in_synpred48_Css37538);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31777,13 +31859,13 @@
 
 	// $ANTLR start synpred49_Css3
 	public final void synpred49_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:172: ( pseudo )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:172: ( pseudo )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:173: pseudo
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:173: pseudo
 		{
-		dbg.location(1118,173);
-		pushFollow(FOLLOW_pseudo_in_synpred49_Css37562);
+		dbg.location(1119,173);
+		pushFollow(FOLLOW_pseudo_in_synpred49_Css37574);
 		pseudo();
 		state._fsp--;
 		if (state.failed) return;
@@ -31794,13 +31876,13 @@
 
 	// $ANTLR start synpred50_Css3
 	public final void synpred50_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:191: ( ( ws )? LPAREN )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:191: ( ( ws )? LPAREN )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:192: ( ws )? LPAREN
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:192: ( ws )? LPAREN
 		{
-		dbg.location(1118,192);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:192: ( ws )?
+		dbg.location(1119,192);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:192: ( ws )?
 		int alt490=2;
 		try { dbg.enterSubRule(490);
 		try { dbg.enterDecision(490, decisionCanBacktrack[490]);
@@ -31815,10 +31897,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1118:192: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:192: ws
 				{
-				dbg.location(1118,192);
-				pushFollow(FOLLOW_ws_in_synpred50_Css37570);
+				dbg.location(1119,192);
+				pushFollow(FOLLOW_ws_in_synpred50_Css37582);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31827,8 +31909,8 @@
 
 		}
 		} finally {dbg.exitSubRule(490);}
-		dbg.location(1118,196);
-		match(input,LPAREN,FOLLOW_LPAREN_in_synpred50_Css37573); if (state.failed) return;
+		dbg.location(1119,196);
+		match(input,LPAREN,FOLLOW_LPAREN_in_synpred50_Css37585); if (state.failed) return;
 		}
 
 	}
@@ -31836,13 +31918,13 @@
 
 	// $ANTLR start synpred51_Css3
 	public final void synpred51_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1127:25: ( webkitKeyframeSelectors )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:25: ( webkitKeyframeSelectors )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1127:26: webkitKeyframeSelectors
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:26: webkitKeyframeSelectors
 		{
-		dbg.location(1127,26);
-		pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37689);
+		dbg.location(1128,26);
+		pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37701);
 		webkitKeyframeSelectors();
 		state._fsp--;
 		if (state.failed) return;
@@ -31853,13 +31935,13 @@
 
 	// $ANTLR start synpred52_Css3
 	public final void synpred52_Css3_fragment() throws RecognitionException {
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:19: ( ( ws )? COMMA )
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:19: ( ( ws )? COMMA )
 		dbg.enterAlt(1);
 
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:20: ( ws )? COMMA
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:20: ( ws )? COMMA
 		{
-		dbg.location(1305,20);
-		// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:20: ( ws )?
+		dbg.location(1306,20);
+		// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:20: ( ws )?
 		int alt491=2;
 		try { dbg.enterSubRule(491);
 		try { dbg.enterDecision(491, decisionCanBacktrack[491]);
@@ -31874,10 +31956,10 @@
 			case 1 :
 				dbg.enterAlt(1);
 
-				// Y:\\Projects\\nb\\incubator-netbeans\\ide\\css.lib\\src\\org\\netbeans\\modules\\css\\lib\\Css3.g:1305:20: ws
+				// /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:20: ws
 				{
-				dbg.location(1305,20);
-				pushFollow(FOLLOW_ws_in_synpred52_Css38921);
+				dbg.location(1306,20);
+				pushFollow(FOLLOW_ws_in_synpred52_Css38933);
 				ws();
 				state._fsp--;
 				if (state.failed) return;
@@ -31886,8 +31968,8 @@
 
 		}
 		} finally {dbg.exitSubRule(491);}
-		dbg.location(1305,24);
-		match(input,COMMA,FOLLOW_COMMA_in_synpred52_Css38924); if (state.failed) return;
+		dbg.location(1306,24);
+		match(input,COMMA,FOLLOW_COMMA_in_synpred52_Css38936); if (state.failed) return;
 		}
 
 	}
@@ -32787,20 +32869,20 @@
 	static final String DFA3_minS =
 		"\1\6\1\23\1\uffff\1\23\1\uffff";
 	static final String DFA3_maxS =
-		"\1\u0093\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\u0095\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA3_acceptS =
 		"\2\uffff\1\2\1\uffff\1\1";
 	static final String DFA3_specialS =
 		"\5\uffff}>";
 	static final String[] DFA3_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\1\1\1\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2"+
-			"\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff"+
 			"\3\2\1\uffff\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\1\uffff"+
-			"\1\2\1\uffff\1\2\1\uffff\5\2\7\uffff\1\2",
-			"\1\2\1\uffff\1\3\73\uffff\1\3\60\uffff\1\4\21\uffff\1\3",
+			"\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2",
+			"\1\2\1\uffff\1\3\74\uffff\1\3\60\uffff\1\4\22\uffff\1\3",
 			"",
-			"\1\2\1\uffff\1\3\73\uffff\1\3\60\uffff\1\4\21\uffff\1\3",
+			"\1\2\1\uffff\1\3\74\uffff\1\3\60\uffff\1\4\22\uffff\1\3",
 			""
 	};
 
@@ -32849,21 +32931,21 @@
 	static final String DFA5_minS =
 		"\1\6\1\23\1\uffff\1\23\1\uffff";
 	static final String DFA5_maxS =
-		"\1\u0093\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\u0095\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA5_acceptS =
 		"\2\uffff\1\2\1\uffff\1\1";
 	static final String DFA5_specialS =
 		"\5\uffff}>";
 	static final String[] DFA5_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2\2\uffff"+
-			"\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
+			"\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
 			"\3\2\5\uffff\1\1\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff"+
 			"\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+
-			"\1\2\1\uffff\5\2\7\uffff\1\2",
-			"\1\2\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\13\uffff\1\4"+
+			"\1\2\1\uffff\5\2\10\uffff\1\2",
+			"\1\2\1\uffff\1\3\35\uffff\1\4\36\uffff\1\3\60\uffff\1\4\14\uffff\1\4"+
 			"\5\uffff\1\3",
 			"",
-			"\1\2\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\13\uffff\1\4"+
+			"\1\2\1\uffff\1\3\35\uffff\1\4\36\uffff\1\3\60\uffff\1\4\14\uffff\1\4"+
 			"\5\uffff\1\3",
 			""
 	};
@@ -32913,21 +32995,21 @@
 	static final String DFA8_minS =
 		"\1\6\1\uffff\2\23\1\uffff";
 	static final String DFA8_maxS =
-		"\1\u0093\1\uffff\2\u0094\1\uffff";
+		"\1\u0095\1\uffff\2\u0096\1\uffff";
 	static final String DFA8_acceptS =
 		"\1\uffff\1\2\2\uffff\1\1";
 	static final String DFA8_specialS =
 		"\5\uffff}>";
 	static final String[] DFA8_transitionS = {
 			"\2\1\2\uffff\5\1\3\uffff\2\1\3\uffff\1\1\5\uffff\3\1\7\uffff\1\1\2\uffff"+
-			"\2\1\2\uffff\2\1\2\uffff\1\1\1\uffff\1\1\6\uffff\4\1\2\uffff\1\1\6\uffff"+
+			"\2\1\2\uffff\2\1\3\uffff\1\1\1\uffff\1\1\6\uffff\4\1\2\uffff\1\1\6\uffff"+
 			"\3\1\5\uffff\1\2\11\uffff\1\1\2\uffff\2\1\6\uffff\3\1\2\uffff\3\1\1\uffff"+
 			"\2\1\2\uffff\4\1\1\uffff\3\1\1\uffff\5\1\1\uffff\1\1\1\uffff\1\1\1\uffff"+
-			"\1\1\1\uffff\5\1\7\uffff\1\1",
+			"\1\1\1\uffff\5\1\10\uffff\1\1",
 			"",
-			"\1\1\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\13\uffff\1\4"+
+			"\1\1\1\uffff\1\3\35\uffff\1\4\36\uffff\1\3\60\uffff\1\4\14\uffff\1\4"+
 			"\5\uffff\1\3",
-			"\1\1\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\13\uffff\1\4"+
+			"\1\1\1\uffff\1\3\35\uffff\1\4\36\uffff\1\3\60\uffff\1\4\14\uffff\1\4"+
 			"\5\uffff\1\3",
 			""
 	};
@@ -32975,17 +33057,17 @@
 	static final String DFA32_eofS =
 		"\10\uffff";
 	static final String DFA32_minS =
-		"\1\64\2\25\1\0\1\uffff\1\0\2\uffff";
+		"\1\65\2\25\1\0\1\uffff\1\0\2\uffff";
 	static final String DFA32_maxS =
-		"\1\64\2\u0094\1\0\1\uffff\1\0\2\uffff";
+		"\1\65\2\u0096\1\0\1\uffff\1\0\2\uffff";
 	static final String DFA32_acceptS =
 		"\4\uffff\1\3\1\uffff\1\1\1\2";
 	static final String DFA32_specialS =
 		"\3\uffff\1\0\1\uffff\1\1\2\uffff}>";
 	static final String[] DFA32_transitionS = {
 			"\1\1",
-			"\1\2\60\uffff\1\4\12\uffff\1\2\60\uffff\1\3\13\uffff\1\3\5\uffff\1\2",
-			"\1\2\60\uffff\1\4\12\uffff\1\2\60\uffff\1\5\13\uffff\1\5\5\uffff\1\2",
+			"\1\2\61\uffff\1\4\12\uffff\1\2\60\uffff\1\3\14\uffff\1\3\5\uffff\1\2",
+			"\1\2\61\uffff\1\4\12\uffff\1\2\60\uffff\1\5\14\uffff\1\5\5\uffff\1\2",
 			"\1\uffff",
 			"",
 			"\1\uffff",
@@ -33077,24 +33159,24 @@
 	static final String DFA24_minS =
 		"\2\6\2\uffff";
 	static final String DFA24_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA24_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA24_specialS =
 		"\4\uffff}>";
 	static final String[] DFA24_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2\4\uffff\1\2"+
 			"\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\2\uffff"+
 			"\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+
-			"\5\2\5\uffff\1\2\1\uffff\1\2\1\1",
+			"\5\2\6\uffff\1\2\1\uffff\1\2\1\1",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2\4\uffff\1\2"+
 			"\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\1\uffff"+
 			"\5\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+
-			"\5\2\5\uffff\1\2\1\uffff\1\2\1\1",
+			"\5\2\6\uffff\1\2\1\uffff\1\2\1\1",
 			"",
 			""
 	};
@@ -33144,23 +33226,23 @@
 	static final String DFA38_minS =
 		"\2\6\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA38_maxS =
-		"\2\u0094\1\0\1\uffff\1\0\1\uffff";
+		"\2\u0096\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA38_acceptS =
 		"\3\uffff\1\2\1\uffff\1\1";
 	static final String DFA38_specialS =
 		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
 	static final String[] DFA38_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\4\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3"+
+			"\4\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3"+
 			"\1\uffff\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\4\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3"+
+			"\4\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3"+
 			"\1\uffff\1\3\1\1",
 			"\1\uffff",
 			"",
@@ -33250,23 +33332,23 @@
 	static final String DFA44_minS =
 		"\2\6\2\uffff";
 	static final String DFA44_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA44_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA44_specialS =
 		"\4\uffff}>";
 	static final String[] DFA44_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -33317,23 +33399,23 @@
 	static final String DFA46_minS =
 		"\2\6\2\uffff";
 	static final String DFA46_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA46_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA46_specialS =
 		"\4\uffff}>";
 	static final String[] DFA46_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -33384,23 +33466,23 @@
 	static final String DFA50_minS =
 		"\2\6\2\uffff";
 	static final String DFA50_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA50_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA50_specialS =
-		"\1\1\1\0\2\uffff}>";
+		"\1\0\1\1\2\uffff}>";
 	static final String[] DFA50_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff"+
-			"\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff"+
+			"\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff"+
 			"\1\2\1\1",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
-			"\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff"+
+			"\5\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff"+
 			"\1\2\1\1",
 			"",
 			""
@@ -33448,20 +33530,6 @@
 			int _s = s;
 			switch ( s ) {
 					case 0 : 
-						int LA50_1 = input.LA(1);
-						 
-						int index50_1 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (LA50_1==EOF||(LA50_1 >= AT_IDENT && LA50_1 <= AT_SIGN)||(LA50_1 >= BOTTOMCENTER_SYM && LA50_1 <= BOTTOMRIGHT_SYM)||(LA50_1 >= CHARSET_SYM && LA50_1 <= COLON)||LA50_1==COUNTER_STYLE_SYM||(LA50_1 >= DCOLON && LA50_1 <= DOT)||LA50_1==FONT_FACE_SYM||(LA50_1 >= GEN && LA50_1 <= GREATER)||(LA50_1 >= HASH && LA50_1 <= HASH_SYMBOL)||LA50_1==IDENT||LA50_1==IMPORT_SYM||(LA50_1 >= LBRACE && LA50_1 <= LEFTTOP_SYM)||LA50_1==LESS_AND||(LA50_1 >= MEDIA_SYM && LA50_1 <= MOZ_DOCUMENT_SYM)||LA50_1==NAMESPACE_SYM||LA50_1==PAGE_SYM||(LA50_1 >= PIPE && LA50_1 <= PLUS)||LA50_1==RBRACE||(LA50_1 >= RIGHTBOTTOM_SYM && LA50_1 <= RPAREN)||(LA50_1 >= SASS_AT_ROOT && LA50_1 <= SASS_DEBUG)||(LA50_1 >= SASS_EACH && LA50_1 <= SASS_ELSE)||(LA50_1 >= SASS_ERROR && LA50_1 <= SASS_FUNCTION)||(LA50_1 >= SASS_IF && LA50_1 <= SASS_MIXIN)||(LA50_1 >= SASS_RETURN && LA50_1 <= SEMI)||LA50_1==STAR||LA50_1==SUPPORTS_SYM||LA50_1==TILDE||(LA50_1 >= TOPCENTER_SYM && LA50_1 <= TOPRIGHT_SYM)||LA50_1==VARIABLE||LA50_1==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
-						else if ( (LA50_1==COMMENT||LA50_1==NL||LA50_1==WS) ) {s = 1;}
-						else if ( (LA50_1==COMMA) && (synpred10_Css3())) {s = 3;}
-						 
-						input.seek(index50_1);
-						if ( s>=0 ) return s;
-						break;
-
-					case 1 : 
 						int LA50_0 = input.LA(1);
 						 
 						int index50_0 = input.index();
@@ -33474,6 +33542,20 @@
 						input.seek(index50_0);
 						if ( s>=0 ) return s;
 						break;
+
+					case 1 : 
+						int LA50_1 = input.LA(1);
+						 
+						int index50_1 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (LA50_1==EOF||(LA50_1 >= AT_IDENT && LA50_1 <= AT_SIGN)||(LA50_1 >= BOTTOMCENTER_SYM && LA50_1 <= BOTTOMRIGHT_SYM)||(LA50_1 >= CHARSET_SYM && LA50_1 <= COLON)||LA50_1==COUNTER_STYLE_SYM||(LA50_1 >= DCOLON && LA50_1 <= DOT)||LA50_1==FONT_FACE_SYM||(LA50_1 >= GEN && LA50_1 <= GREATER)||(LA50_1 >= HASH && LA50_1 <= HASH_SYMBOL)||LA50_1==IDENT||LA50_1==IMPORT_SYM||(LA50_1 >= LBRACE && LA50_1 <= LEFTTOP_SYM)||LA50_1==LESS_AND||(LA50_1 >= MEDIA_SYM && LA50_1 <= MOZ_DOCUMENT_SYM)||LA50_1==NAMESPACE_SYM||LA50_1==PAGE_SYM||(LA50_1 >= PIPE && LA50_1 <= PLUS)||LA50_1==RBRACE||(LA50_1 >= RIGHTBOTTOM_SYM && LA50_1 <= RPAREN)||(LA50_1 >= SASS_AT_ROOT && LA50_1 <= SASS_DEBUG)||(LA50_1 >= SASS_EACH && LA50_1 <= SASS_ELSE)||(LA50_1 >= SASS_ERROR && LA50_1 <= SASS_FUNCTION)||(LA50_1 >= SASS_IF && LA50_1 <= SASS_MIXIN)||(LA50_1 >= SASS_RETURN && LA50_1 <= SEMI)||LA50_1==STAR||LA50_1==SUPPORTS_SYM||LA50_1==TILDE||(LA50_1 >= TOPCENTER_SYM && LA50_1 <= TOPRIGHT_SYM)||LA50_1==VARIABLE||LA50_1==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
+						else if ( (LA50_1==COMMENT||LA50_1==NL||LA50_1==WS) ) {s = 1;}
+						else if ( (LA50_1==COMMA) && (synpred10_Css3())) {s = 3;}
+						 
+						input.seek(index50_1);
+						if ( s>=0 ) return s;
+						break;
 			}
 			if (state.backtracking>0) {state.failed=true; return -1;}
 			NoViableAltException nvae =
@@ -33490,14 +33572,14 @@
 	static final String DFA63_minS =
 		"\2\23\2\uffff";
 	static final String DFA63_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA63_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA63_specialS =
 		"\4\uffff}>";
 	static final String[] DFA63_transitionS = {
-			"\1\2\1\uffff\1\1\73\uffff\1\1\26\uffff\1\3\53\uffff\1\1",
-			"\1\2\1\uffff\1\1\73\uffff\1\1\26\uffff\1\3\53\uffff\1\1",
+			"\1\2\1\uffff\1\1\74\uffff\1\1\26\uffff\1\3\54\uffff\1\1",
+			"\1\2\1\uffff\1\1\74\uffff\1\1\26\uffff\1\3\54\uffff\1\1",
 			"",
 			""
 	};
@@ -33547,23 +33629,23 @@
 	static final String DFA72_minS =
 		"\2\6\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA72_maxS =
-		"\2\u0094\1\0\1\uffff\1\0\1\uffff";
+		"\2\u0096\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA72_acceptS =
 		"\3\uffff\1\2\1\uffff\1\1";
 	static final String DFA72_specialS =
 		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
 	static final String[] DFA72_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\4\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\7\uffff\1\3"+
+			"\4\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\10\uffff\1\3"+
 			"\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\4\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\7\uffff\1\3"+
+			"\4\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\10\uffff\1\3"+
 			"\1\1",
 			"\1\uffff",
 			"",
@@ -33653,14 +33735,14 @@
 	static final String DFA81_minS =
 		"\2\25\2\uffff";
 	static final String DFA81_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA81_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA81_specialS =
 		"\4\uffff}>";
 	static final String[] DFA81_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
-			"\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
+			"\1\1\45\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
+			"\1\1\35\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
 			"",
 			""
 	};
@@ -33710,14 +33792,14 @@
 	static final String DFA83_minS =
 		"\2\25\2\uffff";
 	static final String DFA83_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA83_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA83_specialS =
 		"\4\uffff}>";
 	static final String[] DFA83_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
-			"\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
+			"\1\1\45\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
+			"\1\1\35\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
 			"",
 			""
 	};
@@ -33767,14 +33849,14 @@
 	static final String DFA84_minS =
 		"\2\25\2\uffff";
 	static final String DFA84_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA84_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA84_specialS =
 		"\4\uffff}>";
 	static final String[] DFA84_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
-			"\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\53\uffff\1\1",
+			"\1\1\45\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
+			"\1\1\35\uffff\1\3\7\uffff\1\2\26\uffff\1\1\26\uffff\1\2\54\uffff\1\1",
 			"",
 			""
 	};
@@ -33824,14 +33906,14 @@
 	static final String DFA117_minS =
 		"\2\24\2\uffff";
 	static final String DFA117_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA117_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA117_specialS =
 		"\4\uffff}>";
 	static final String[] DFA117_transitionS = {
-			"\1\3\1\1\44\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
-			"\1\3\1\1\44\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
+			"\1\3\1\1\45\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
+			"\1\3\1\1\45\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
 			"",
 			""
 	};
@@ -33881,20 +33963,20 @@
 	static final String DFA124_minS =
 		"\1\6\1\uffff\2\23\1\uffff";
 	static final String DFA124_maxS =
-		"\1\u0093\1\uffff\2\u0094\1\uffff";
+		"\1\u0095\1\uffff\2\u0096\1\uffff";
 	static final String DFA124_acceptS =
 		"\1\uffff\1\1\2\uffff\1\2";
 	static final String DFA124_specialS =
 		"\5\uffff}>";
 	static final String[] DFA124_transitionS = {
 			"\2\1\2\uffff\5\2\3\uffff\1\1\4\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+
-			"\1\1\2\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
+			"\1\1\3\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
 			"\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2"+
-			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\5\uffff\5\2\5\uffff\1\1\1\uffff"+
+			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\5\uffff\5\2\6\uffff\1\1\1\uffff"+
 			"\1\1",
 			"",
-			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
-			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\1\1\uffff\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
+			"\1\1\1\uffff\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			""
 	};
 
@@ -33943,20 +34025,20 @@
 	static final String DFA128_minS =
 		"\1\6\1\uffff\2\23\1\uffff";
 	static final String DFA128_maxS =
-		"\1\u0093\1\uffff\2\u0094\1\uffff";
+		"\1\u0095\1\uffff\2\u0096\1\uffff";
 	static final String DFA128_acceptS =
 		"\1\uffff\1\1\2\uffff\1\2";
 	static final String DFA128_specialS =
 		"\5\uffff}>";
 	static final String[] DFA128_transitionS = {
 			"\2\1\2\uffff\5\2\3\uffff\1\1\4\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+
-			"\1\1\2\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
+			"\1\1\3\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
 			"\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2"+
-			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\5\uffff\5\2\5\uffff\1\1\1\uffff"+
+			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\5\uffff\5\2\6\uffff\1\1\1\uffff"+
 			"\1\1",
 			"",
-			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
-			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\1\1\uffff\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
+			"\1\1\1\uffff\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			""
 	};
 
@@ -34005,22 +34087,22 @@
 	static final String DFA148_minS =
 		"\2\6\3\uffff";
 	static final String DFA148_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA148_acceptS =
 		"\2\uffff\1\3\1\1\1\2";
 	static final String DFA148_specialS =
 		"\5\uffff}>";
 	static final String[] DFA148_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\3\2\2\2\uffff\4\2\1\4\3\2\1\uffff\5\2\1\uffff"+
-			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\7\uffff\1\2\1\1",
+			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2\1\1",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\3\2\2\1\uffff\5\2\1\4\3\2\1\uffff\5\2\1\uffff"+
-			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff\1\2\1\1",
+			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1",
 			"",
 			"",
 			""
@@ -34071,22 +34153,22 @@
 	static final String DFA150_minS =
 		"\2\6\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA150_maxS =
-		"\2\u0094\1\0\1\uffff\1\0\1\uffff";
+		"\2\u0096\1\0\1\uffff\1\0\1\uffff";
 	static final String DFA150_acceptS =
 		"\3\uffff\1\2\1\uffff\1\1";
 	static final String DFA150_specialS =
 		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
 	static final String[] DFA150_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\17\uffff\1\3"+
-			"\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
+			"\2\uffff\1\3\4\uffff\1\3\3\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
 			"\3\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3"+
 			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
-			"\1\3\4\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\4\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\4\1\1\1\uffff\1\3\17\uffff\1"+
-			"\3\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
+			"\3\2\uffff\1\3\4\uffff\1\3\3\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
 			"\3\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3"+
 			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
-			"\1\3\4\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\4\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"\1\uffff",
 			"",
 			"\1\uffff",
@@ -34175,14 +34257,14 @@
 	static final String DFA155_minS =
 		"\2\23\2\uffff";
 	static final String DFA155_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA155_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA155_specialS =
 		"\4\uffff}>";
 	static final String[] DFA155_transitionS = {
-			"\1\2\1\uffff\1\1\73\uffff\1\1\60\uffff\1\3\21\uffff\1\1",
-			"\1\2\1\uffff\1\1\73\uffff\1\1\60\uffff\1\3\21\uffff\1\1",
+			"\1\2\1\uffff\1\1\74\uffff\1\1\60\uffff\1\3\22\uffff\1\1",
+			"\1\2\1\uffff\1\1\74\uffff\1\1\60\uffff\1\3\22\uffff\1\1",
 			"",
 			""
 	};
@@ -34232,22 +34314,22 @@
 	static final String DFA160_minS =
 		"\2\6\2\uffff";
 	static final String DFA160_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA160_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA160_specialS =
 		"\4\uffff}>";
 	static final String[] DFA160_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\3\1\1\1\uffff\1\3\17\uffff\1\3"+
-			"\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3\3"+
+			"\2\uffff\1\3\4\uffff\1\3\3\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3\3"+
 			"\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3\1\uffff"+
 			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff\1\3\4\uffff"+
-			"\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\3\1\1\1\uffff\1\3\17\uffff\1"+
-			"\3\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3"+
+			"\3\2\uffff\1\3\4\uffff\1\3\3\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3"+
 			"\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3\1"+
 			"\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff\1"+
-			"\3\4\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\3\4\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"",
 			""
 	};
@@ -34297,20 +34379,20 @@
 	static final String DFA166_minS =
 		"\1\7\1\25\1\uffff\1\7\2\uffff";
 	static final String DFA166_maxS =
-		"\1\u0085\1\u0094\1\uffff\1\u0094\2\uffff";
+		"\1\u0086\1\u0096\1\uffff\1\u0096\2\uffff";
 	static final String DFA166_acceptS =
 		"\2\uffff\1\3\1\uffff\1\1\1\2";
 	static final String DFA166_specialS =
 		"\6\uffff}>";
 	static final String[] DFA166_transitionS = {
-			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
+			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\3\uffff\1\2\10"+
 			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
 			"\1\2\15\uffff\1\2\3\uffff\1\2",
-			"\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			"",
-			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
+			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\3"+
 			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
-			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\16\uffff\1\3",
+			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\17\uffff\1\3",
 			"",
 			""
 	};
@@ -34360,16 +34442,16 @@
 	static final String DFA161_minS =
 		"\1\25\1\7\2\uffff";
 	static final String DFA161_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA161_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA161_specialS =
 		"\4\uffff}>";
 	static final String[] DFA161_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
-			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
+			"\1\1\45\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
+			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3"+
 			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
-			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\16\uffff\1\1",
+			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\17\uffff\1\1",
 			"",
 			""
 	};
@@ -34419,29 +34501,29 @@
 	static final String DFA183_minS =
 		"\2\6\1\uffff\1\6\1\uffff";
 	static final String DFA183_maxS =
-		"\1\u0093\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\u0095\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA183_acceptS =
 		"\2\uffff\1\1\1\uffff\1\2";
 	static final String DFA183_specialS =
 		"\5\uffff}>";
 	static final String[] DFA183_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2\2\uffff"+
-			"\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
+			"\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
 			"\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff"+
 			"\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff\4\2\1\1\1\uffff\1\2\1\uffff\1\2"+
-			"\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff\1\2",
+			"\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\3\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\3\10\uffff\1\2\2\uffff\2\2\2\uffff\1\4"+
 			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
-			"\4\2\1\1\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2"+
+			"\4\2\1\1\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2"+
 			"\1\uffff\1\2\1\3",
 			"",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\3\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\3\10\uffff\1\2\2\uffff\2\2\2\uffff\1\4"+
 			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
-			"\4\2\1\1\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2"+
+			"\4\2\1\1\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2"+
 			"\1\uffff\1\2\1\3",
 			""
 	};
@@ -34491,32 +34573,32 @@
 	static final String DFA176_minS =
 		"\1\25\2\6\2\uffff\1\6";
 	static final String DFA176_maxS =
-		"\3\u0094\2\uffff\1\u0094";
+		"\3\u0096\2\uffff\1\u0096";
 	static final String DFA176_acceptS =
 		"\3\uffff\1\2\1\1\1\uffff";
 	static final String DFA176_specialS =
 		"\6\uffff}>";
 	static final String[] DFA176_transitionS = {
-			"\1\1\73\uffff\1\1\17\uffff\1\3\35\uffff\1\2\24\uffff\1\1",
+			"\1\1\74\uffff\1\1\17\uffff\1\3\35\uffff\1\2\25\uffff\1\1",
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
 			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
-			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff\1\4"+
+			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff\1\4"+
 			"\1\uffff\1\4\1\1",
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\5\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\5\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
 			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
-			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff\1\4"+
+			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff\1\4"+
 			"\1\uffff\1\4\1\5",
 			"",
 			"",
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\5\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\5\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
 			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
-			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff\1\4"+
+			"\4\4\1\2\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff\1\4"+
 			"\1\uffff\1\4\1\5"
 	};
 
@@ -34565,18 +34647,18 @@
 	static final String DFA175_minS =
 		"\1\25\1\6\2\uffff";
 	static final String DFA175_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA175_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA175_specialS =
 		"\4\uffff}>";
 	static final String[] DFA175_transitionS = {
-			"\1\1\73\uffff\1\1\55\uffff\1\2\24\uffff\1\1",
+			"\1\1\74\uffff\1\1\55\uffff\1\2\25\uffff\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\6\uffff\3\3"+
 			"\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff\4\3\1\2\1\uffff"+
-			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"",
 			""
 	};
@@ -34626,14 +34708,14 @@
 	static final String DFA180_minS =
 		"\2\25\3\uffff";
 	static final String DFA180_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA180_acceptS =
 		"\2\uffff\1\1\1\3\1\2";
 	static final String DFA180_specialS =
 		"\5\uffff}>";
 	static final String[] DFA180_transitionS = {
-			"\1\1\73\uffff\1\1\17\uffff\1\3\35\uffff\1\2\24\uffff\1\1",
-			"\1\1\73\uffff\1\1\17\uffff\1\4\35\uffff\1\2\24\uffff\1\1",
+			"\1\1\74\uffff\1\1\17\uffff\1\3\35\uffff\1\2\25\uffff\1\1",
+			"\1\1\74\uffff\1\1\17\uffff\1\4\35\uffff\1\2\25\uffff\1\1",
 			"",
 			"",
 			""
@@ -34684,19 +34766,19 @@
 	static final String DFA185_minS =
 		"\1\25\1\6\2\uffff";
 	static final String DFA185_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA185_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA185_specialS =
 		"\4\uffff}>";
 	static final String[] DFA185_transitionS = {
-			"\1\1\35\uffff\1\2\35\uffff\1\1\17\uffff\1\3\6\uffff\1\3\26\uffff\1\3"+
-			"\24\uffff\1\1",
+			"\1\1\36\uffff\1\2\35\uffff\1\1\17\uffff\1\3\6\uffff\1\3\26\uffff\1\3"+
+			"\25\uffff\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -34747,19 +34829,19 @@
 	static final String DFA187_minS =
 		"\1\25\1\6\2\uffff";
 	static final String DFA187_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA187_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA187_specialS =
 		"\4\uffff}>";
 	static final String[] DFA187_transitionS = {
-			"\1\1\35\uffff\1\2\35\uffff\1\1\17\uffff\1\3\6\uffff\1\3\26\uffff\1\3"+
-			"\24\uffff\1\1",
+			"\1\1\36\uffff\1\2\35\uffff\1\1\17\uffff\1\3\6\uffff\1\3\26\uffff\1\3"+
+			"\25\uffff\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -34810,21 +34892,21 @@
 	static final String DFA191_minS =
 		"\1\24\1\7\1\24\1\uffff\1\7\1\uffff";
 	static final String DFA191_maxS =
-		"\3\u0094\1\uffff\1\u0094\1\uffff";
+		"\3\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA191_acceptS =
 		"\3\uffff\1\2\1\uffff\1\1";
 	static final String DFA191_specialS =
 		"\6\uffff}>";
 	static final String[] DFA191_transitionS = {
-			"\1\1\1\2\44\uffff\1\3\26\uffff\1\2\26\uffff\1\3\53\uffff\1\2",
-			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\2"+
+			"\1\1\1\2\45\uffff\1\3\26\uffff\1\2\26\uffff\1\3\54\uffff\1\2",
+			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\3"+
 			"\uffff\1\5\7\uffff\1\3\1\5\5\uffff\1\5\7\uffff\1\5\7\uffff\1\4\13\uffff"+
-			"\2\5\11\uffff\1\3\12\uffff\1\5\15\uffff\1\5\3\uffff\1\5\16\uffff\1\4",
-			"\1\5\1\2\44\uffff\1\3\26\uffff\1\2\102\uffff\1\2",
+			"\2\5\11\uffff\1\3\12\uffff\1\5\15\uffff\1\5\3\uffff\1\5\17\uffff\1\4",
+			"\1\5\1\2\45\uffff\1\3\26\uffff\1\2\103\uffff\1\2",
 			"",
-			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\2"+
+			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\3"+
 			"\uffff\1\5\7\uffff\1\3\1\5\5\uffff\1\5\7\uffff\1\5\7\uffff\1\4\13\uffff"+
-			"\2\5\24\uffff\1\5\15\uffff\1\5\3\uffff\1\5\16\uffff\1\4",
+			"\2\5\24\uffff\1\5\15\uffff\1\5\3\uffff\1\5\17\uffff\1\4",
 			""
 	};
 
@@ -34873,22 +34955,22 @@
 	static final String DFA199_minS =
 		"\2\7\1\uffff\1\7\1\uffff";
 	static final String DFA199_maxS =
-		"\1\u0085\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\u0086\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA199_acceptS =
 		"\2\uffff\1\1\1\uffff\1\2";
 	static final String DFA199_specialS =
 		"\5\uffff}>";
 	static final String[] DFA199_transitionS = {
-			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\1\2\1\1\2\uffff\2\2\2\uffff\1"+
+			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\1\2\1\1\2\uffff\2\2\3\uffff\1"+
 			"\2\10\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\1\2\1\1\24\uffff\1\2"+
 			"\15\uffff\1\2\3\uffff\1\1",
-			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\2\uffff"+
+			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\3\uffff"+
 			"\1\2\7\uffff\1\4\1\2\5\uffff\1\2\7\uffff\1\2\7\uffff\1\3\13\uffff\1\2"+
-			"\12\uffff\1\4\12\uffff\1\2\15\uffff\1\2\22\uffff\1\3",
+			"\12\uffff\1\4\12\uffff\1\2\15\uffff\1\2\23\uffff\1\3",
 			"",
-			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\2\uffff"+
+			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\3\uffff"+
 			"\1\2\7\uffff\1\4\1\2\5\uffff\1\2\7\uffff\1\2\7\uffff\1\3\13\uffff\1\2"+
-			"\25\uffff\1\2\15\uffff\1\2\22\uffff\1\3",
+			"\25\uffff\1\2\15\uffff\1\2\23\uffff\1\3",
 			""
 	};
 
@@ -34937,17 +35019,17 @@
 	static final String DFA198_minS =
 		"\1\24\1\7\2\uffff";
 	static final String DFA198_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA198_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA198_specialS =
 		"\4\uffff}>";
 	static final String[] DFA198_transitionS = {
-			"\1\2\1\1\25\uffff\1\3\16\uffff\1\2\26\uffff\1\1\14\uffff\1\3\11\uffff"+
-			"\1\2\34\uffff\1\3\16\uffff\1\1",
-			"\1\3\13\uffff\1\3\1\2\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2\uffff"+
+			"\1\2\1\1\25\uffff\1\3\17\uffff\1\2\26\uffff\1\1\14\uffff\1\3\11\uffff"+
+			"\1\2\34\uffff\1\3\17\uffff\1\1",
+			"\1\3\13\uffff\1\3\1\2\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3\uffff"+
 			"\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff\2\3"+
-			"\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\16\uffff\1\1",
+			"\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\17\uffff\1\1",
 			"",
 			""
 	};
@@ -34997,16 +35079,16 @@
 	static final String DFA197_minS =
 		"\1\25\1\7\2\uffff";
 	static final String DFA197_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA197_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA197_specialS =
 		"\4\uffff}>";
 	static final String[] DFA197_transitionS = {
-			"\1\1\25\uffff\1\2\45\uffff\1\1\14\uffff\1\2\46\uffff\1\2\16\uffff\1\1",
+			"\1\1\25\uffff\1\2\46\uffff\1\1\14\uffff\1\2\46\uffff\1\2\17\uffff\1\1",
 			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\1\3\1\2\2\uffff\2"+
-			"\3\2\uffff\1\3\10\uffff\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
-			"\1\3\1\2\24\uffff\1\3\15\uffff\1\3\3\uffff\1\2\16\uffff\1\1",
+			"\3\3\uffff\1\3\10\uffff\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
+			"\1\3\1\2\24\uffff\1\3\15\uffff\1\3\3\uffff\1\2\17\uffff\1\1",
 			"",
 			""
 	};
@@ -35056,19 +35138,19 @@
 	static final String DFA203_minS =
 		"\1\23\1\7\1\uffff\1\7\1\uffff";
 	static final String DFA203_maxS =
-		"\2\u0094\1\uffff\1\117\1\uffff";
+		"\2\u0096\1\uffff\1\120\1\uffff";
 	static final String DFA203_acceptS =
 		"\2\uffff\1\1\1\uffff\1\2";
 	static final String DFA203_specialS =
 		"\5\uffff}>";
 	static final String[] DFA203_transitionS = {
-			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\13\uffff\1\2\5\uffff\1\2\17"+
-			"\uffff\1\1\41\uffff\1\2\40\uffff\1\1",
-			"\1\4\13\uffff\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\2\uffff\1"+
-			"\4\10\uffff\1\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\40\uffff"+
+			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\14\uffff\1\2\5\uffff\1\2\17"+
+			"\uffff\1\1\41\uffff\1\2\41\uffff\1\1",
+			"\1\4\13\uffff\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\3\uffff\1"+
+			"\4\10\uffff\1\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\41\uffff"+
 			"\1\1",
 			"",
-			"\1\2\52\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
+			"\1\2\53\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
 			""
 	};
 
@@ -35117,18 +35199,18 @@
 	static final String DFA206_minS =
 		"\2\23\1\uffff\1\7\1\uffff";
 	static final String DFA206_maxS =
-		"\2\u0094\1\uffff\1\117\1\uffff";
+		"\2\u0096\1\uffff\1\120\1\uffff";
 	static final String DFA206_acceptS =
 		"\2\uffff\1\1\1\uffff\1\2";
 	static final String DFA206_specialS =
 		"\5\uffff}>";
 	static final String[] DFA206_transitionS = {
-			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\13\uffff\1\2\5\uffff\1\2\17"+
-			"\uffff\1\1\41\uffff\1\2\40\uffff\1\1",
-			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\2\uffff\1\4\10\uffff\1"+
-			"\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\40\uffff\1\1",
+			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\14\uffff\1\2\5\uffff\1\2\17"+
+			"\uffff\1\1\41\uffff\1\2\41\uffff\1\1",
+			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\3\uffff\1\4\10\uffff\1"+
+			"\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\41\uffff\1\1",
 			"",
-			"\1\2\52\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
+			"\1\2\53\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
 			""
 	};
 
@@ -35177,23 +35259,23 @@
 	static final String DFA229_minS =
 		"\2\6\2\uffff";
 	static final String DFA229_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA229_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA229_specialS =
 		"\4\uffff}>";
 	static final String[] DFA229_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\3\3\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff\1\3"+
-			"\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
+			"\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
 			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\3\3\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff\1\3"+
-			"\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
+			"\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
 			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\11\3\1\uffff"+
-			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"",
 			""
 	};
@@ -35243,23 +35325,23 @@
 	static final String DFA245_minS =
 		"\2\6\2\uffff";
 	static final String DFA245_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA245_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA245_specialS =
 		"\4\uffff}>";
 	static final String[] DFA245_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
 			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -35304,32 +35386,32 @@
 	}
 
 	static final String DFA252_eotS =
-		"\76\uffff";
+		"\77\uffff";
 	static final String DFA252_eofS =
-		"\1\2\75\uffff";
+		"\1\2\76\uffff";
 	static final String DFA252_minS =
 		"\1\5\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\2\0\2\uffff\3\0\2\uffff\20\0"+
-		"\1\uffff\1\0\2\uffff\1\0\1\uffff\1\0\17\uffff";
+		"\1\uffff\1\0\2\uffff\1\0\1\uffff\1\0\20\uffff";
 	static final String DFA252_maxS =
-		"\1\u0094\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\2\0\2\uffff\3\0\2\uffff\20"+
-		"\0\1\uffff\1\0\2\uffff\1\0\1\uffff\1\0\17\uffff";
+		"\1\u0096\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\2\0\2\uffff\3\0\2\uffff\20"+
+		"\0\1\uffff\1\0\2\uffff\1\0\1\uffff\1\0\20\uffff";
 	static final String DFA252_acceptS =
-		"\2\uffff\1\2\52\uffff\1\1\1\uffff\13\1\1\uffff\3\1";
+		"\2\uffff\1\2\52\uffff\1\1\1\uffff\14\1\1\uffff\3\1";
 	static final String DFA252_specialS =
 		"\1\0\1\1\4\uffff\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\uffff\1\11\1\12"+
 		"\2\uffff\1\13\1\14\1\15\2\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
 		"\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\uffff\1\36\2\uffff\1\37\1\uffff"+
-		"\1\40\17\uffff}>";
+		"\1\40\20\uffff}>";
 	static final String[] DFA252_transitionS = {
-			"\1\65\1\12\1\24\2\uffff\5\51\3\uffff\1\51\1\2\1\54\1\1\1\uffff\1\51\5"+
-			"\uffff\1\2\1\20\1\2\1\uffff\1\62\3\uffff\1\64\1\uffff\1\43\1\67\1\uffff"+
-			"\1\30\1\2\2\uffff\1\10\1\17\2\uffff\1\23\1\2\1\41\5\uffff\2\2\3\51\1"+
-			"\61\1\uffff\1\6\1\73\5\uffff\1\46\1\25\1\44\5\uffff\1\51\1\1\4\uffff"+
-			"\1\57\3\uffff\1\42\1\60\1\75\1\2\1\15\2\uffff\1\2\1\uffff\1\63\1\70\3"+
+			"\1\66\1\12\1\24\2\uffff\5\51\3\uffff\1\51\1\2\1\54\1\1\1\uffff\1\51\5"+
+			"\uffff\1\2\1\20\1\2\1\uffff\1\63\3\uffff\1\65\1\uffff\1\43\1\70\1\uffff"+
+			"\1\30\1\2\2\uffff\1\10\1\17\3\uffff\1\23\1\2\1\41\5\uffff\2\2\3\51\1"+
+			"\62\1\uffff\1\6\1\74\5\uffff\1\46\1\25\1\44\5\uffff\1\51\1\1\4\uffff"+
+			"\1\57\3\uffff\1\42\1\61\1\76\1\2\1\15\2\uffff\1\2\1\uffff\1\64\1\71\3"+
 			"\51\1\2\1\uffff\1\14\1\40\1\32\1\uffff\1\36\1\51\2\uffff\1\47\1\2\1\35"+
 			"\1\51\1\uffff\1\34\1\13\1\11\1\uffff\1\51\1\33\1\32\1\37\1\2\1\55\1\2"+
-			"\1\71\1\2\1\uffff\1\56\1\66\5\51\2\uffff\1\74\2\uffff\1\31\1\uffff\1"+
-			"\45\1\1",
+			"\1\72\1\2\1\uffff\1\56\1\67\5\51\2\uffff\1\60\1\75\2\uffff\1\31\1\uffff"+
+			"\1\45\1\1",
 			"\1\uffff",
 			"",
 			"",
@@ -35390,6 +35472,7 @@
 			"",
 			"",
 			"",
+			"",
 			""
 	};
 
@@ -35475,19 +35558,20 @@
 						else if ( (LA252_0==SOLIDUS) && (synpred36_Css3())) {s = 45;}
 						else if ( (LA252_0==TILDE) ) {s = 46;}
 						else if ( (LA252_0==NUMBER) && (synpred36_Css3())) {s = 47;}
-						else if ( (LA252_0==PERCENTAGE) && (synpred36_Css3())) {s = 48;}
-						else if ( (LA252_0==LENGTH) && (synpred36_Css3())) {s = 49;}
-						else if ( (LA252_0==EMS) && (synpred36_Css3())) {s = 50;}
-						else if ( (LA252_0==REM) && (synpred36_Css3())) {s = 51;}
-						else if ( (LA252_0==EXS) && (synpred36_Css3())) {s = 52;}
-						else if ( (LA252_0==ANGLE) && (synpred36_Css3())) {s = 53;}
-						else if ( (LA252_0==TIME) && (synpred36_Css3())) {s = 54;}
-						else if ( (LA252_0==FREQ) && (synpred36_Css3())) {s = 55;}
-						else if ( (LA252_0==RESOLUTION) && (synpred36_Css3())) {s = 56;}
-						else if ( (LA252_0==STRING) && (synpred36_Css3())) {s = 57;}
-						else if ( (LA252_0==LESS_JS_STRING) && (synpred36_Css3())) {s = 59;}
-						else if ( (LA252_0==URI) && (synpred36_Css3())) {s = 60;}
-						else if ( (LA252_0==PERCENTAGE_SYMBOL) && (synpred36_Css3())) {s = 61;}
+						else if ( (LA252_0==URANGE) && (synpred36_Css3())) {s = 48;}
+						else if ( (LA252_0==PERCENTAGE) && (synpred36_Css3())) {s = 49;}
+						else if ( (LA252_0==LENGTH) && (synpred36_Css3())) {s = 50;}
+						else if ( (LA252_0==EMS) && (synpred36_Css3())) {s = 51;}
+						else if ( (LA252_0==REM) && (synpred36_Css3())) {s = 52;}
+						else if ( (LA252_0==EXS) && (synpred36_Css3())) {s = 53;}
+						else if ( (LA252_0==ANGLE) && (synpred36_Css3())) {s = 54;}
+						else if ( (LA252_0==TIME) && (synpred36_Css3())) {s = 55;}
+						else if ( (LA252_0==FREQ) && (synpred36_Css3())) {s = 56;}
+						else if ( (LA252_0==RESOLUTION) && (synpred36_Css3())) {s = 57;}
+						else if ( (LA252_0==STRING) && (synpred36_Css3())) {s = 58;}
+						else if ( (LA252_0==LESS_JS_STRING) && (synpred36_Css3())) {s = 60;}
+						else if ( (LA252_0==URI) && (synpred36_Css3())) {s = 61;}
+						else if ( (LA252_0==PERCENTAGE_SYMBOL) && (synpred36_Css3())) {s = 62;}
 						 
 						input.seek(index252_0);
 						if ( s>=0 ) return s;
@@ -35499,7 +35583,7 @@
 						int index252_1 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_1);
@@ -35512,7 +35596,7 @@
 						int index252_6 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 61;}
+						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_6);
@@ -35525,7 +35609,7 @@
 						int index252_8 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_8);
@@ -35538,7 +35622,7 @@
 						int index252_9 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_9);
@@ -35551,7 +35635,7 @@
 						int index252_10 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_10);
@@ -35564,7 +35648,7 @@
 						int index252_11 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_11);
@@ -35577,7 +35661,7 @@
 						int index252_12 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_12);
@@ -35590,7 +35674,7 @@
 						int index252_13 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_13);
@@ -35603,7 +35687,7 @@
 						int index252_15 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 61;}
+						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_15);
@@ -35616,7 +35700,7 @@
 						int index252_16 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {s = 2;}
 						 
 						input.seek(index252_16);
@@ -35629,7 +35713,7 @@
 						int index252_19 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_19);
@@ -35642,7 +35726,7 @@
 						int index252_20 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred36_Css3())) ) {s = 61;}
+						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred36_Css3())) ) {s = 62;}
 						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
 						 
 						input.seek(index252_20);
@@ -35655,7 +35739,7 @@
 						int index252_21 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_21);
@@ -35668,7 +35752,7 @@
 						int index252_24 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_24);
@@ -35681,7 +35765,7 @@
 						int index252_25 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_25);
@@ -35694,7 +35778,7 @@
 						int index252_26 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_26);
@@ -35707,7 +35791,7 @@
 						int index252_27 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred36_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred36_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 62;}
 						else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_27);
@@ -35720,7 +35804,7 @@
 						int index252_28 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_28);
@@ -35733,7 +35817,7 @@
 						int index252_29 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_29);
@@ -35746,7 +35830,7 @@
 						int index252_30 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_30);
@@ -35759,7 +35843,7 @@
 						int index252_31 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_31);
@@ -35772,7 +35856,7 @@
 						int index252_32 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_32);
@@ -35785,7 +35869,7 @@
 						int index252_33 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;}
 						 
 						input.seek(index252_33);
@@ -35798,7 +35882,7 @@
 						int index252_34 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_34);
@@ -35811,7 +35895,7 @@
 						int index252_35 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_35);
@@ -35824,7 +35908,7 @@
 						int index252_36 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_36);
@@ -35837,7 +35921,7 @@
 						int index252_37 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_37);
@@ -35850,7 +35934,7 @@
 						int index252_38 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_38);
@@ -35863,7 +35947,7 @@
 						int index252_39 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_39);
@@ -35876,7 +35960,7 @@
 						int index252_41 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 61;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 62;}
 						else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 2;}
 						 
 						input.seek(index252_41);
@@ -35889,7 +35973,7 @@
 						int index252_44 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_44);
@@ -35902,7 +35986,7 @@
 						int index252_46 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred36_Css3()) ) {s = 61;}
+						if ( (synpred36_Css3()) ) {s = 62;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index252_46);
@@ -35924,24 +36008,24 @@
 	static final String DFA251_minS =
 		"\2\5\3\uffff";
 	static final String DFA251_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA251_acceptS =
 		"\2\uffff\1\2\1\3\1\1";
 	static final String DFA251_specialS =
 		"\5\uffff}>";
 	static final String[] DFA251_transitionS = {
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
-			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
+			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+
 			"\1\3\1\uffff\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+
 			"\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+
 			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff"+
-			"\1\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"\3\4\2\uffff\5\4\3\uffff\1\4\1\uffff\1\2\1\1\1\uffff\1\4\6\uffff\1\4"+
-			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff"+
+			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff"+
 			"\1\4\1\uffff\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+
 			"\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+
 			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff"+
-			"\1\4\2\uffff\7\4\2\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\1",
+			"\1\4\2\uffff\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1",
 			"",
 			"",
 			""
@@ -35992,14 +36076,14 @@
 	static final String DFA264_minS =
 		"\2\24\2\uffff";
 	static final String DFA264_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA264_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA264_specialS =
 		"\4\uffff}>";
 	static final String[] DFA264_transitionS = {
-			"\1\3\1\1\73\uffff\1\1\26\uffff\1\2\26\uffff\1\3\24\uffff\1\1",
-			"\1\3\1\1\73\uffff\1\1\26\uffff\1\2\26\uffff\1\3\24\uffff\1\1",
+			"\1\3\1\1\74\uffff\1\1\26\uffff\1\2\26\uffff\1\3\25\uffff\1\1",
+			"\1\3\1\1\74\uffff\1\1\26\uffff\1\2\26\uffff\1\3\25\uffff\1\1",
 			"",
 			""
 	};
@@ -36035,7 +36119,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 973:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*";
+			return "()* loopback of 974:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36043,34 +36127,35 @@
 	}
 
 	static final String DFA274_eotS =
-		"\44\uffff";
+		"\45\uffff";
 	static final String DFA274_eofS =
-		"\44\uffff";
+		"\45\uffff";
 	static final String DFA274_minS =
-		"\2\5\42\uffff";
+		"\2\5\43\uffff";
 	static final String DFA274_maxS =
-		"\2\u0094\42\uffff";
+		"\2\u0096\43\uffff";
 	static final String DFA274_acceptS =
-		"\2\uffff\1\2\41\1";
+		"\2\uffff\1\2\42\1";
 	static final String DFA274_specialS =
-		"\1\0\1\1\42\uffff}>";
+		"\1\1\1\0\43\uffff}>";
 	static final String[] DFA274_transitionS = {
-			"\1\15\1\30\1\34\2\uffff\5\30\3\uffff\1\30\1\uffff\1\2\1\1\1\uffff\1\30"+
-			"\6\uffff\1\21\2\uffff\1\12\3\uffff\1\14\1\uffff\1\30\1\17\1\uffff\1\25"+
-			"\3\uffff\1\27\1\33\2\uffff\1\5\1\uffff\1\30\7\uffff\3\30\1\11\1\uffff"+
-			"\1\32\1\24\5\uffff\1\30\1\4\1\30\5\uffff\1\30\1\1\4\uffff\1\7\3\uffff"+
-			"\1\30\1\10\1\35\1\uffff\1\4\4\uffff\1\13\1\20\3\30\1\2\1\uffff\3\30\1"+
-			"\uffff\2\30\2\uffff\1\30\1\uffff\2\30\1\uffff\3\30\1\uffff\1\30\1\31"+
-			"\2\30\1\2\1\3\1\uffff\1\22\2\uffff\1\23\1\16\5\30\2\uffff\1\26\2\uffff"+
-			"\1\6\1\uffff\1\30\1\1",
-			"\1\15\1\36\1\42\2\uffff\5\36\3\uffff\1\36\1\uffff\1\2\1\1\1\uffff\1"+
-			"\36\6\uffff\1\21\2\uffff\1\12\3\uffff\1\14\1\uffff\1\36\1\17\1\uffff"+
-			"\1\25\3\uffff\1\27\1\41\2\uffff\1\5\1\uffff\1\36\7\uffff\3\36\1\11\1"+
-			"\uffff\1\40\1\24\5\uffff\1\36\1\4\1\36\5\uffff\1\36\1\1\4\uffff\1\7\3"+
-			"\uffff\1\36\1\10\1\43\1\uffff\1\4\4\uffff\1\13\1\20\3\36\1\2\1\uffff"+
-			"\3\36\1\uffff\2\36\2\uffff\1\36\1\uffff\2\36\1\uffff\3\36\1\uffff\1\36"+
-			"\1\37\2\36\1\2\1\3\1\uffff\1\22\2\uffff\1\23\1\16\5\36\2\uffff\1\26\2"+
-			"\uffff\1\6\1\uffff\1\36\1\1",
+			"\1\16\1\31\1\35\2\uffff\5\31\3\uffff\1\31\1\uffff\1\2\1\1\1\uffff\1\31"+
+			"\6\uffff\1\22\2\uffff\1\13\3\uffff\1\15\1\uffff\1\31\1\20\1\uffff\1\26"+
+			"\3\uffff\1\30\1\34\3\uffff\1\5\1\uffff\1\31\7\uffff\3\31\1\12\1\uffff"+
+			"\1\33\1\25\5\uffff\1\31\1\4\1\31\5\uffff\1\31\1\1\4\uffff\1\7\3\uffff"+
+			"\1\31\1\11\1\36\1\uffff\1\4\4\uffff\1\14\1\21\3\31\1\2\1\uffff\3\31\1"+
+			"\uffff\2\31\2\uffff\1\31\1\uffff\2\31\1\uffff\3\31\1\uffff\1\31\1\32"+
+			"\2\31\1\2\1\3\1\uffff\1\23\2\uffff\1\24\1\17\5\31\2\uffff\1\10\1\27\2"+
+			"\uffff\1\6\1\uffff\1\31\1\1",
+			"\1\16\1\37\1\43\2\uffff\5\37\3\uffff\1\37\1\uffff\1\2\1\1\1\uffff\1"+
+			"\37\6\uffff\1\22\2\uffff\1\13\3\uffff\1\15\1\uffff\1\37\1\20\1\uffff"+
+			"\1\26\3\uffff\1\30\1\42\3\uffff\1\5\1\uffff\1\37\7\uffff\3\37\1\12\1"+
+			"\uffff\1\41\1\25\5\uffff\1\37\1\4\1\37\5\uffff\1\37\1\1\4\uffff\1\7\3"+
+			"\uffff\1\37\1\11\1\44\1\uffff\1\4\4\uffff\1\14\1\21\3\37\1\2\1\uffff"+
+			"\3\37\1\uffff\2\37\2\uffff\1\37\1\uffff\2\37\1\uffff\3\37\1\uffff\1\37"+
+			"\1\40\2\37\1\2\1\3\1\uffff\1\23\2\uffff\1\24\1\17\5\37\2\uffff\1\10\1"+
+			"\27\2\uffff\1\6\1\uffff\1\37\1\1",
+			"",
 			"",
 			"",
 			"",
@@ -36138,7 +36223,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 991:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*";
+			return "()* loopback of 992:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36149,6 +36234,47 @@
 			int _s = s;
 			switch ( s ) {
 					case 0 : 
+						int LA274_1 = input.LA(1);
+						 
+						int index274_1 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (LA274_1==COMMA||LA274_1==RPAREN||LA274_1==SEMI) ) {s = 2;}
+						else if ( (LA274_1==COMMENT||LA274_1==NL||LA274_1==WS) ) {s = 1;}
+						else if ( (LA274_1==MINUS||LA274_1==PLUS) && (synpred40_Css3())) {s = 4;}
+						else if ( (LA274_1==IDENT) && (synpred40_Css3())) {s = 5;}
+						else if ( (LA274_1==VARIABLE) && (synpred40_Css3())) {s = 6;}
+						else if ( (LA274_1==NUMBER) && (synpred40_Css3())) {s = 7;}
+						else if ( (LA274_1==URANGE) && (synpred40_Css3())) {s = 8;}
+						else if ( (LA274_1==PERCENTAGE) && (synpred40_Css3())) {s = 9;}
+						else if ( (LA274_1==LENGTH) && (synpred40_Css3())) {s = 10;}
+						else if ( (LA274_1==EMS) && (synpred40_Css3())) {s = 11;}
+						else if ( (LA274_1==REM) && (synpred40_Css3())) {s = 12;}
+						else if ( (LA274_1==EXS) && (synpred40_Css3())) {s = 13;}
+						else if ( (LA274_1==ANGLE) && (synpred40_Css3())) {s = 14;}
+						else if ( (LA274_1==TIME) && (synpred40_Css3())) {s = 15;}
+						else if ( (LA274_1==FREQ) && (synpred40_Css3())) {s = 16;}
+						else if ( (LA274_1==RESOLUTION) && (synpred40_Css3())) {s = 17;}
+						else if ( (LA274_1==DIMENSION) && (synpred40_Css3())) {s = 18;}
+						else if ( (LA274_1==STRING) && (synpred40_Css3())) {s = 19;}
+						else if ( (LA274_1==TILDE) && (synpred40_Css3())) {s = 20;}
+						else if ( (LA274_1==LESS_JS_STRING) && (synpred40_Css3())) {s = 21;}
+						else if ( (LA274_1==GEN) && (synpred40_Css3())) {s = 22;}
+						else if ( (LA274_1==URI) && (synpred40_Css3())) {s = 23;}
+						else if ( (LA274_1==HASH) && (synpred40_Css3())) {s = 24;}
+						else if ( (LA274_1==AT_IDENT||(LA274_1 >= BOTTOMCENTER_SYM && LA274_1 <= BOTTOMRIGHT_SYM)||LA274_1==CHARSET_SYM||LA274_1==COUNTER_STYLE_SYM||LA274_1==FONT_FACE_SYM||LA274_1==IMPORT_SYM||(LA274_1 >= LEFTBOTTOM_SYM && LA274_1 <= LEFTTOP_SYM)||LA274_1==MEDIA_SYM||LA274_1==MOZ_DOCUMENT_SYM||LA274_1==NAMESPACE_SYM||LA274_1==PAGE_SYM||(LA274_1 >= RIGHTBOTTOM_SYM && LA274_1 <= RIGHTTOP_SYM)||(LA274_1 >= SASS_AT_ROOT && LA274_1 <= SASS_DEBUG)||(LA274_1 >= SASS_EACH && LA274_1 <= SASS_ELSE)||LA274_1==SASS_EXTEND||(LA274_1 >= SASS_FOR && LA274_1 <= SASS_FUNCTION)||(LA274_1 >= SASS_IF && LA274_1 <= SASS_MIXIN)||LA274_1==SASS_RETURN||(LA274_1 >= SASS_WARN && LA274_1 <= SASS_WHILE)||(LA274_1 >= TOPCENTER_SYM && LA274_1 <= TOPRIGHT_SYM)||LA274_1==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 31;}
+						else if ( (LA274_1==SASS_VAR) && (synpred40_Css3())) {s = 32;}
+						else if ( (LA274_1==LESS_AND) && (synpred40_Css3())) {s = 33;}
+						else if ( (LA274_1==HASH_SYMBOL) && (synpred40_Css3())) {s = 34;}
+						else if ( (LA274_1==AT_SIGN) && (synpred40_Css3())) {s = 35;}
+						else if ( (LA274_1==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 36;}
+						else if ( (LA274_1==SOLIDUS) && (synpred40_Css3())) {s = 3;}
+						 
+						input.seek(index274_1);
+						if ( s>=0 ) return s;
+						break;
+
+					case 1 : 
 						int LA274_0 = input.LA(1);
 						 
 						int index274_0 = input.index();
@@ -36161,72 +36287,33 @@
 						else if ( (LA274_0==IDENT) && (synpred40_Css3())) {s = 5;}
 						else if ( (LA274_0==VARIABLE) && (synpred40_Css3())) {s = 6;}
 						else if ( (LA274_0==NUMBER) && (synpred40_Css3())) {s = 7;}
-						else if ( (LA274_0==PERCENTAGE) && (synpred40_Css3())) {s = 8;}
-						else if ( (LA274_0==LENGTH) && (synpred40_Css3())) {s = 9;}
-						else if ( (LA274_0==EMS) && (synpred40_Css3())) {s = 10;}
-						else if ( (LA274_0==REM) && (synpred40_Css3())) {s = 11;}
-						else if ( (LA274_0==EXS) && (synpred40_Css3())) {s = 12;}
-						else if ( (LA274_0==ANGLE) && (synpred40_Css3())) {s = 13;}
-						else if ( (LA274_0==TIME) && (synpred40_Css3())) {s = 14;}
-						else if ( (LA274_0==FREQ) && (synpred40_Css3())) {s = 15;}
-						else if ( (LA274_0==RESOLUTION) && (synpred40_Css3())) {s = 16;}
-						else if ( (LA274_0==DIMENSION) && (synpred40_Css3())) {s = 17;}
-						else if ( (LA274_0==STRING) && (synpred40_Css3())) {s = 18;}
-						else if ( (LA274_0==TILDE) && (synpred40_Css3())) {s = 19;}
-						else if ( (LA274_0==LESS_JS_STRING) && (synpred40_Css3())) {s = 20;}
-						else if ( (LA274_0==GEN) && (synpred40_Css3())) {s = 21;}
-						else if ( (LA274_0==URI) && (synpred40_Css3())) {s = 22;}
-						else if ( (LA274_0==HASH) && (synpred40_Css3())) {s = 23;}
-						else if ( (LA274_0==AT_IDENT||(LA274_0 >= BOTTOMCENTER_SYM && LA274_0 <= BOTTOMRIGHT_SYM)||LA274_0==CHARSET_SYM||LA274_0==COUNTER_STYLE_SYM||LA274_0==FONT_FACE_SYM||LA274_0==IMPORT_SYM||(LA274_0 >= LEFTBOTTOM_SYM && LA274_0 <= LEFTTOP_SYM)||LA274_0==MEDIA_SYM||LA274_0==MOZ_DOCUMENT_SYM||LA274_0==NAMESPACE_SYM||LA274_0==PAGE_SYM||(LA274_0 >= RIGHTBOTTOM_SYM && LA274_0 <= RIGHTTOP_SYM)||(LA274_0 >= SASS_AT_ROOT && LA274_0 <= SASS_DEBUG)||(LA274_0 >= SASS_EACH && LA274_0 <= SASS_ELSE)||LA274_0==SASS_EXTEND||(LA274_0 >= SASS_FOR && LA274_0 <= SASS_FUNCTION)||(LA274_0 >= SASS_IF && LA274_0 <= SASS_MIXIN)||LA274_0==SASS_RETURN||(LA274_0 >= SASS_WARN && LA274_0 <= SASS_WHILE)||(LA274_0 >= TOPCENTER_SYM && LA274_0 <= TOPRIGHT_SYM)||LA274_0==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 24;}
-						else if ( (LA274_0==SASS_VAR) && (synpred40_Css3())) {s = 25;}
-						else if ( (LA274_0==LESS_AND) && (synpred40_Css3())) {s = 26;}
-						else if ( (LA274_0==HASH_SYMBOL) && (synpred40_Css3())) {s = 27;}
-						else if ( (LA274_0==AT_SIGN) && (synpred40_Css3())) {s = 28;}
-						else if ( (LA274_0==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 29;}
+						else if ( (LA274_0==URANGE) && (synpred40_Css3())) {s = 8;}
+						else if ( (LA274_0==PERCENTAGE) && (synpred40_Css3())) {s = 9;}
+						else if ( (LA274_0==LENGTH) && (synpred40_Css3())) {s = 10;}
+						else if ( (LA274_0==EMS) && (synpred40_Css3())) {s = 11;}
+						else if ( (LA274_0==REM) && (synpred40_Css3())) {s = 12;}
+						else if ( (LA274_0==EXS) && (synpred40_Css3())) {s = 13;}
+						else if ( (LA274_0==ANGLE) && (synpred40_Css3())) {s = 14;}
+						else if ( (LA274_0==TIME) && (synpred40_Css3())) {s = 15;}
+						else if ( (LA274_0==FREQ) && (synpred40_Css3())) {s = 16;}
+						else if ( (LA274_0==RESOLUTION) && (synpred40_Css3())) {s = 17;}
+						else if ( (LA274_0==DIMENSION) && (synpred40_Css3())) {s = 18;}
+						else if ( (LA274_0==STRING) && (synpred40_Css3())) {s = 19;}
+						else if ( (LA274_0==TILDE) && (synpred40_Css3())) {s = 20;}
+						else if ( (LA274_0==LESS_JS_STRING) && (synpred40_Css3())) {s = 21;}
+						else if ( (LA274_0==GEN) && (synpred40_Css3())) {s = 22;}
+						else if ( (LA274_0==URI) && (synpred40_Css3())) {s = 23;}
+						else if ( (LA274_0==HASH) && (synpred40_Css3())) {s = 24;}
+						else if ( (LA274_0==AT_IDENT||(LA274_0 >= BOTTOMCENTER_SYM && LA274_0 <= BOTTOMRIGHT_SYM)||LA274_0==CHARSET_SYM||LA274_0==COUNTER_STYLE_SYM||LA274_0==FONT_FACE_SYM||LA274_0==IMPORT_SYM||(LA274_0 >= LEFTBOTTOM_SYM && LA274_0 <= LEFTTOP_SYM)||LA274_0==MEDIA_SYM||LA274_0==MOZ_DOCUMENT_SYM||LA274_0==NAMESPACE_SYM||LA274_0==PAGE_SYM||(LA274_0 >= RIGHTBOTTOM_SYM && LA274_0 <= RIGHTTOP_SYM)||(LA274_0 >= SASS_AT_ROOT && LA274_0 <= SASS_DEBUG)||(LA274_0 >= SASS_EACH && LA274_0 <= SASS_ELSE)||LA274_0==SASS_EXTEND||(LA274_0 >= SASS_FOR && LA274_0 <= SASS_FUNCTION)||(LA274_0 >= SASS_IF && LA274_0 <= SASS_MIXIN)||LA274_0==SASS_RETURN||(LA274_0 >= SASS_WARN && LA274_0 <= SASS_WHILE)||(LA274_0 >= TOPCENTER_SYM && LA274_0 <= TOPRIGHT_SYM)||LA274_0==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 25;}
+						else if ( (LA274_0==SASS_VAR) && (synpred40_Css3())) {s = 26;}
+						else if ( (LA274_0==LESS_AND) && (synpred40_Css3())) {s = 27;}
+						else if ( (LA274_0==HASH_SYMBOL) && (synpred40_Css3())) {s = 28;}
+						else if ( (LA274_0==AT_SIGN) && (synpred40_Css3())) {s = 29;}
+						else if ( (LA274_0==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 30;}
 						 
 						input.seek(index274_0);
 						if ( s>=0 ) return s;
 						break;
-
-					case 1 : 
-						int LA274_1 = input.LA(1);
-						 
-						int index274_1 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (LA274_1==COMMA||LA274_1==RPAREN||LA274_1==SEMI) ) {s = 2;}
-						else if ( (LA274_1==COMMENT||LA274_1==NL||LA274_1==WS) ) {s = 1;}
-						else if ( (LA274_1==MINUS||LA274_1==PLUS) && (synpred40_Css3())) {s = 4;}
-						else if ( (LA274_1==IDENT) && (synpred40_Css3())) {s = 5;}
-						else if ( (LA274_1==VARIABLE) && (synpred40_Css3())) {s = 6;}
-						else if ( (LA274_1==NUMBER) && (synpred40_Css3())) {s = 7;}
-						else if ( (LA274_1==PERCENTAGE) && (synpred40_Css3())) {s = 8;}
-						else if ( (LA274_1==LENGTH) && (synpred40_Css3())) {s = 9;}
-						else if ( (LA274_1==EMS) && (synpred40_Css3())) {s = 10;}
-						else if ( (LA274_1==REM) && (synpred40_Css3())) {s = 11;}
-						else if ( (LA274_1==EXS) && (synpred40_Css3())) {s = 12;}
-						else if ( (LA274_1==ANGLE) && (synpred40_Css3())) {s = 13;}
-						else if ( (LA274_1==TIME) && (synpred40_Css3())) {s = 14;}
-						else if ( (LA274_1==FREQ) && (synpred40_Css3())) {s = 15;}
-						else if ( (LA274_1==RESOLUTION) && (synpred40_Css3())) {s = 16;}
-						else if ( (LA274_1==DIMENSION) && (synpred40_Css3())) {s = 17;}
-						else if ( (LA274_1==STRING) && (synpred40_Css3())) {s = 18;}
-						else if ( (LA274_1==TILDE) && (synpred40_Css3())) {s = 19;}
-						else if ( (LA274_1==LESS_JS_STRING) && (synpred40_Css3())) {s = 20;}
-						else if ( (LA274_1==GEN) && (synpred40_Css3())) {s = 21;}
-						else if ( (LA274_1==URI) && (synpred40_Css3())) {s = 22;}
-						else if ( (LA274_1==HASH) && (synpred40_Css3())) {s = 23;}
-						else if ( (LA274_1==AT_IDENT||(LA274_1 >= BOTTOMCENTER_SYM && LA274_1 <= BOTTOMRIGHT_SYM)||LA274_1==CHARSET_SYM||LA274_1==COUNTER_STYLE_SYM||LA274_1==FONT_FACE_SYM||LA274_1==IMPORT_SYM||(LA274_1 >= LEFTBOTTOM_SYM && LA274_1 <= LEFTTOP_SYM)||LA274_1==MEDIA_SYM||LA274_1==MOZ_DOCUMENT_SYM||LA274_1==NAMESPACE_SYM||LA274_1==PAGE_SYM||(LA274_1 >= RIGHTBOTTOM_SYM && LA274_1 <= RIGHTTOP_SYM)||(LA274_1 >= SASS_AT_ROOT && LA274_1 <= SASS_DEBUG)||(LA274_1 >= SASS_EACH && LA274_1 <= SASS_ELSE)||LA274_1==SASS_EXTEND||(LA274_1 >= SASS_FOR && LA274_1 <= SASS_FUNCTION)||(LA274_1 >= SASS_IF && LA274_1 <= SASS_MIXIN)||LA274_1==SASS_RETURN||(LA274_1 >= SASS_WARN && LA274_1 <= SASS_WHILE)||(LA274_1 >= TOPCENTER_SYM && LA274_1 <= TOPRIGHT_SYM)||LA274_1==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 30;}
-						else if ( (LA274_1==SASS_VAR) && (synpred40_Css3())) {s = 31;}
-						else if ( (LA274_1==LESS_AND) && (synpred40_Css3())) {s = 32;}
-						else if ( (LA274_1==HASH_SYMBOL) && (synpred40_Css3())) {s = 33;}
-						else if ( (LA274_1==AT_SIGN) && (synpred40_Css3())) {s = 34;}
-						else if ( (LA274_1==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 35;}
-						else if ( (LA274_1==SOLIDUS) && (synpred40_Css3())) {s = 3;}
-						 
-						input.seek(index274_1);
-						if ( s>=0 ) return s;
-						break;
 			}
 			if (state.backtracking>0) {state.failed=true; return -1;}
 			NoViableAltException nvae =
@@ -36243,24 +36330,24 @@
 	static final String DFA273_minS =
 		"\2\5\3\uffff";
 	static final String DFA273_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA273_acceptS =
 		"\2\uffff\1\2\1\3\1\1";
 	static final String DFA273_specialS =
 		"\5\uffff}>";
 	static final String[] DFA273_transitionS = {
 			"\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\1\uffff\1\3\6\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff\1\3\1\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff\1\3\1\uffff"+
 			"\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+
 			"\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+
 			"\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff\1\3\2\uffff"+
-			"\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"\3\4\2\uffff\5\4\3\uffff\1\4\2\uffff\1\1\1\uffff\1\4\6\uffff\1\4\2\uffff"+
-			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff\1\4\1\uffff"+
+			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff\1\4\1\uffff"+
 			"\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1\4\uffff\1\4"+
 			"\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff\2\4\2\uffff"+
 			"\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff\1\4\2\uffff"+
-			"\7\4\2\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\1",
+			"\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1",
 			"",
 			"",
 			""
@@ -36297,7 +36384,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "991:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
+			return "992:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36311,22 +36398,22 @@
 	static final String DFA283_minS =
 		"\2\6\3\uffff";
 	static final String DFA283_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA283_acceptS =
 		"\2\uffff\1\3\1\1\1\2";
 	static final String DFA283_specialS =
 		"\5\uffff}>";
 	static final String[] DFA283_transitionS = {
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\3\2\2\2\uffff\4\2\1\4\3\2\1\uffff\5\2\1\uffff"+
-			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\7\uffff\1\2\1\1",
+			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2\1\1",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\3\2\2\1\uffff\5\2\1\4\3\2\1\uffff\5\2\1\uffff"+
-			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff\1\2\1\1",
+			"\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1",
 			"",
 			"",
 			""
@@ -36363,7 +36450,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1010:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*";
+			return "()* loopback of 1011:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36371,23 +36458,23 @@
 	}
 
 	static final String DFA288_eotS =
-		"\104\uffff";
+		"\105\uffff";
 	static final String DFA288_eofS =
-		"\1\2\103\uffff";
+		"\1\2\104\uffff";
 	static final String DFA288_minS =
-		"\1\5\1\0\54\uffff\1\0\25\uffff";
+		"\1\5\1\0\54\uffff\1\0\26\uffff";
 	static final String DFA288_maxS =
-		"\1\u0094\1\0\54\uffff\1\0\25\uffff";
+		"\1\u0096\1\0\54\uffff\1\0\26\uffff";
 	static final String DFA288_acceptS =
-		"\2\uffff\1\2\100\uffff\1\1";
+		"\2\uffff\1\2\101\uffff\1\1";
 	static final String DFA288_specialS =
-		"\1\uffff\1\0\54\uffff\1\1\25\uffff}>";
+		"\1\uffff\1\0\54\uffff\1\1\26\uffff}>";
 	static final String[] DFA288_transitionS = {
 			"\3\2\2\uffff\5\2\3\uffff\2\2\1\56\1\1\1\uffff\1\2\5\uffff\3\2\1\uffff"+
-			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\2\2\2\uffff\2\2\2\uffff\3\2\5\uffff"+
+			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\2\2\2\uffff\2\2\3\uffff\3\2\5\uffff"+
 			"\6\2\1\uffff\2\2\3\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\2\2"+
 			"\3\uffff\5\2\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\10\2\1\uffff"+
-			"\5\2\1\uffff\3\2\1\uffff\7\2\2\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\1",
+			"\5\2\1\uffff\3\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\1",
 			"\1\uffff",
 			"",
 			"",
@@ -36454,6 +36541,7 @@
 			"",
 			"",
 			"",
+			"",
 			""
 	};
 
@@ -36488,7 +36576,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1026:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*";
+			return "()* loopback of 1027:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36504,7 +36592,7 @@
 						int index288_1 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred42_Css3()) ) {s = 67;}
+						if ( (synpred42_Css3()) ) {s = 68;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index288_1);
@@ -36517,7 +36605,7 @@
 						int index288_46 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred42_Css3()) ) {s = 67;}
+						if ( (synpred42_Css3()) ) {s = 68;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index288_46);
@@ -36533,33 +36621,33 @@
 	}
 
 	static final String DFA294_eotS =
-		"\114\uffff";
+		"\115\uffff";
 	static final String DFA294_eofS =
-		"\1\2\113\uffff";
+		"\1\2\114\uffff";
 	static final String DFA294_minS =
 		"\1\5\1\0\1\uffff\1\0\1\uffff\12\0\2\uffff\1\0\1\uffff\6\0\1\uffff\1\0"+
-		"\4\uffff\14\0\1\uffff\1\0\1\uffff\2\0\3\uffff\20\0\2\uffff\1\0\6\uffff";
+		"\4\uffff\14\0\1\uffff\1\0\1\uffff\2\0\3\uffff\21\0\2\uffff\1\0\6\uffff";
 	static final String DFA294_maxS =
-		"\1\u0094\1\0\1\uffff\1\0\1\uffff\12\0\2\uffff\1\0\1\uffff\6\0\1\uffff"+
-		"\1\0\4\uffff\14\0\1\uffff\1\0\1\uffff\2\0\3\uffff\20\0\2\uffff\1\0\6\uffff";
+		"\1\u0096\1\0\1\uffff\1\0\1\uffff\12\0\2\uffff\1\0\1\uffff\6\0\1\uffff"+
+		"\1\0\4\uffff\14\0\1\uffff\1\0\1\uffff\2\0\3\uffff\21\0\2\uffff\1\0\6\uffff";
 	static final String DFA294_acceptS =
-		"\2\uffff\1\3\103\uffff\5\1\1\2";
+		"\2\uffff\1\3\104\uffff\5\1\1\2";
 	static final String DFA294_specialS =
 		"\1\0\1\1\1\uffff\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1"+
 		"\14\2\uffff\1\15\1\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\24\4"+
 		"\uffff\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\uffff"+
 		"\1\41\1\uffff\1\42\1\43\3\uffff\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53"+
-		"\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\2\uffff\1\64\6\uffff}>";
+		"\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\2\uffff\1\65\6\uffff}>";
 	static final String[] DFA294_transitionS = {
-			"\1\72\1\24\1\12\2\uffff\5\57\3\uffff\1\57\2\2\1\105\1\uffff\1\54\1\2"+
-			"\1\106\1\107\2\uffff\1\2\1\32\1\2\1\uffff\1\67\3\uffff\1\71\1\uffff\1"+
-			"\46\1\74\1\uffff\1\14\1\76\1\112\1\uffff\1\23\1\11\2\uffff\1\7\1\3\1"+
-			"\44\5\uffff\2\2\3\57\1\66\1\110\1\21\1\77\1\111\1\2\1\uffff\1\102\1\uffff"+
-			"\1\51\1\10\1\47\5\uffff\1\57\1\105\3\uffff\1\63\1\5\3\uffff\1\45\1\65"+
-			"\1\101\1\2\1\30\2\uffff\1\2\1\uffff\1\70\1\75\3\57\1\2\1\uffff\1\26\1"+
-			"\43\1\27\1\2\1\41\1\57\2\uffff\1\52\1\2\1\40\1\56\1\2\1\37\1\25\1\15"+
-			"\1\uffff\1\57\1\16\1\27\1\42\1\2\1\uffff\1\2\1\6\1\2\1\uffff\1\64\1\73"+
-			"\5\57\2\uffff\1\100\2\uffff\1\13\1\uffff\1\50\1\1",
+			"\1\73\1\24\1\12\2\uffff\5\57\3\uffff\1\57\2\2\1\106\1\uffff\1\54\1\2"+
+			"\1\107\1\110\2\uffff\1\2\1\32\1\2\1\uffff\1\70\3\uffff\1\72\1\uffff\1"+
+			"\46\1\75\1\uffff\1\14\1\77\1\113\1\uffff\1\23\1\11\3\uffff\1\7\1\3\1"+
+			"\44\5\uffff\2\2\3\57\1\67\1\111\1\21\1\100\1\112\1\2\1\uffff\1\103\1"+
+			"\uffff\1\51\1\10\1\47\5\uffff\1\57\1\106\3\uffff\1\63\1\5\3\uffff\1\45"+
+			"\1\66\1\102\1\2\1\30\2\uffff\1\2\1\uffff\1\71\1\76\3\57\1\2\1\uffff\1"+
+			"\26\1\43\1\27\1\2\1\41\1\57\2\uffff\1\52\1\2\1\40\1\56\1\2\1\37\1\25"+
+			"\1\15\1\uffff\1\57\1\16\1\27\1\42\1\2\1\uffff\1\2\1\6\1\2\1\uffff\1\64"+
+			"\1\74\5\57\2\uffff\1\65\1\101\2\uffff\1\13\1\uffff\1\50\1\1",
 			"\1\uffff",
 			"",
 			"\1\uffff",
@@ -36626,6 +36714,7 @@
 			"\1\uffff",
 			"\1\uffff",
 			"\1\uffff",
+			"\1\uffff",
 			"",
 			"",
 			"\1\uffff",
@@ -36668,7 +36757,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1043:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*";
+			return "()* loopback of 1044:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -36722,26 +36811,27 @@
 						else if ( ((LA294_0 >= BOTTOMCENTER_SYM && LA294_0 <= BOTTOMRIGHT_SYM)||LA294_0==CHARSET_SYM||(LA294_0 >= LEFTBOTTOM_SYM && LA294_0 <= LEFTTOP_SYM)||LA294_0==NAMESPACE_SYM||(LA294_0 >= RIGHTBOTTOM_SYM && LA294_0 <= RIGHTTOP_SYM)||LA294_0==SASS_ELSE||LA294_0==SASS_RETURN||(LA294_0 >= TOPCENTER_SYM && LA294_0 <= TOPRIGHT_SYM)) ) {s = 47;}
 						else if ( (LA294_0==NOT) ) {s = 51;}
 						else if ( (LA294_0==TILDE) ) {s = 52;}
-						else if ( (LA294_0==PERCENTAGE) ) {s = 53;}
-						else if ( (LA294_0==LENGTH) ) {s = 54;}
-						else if ( (LA294_0==EMS) ) {s = 55;}
-						else if ( (LA294_0==REM) ) {s = 56;}
-						else if ( (LA294_0==EXS) ) {s = 57;}
-						else if ( (LA294_0==ANGLE) ) {s = 58;}
-						else if ( (LA294_0==TIME) ) {s = 59;}
-						else if ( (LA294_0==FREQ) ) {s = 60;}
-						else if ( (LA294_0==RESOLUTION) ) {s = 61;}
-						else if ( (LA294_0==GREATER) ) {s = 62;}
-						else if ( (LA294_0==LESS_JS_STRING) ) {s = 63;}
-						else if ( (LA294_0==URI) ) {s = 64;}
-						else if ( (LA294_0==PERCENTAGE_SYMBOL) ) {s = 65;}
-						else if ( (LA294_0==LPAREN) ) {s = 66;}
-						else if ( (LA294_0==COMMENT||LA294_0==NL) ) {s = 69;}
-						else if ( (LA294_0==CP_EQ) && (synpred44_Css3())) {s = 70;}
-						else if ( (LA294_0==CP_NOT_EQ) && (synpred44_Css3())) {s = 71;}
-						else if ( (LA294_0==LESS) && (synpred44_Css3())) {s = 72;}
-						else if ( (LA294_0==LESS_OR_EQ) && (synpred44_Css3())) {s = 73;}
-						else if ( (LA294_0==GREATER_OR_EQ) && (synpred44_Css3())) {s = 74;}
+						else if ( (LA294_0==URANGE) ) {s = 53;}
+						else if ( (LA294_0==PERCENTAGE) ) {s = 54;}
+						else if ( (LA294_0==LENGTH) ) {s = 55;}
+						else if ( (LA294_0==EMS) ) {s = 56;}
+						else if ( (LA294_0==REM) ) {s = 57;}
+						else if ( (LA294_0==EXS) ) {s = 58;}
+						else if ( (LA294_0==ANGLE) ) {s = 59;}
+						else if ( (LA294_0==TIME) ) {s = 60;}
+						else if ( (LA294_0==FREQ) ) {s = 61;}
+						else if ( (LA294_0==RESOLUTION) ) {s = 62;}
+						else if ( (LA294_0==GREATER) ) {s = 63;}
+						else if ( (LA294_0==LESS_JS_STRING) ) {s = 64;}
+						else if ( (LA294_0==URI) ) {s = 65;}
+						else if ( (LA294_0==PERCENTAGE_SYMBOL) ) {s = 66;}
+						else if ( (LA294_0==LPAREN) ) {s = 67;}
+						else if ( (LA294_0==COMMENT||LA294_0==NL) ) {s = 70;}
+						else if ( (LA294_0==CP_EQ) && (synpred44_Css3())) {s = 71;}
+						else if ( (LA294_0==CP_NOT_EQ) && (synpred44_Css3())) {s = 72;}
+						else if ( (LA294_0==LESS) && (synpred44_Css3())) {s = 73;}
+						else if ( (LA294_0==LESS_OR_EQ) && (synpred44_Css3())) {s = 74;}
+						else if ( (LA294_0==GREATER_OR_EQ) && (synpred44_Css3())) {s = 75;}
 						 
 						input.seek(index294_0);
 						if ( s>=0 ) return s;
@@ -36753,8 +36843,8 @@
 						int index294_1 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred44_Css3()) ) {s = 74;}
-						else if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred44_Css3()) ) {s = 75;}
+						else if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_1);
@@ -36767,7 +36857,7 @@
 						int index294_3 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_3);
@@ -36780,7 +36870,7 @@
 						int index294_5 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_5);
@@ -36793,7 +36883,7 @@
 						int index294_6 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_6);
@@ -36806,8 +36896,8 @@
 						int index294_7 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((synpred44_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 74;}
-						else if ( (synpred45_Css3()) ) {s = 75;}
+						if ( ((synpred44_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 75;}
+						else if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_7);
@@ -36820,7 +36910,7 @@
 						int index294_8 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_8);
@@ -36833,7 +36923,7 @@
 						int index294_9 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 75;}
+						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_9);
@@ -36846,7 +36936,7 @@
 						int index294_10 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) {s = 75;}
+						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) {s = 76;}
 						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
 						 
 						input.seek(index294_10);
@@ -36859,7 +36949,7 @@
 						int index294_11 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_11);
@@ -36872,7 +36962,7 @@
 						int index294_12 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_12);
@@ -36885,7 +36975,7 @@
 						int index294_13 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_13);
@@ -36898,7 +36988,7 @@
 						int index294_14 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 76;}
 						else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {s = 2;}
 						 
 						input.seek(index294_14);
@@ -36911,7 +37001,7 @@
 						int index294_17 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 75;}
+						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_17);
@@ -36924,7 +37014,7 @@
 						int index294_19 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_19);
@@ -36937,7 +37027,7 @@
 						int index294_20 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_20);
@@ -36950,7 +37040,7 @@
 						int index294_21 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_21);
@@ -36963,7 +37053,7 @@
 						int index294_22 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_22);
@@ -36976,7 +37066,7 @@
 						int index294_23 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_23);
@@ -36989,7 +37079,7 @@
 						int index294_24 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_24);
@@ -37002,7 +37092,7 @@
 						int index294_26 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_26);
@@ -37015,7 +37105,7 @@
 						int index294_31 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_31);
@@ -37028,7 +37118,7 @@
 						int index294_32 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_32);
@@ -37041,7 +37131,7 @@
 						int index294_33 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_33);
@@ -37054,7 +37144,7 @@
 						int index294_34 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_34);
@@ -37067,7 +37157,7 @@
 						int index294_35 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_35);
@@ -37080,7 +37170,7 @@
 						int index294_36 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()")))) ) {s = 2;}
 						 
 						input.seek(index294_36);
@@ -37093,7 +37183,7 @@
 						int index294_37 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_37);
@@ -37106,7 +37196,7 @@
 						int index294_38 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_38);
@@ -37119,7 +37209,7 @@
 						int index294_39 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_39);
@@ -37132,7 +37222,7 @@
 						int index294_40 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_40);
@@ -37145,7 +37235,7 @@
 						int index294_41 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_41);
@@ -37158,7 +37248,7 @@
 						int index294_42 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_42);
@@ -37171,7 +37261,7 @@
 						int index294_44 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_44);
@@ -37184,7 +37274,7 @@
 						int index294_46 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
 						 
 						input.seek(index294_46);
@@ -37197,7 +37287,7 @@
 						int index294_47 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 75;}
+						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 76;}
 						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
 						 
 						input.seek(index294_47);
@@ -37210,7 +37300,7 @@
 						int index294_51 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_51);
@@ -37223,7 +37313,7 @@
 						int index294_52 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_52);
@@ -37236,7 +37326,7 @@
 						int index294_53 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_53);
@@ -37249,7 +37339,7 @@
 						int index294_54 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_54);
@@ -37262,7 +37352,7 @@
 						int index294_55 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_55);
@@ -37275,7 +37365,7 @@
 						int index294_56 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_56);
@@ -37288,7 +37378,7 @@
 						int index294_57 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_57);
@@ -37301,7 +37391,7 @@
 						int index294_58 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_58);
@@ -37314,7 +37404,7 @@
 						int index294_59 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_59);
@@ -37327,7 +37417,7 @@
 						int index294_60 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_60);
@@ -37340,7 +37430,7 @@
 						int index294_61 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_61);
@@ -37353,7 +37443,7 @@
 						int index294_62 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred44_Css3()) ) {s = 74;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_62);
@@ -37366,7 +37456,7 @@
 						int index294_63 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred44_Css3()) ) {s = 75;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_63);
@@ -37379,7 +37469,7 @@
 						int index294_64 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_64);
@@ -37392,8 +37482,8 @@
 						int index294_65 = input.index();
 						input.rewind();
 						s = -1;
-						if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())) ) {s = 75;}
-						else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;}
+						if ( (synpred45_Css3()) ) {s = 76;}
+						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index294_65);
 						if ( s>=0 ) return s;
@@ -37405,24 +37495,37 @@
 						int index294_66 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred45_Css3()) ) {s = 75;}
-						else if ( (true) ) {s = 2;}
+						if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())) ) {s = 76;}
+						else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;}
 						 
 						input.seek(index294_66);
 						if ( s>=0 ) return s;
 						break;
 
 					case 52 : 
-						int LA294_69 = input.LA(1);
+						int LA294_67 = input.LA(1);
 						 
-						int index294_69 = input.index();
+						int index294_67 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred44_Css3()) ) {s = 74;}
-						else if ( (synpred45_Css3()) ) {s = 75;}
+						if ( (synpred45_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
-						input.seek(index294_69);
+						input.seek(index294_67);
+						if ( s>=0 ) return s;
+						break;
+
+					case 53 : 
+						int LA294_70 = input.LA(1);
+						 
+						int index294_70 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (synpred44_Css3()) ) {s = 75;}
+						else if ( (synpred45_Css3()) ) {s = 76;}
+						else if ( (true) ) {s = 2;}
+						 
+						input.seek(index294_70);
 						if ( s>=0 ) return s;
 						break;
 			}
@@ -37435,23 +37538,23 @@
 	}
 
 	static final String DFA308_eotS =
-		"\114\uffff";
+		"\115\uffff";
 	static final String DFA308_eofS =
-		"\1\2\113\uffff";
+		"\1\2\114\uffff";
 	static final String DFA308_minS =
-		"\1\5\1\0\13\uffff\1\0\32\uffff\1\0\11\uffff\1\0\27\uffff\1\0\1\uffff";
+		"\1\5\1\0\13\uffff\1\0\33\uffff\1\0\11\uffff\1\0\27\uffff\1\0\1\uffff";
 	static final String DFA308_maxS =
-		"\1\u0094\1\0\13\uffff\1\0\32\uffff\1\0\11\uffff\1\0\27\uffff\1\0\1\uffff";
+		"\1\u0096\1\0\13\uffff\1\0\33\uffff\1\0\11\uffff\1\0\27\uffff\1\0\1\uffff";
 	static final String DFA308_acceptS =
-		"\2\uffff\1\2\110\uffff\1\1";
+		"\2\uffff\1\2\111\uffff\1\1";
 	static final String DFA308_specialS =
-		"\1\0\1\1\13\uffff\1\2\32\uffff\1\3\11\uffff\1\4\27\uffff\1\5\1\uffff}>";
+		"\1\0\1\1\13\uffff\1\2\33\uffff\1\3\11\uffff\1\4\27\uffff\1\5\1\uffff}>";
 	static final String[] DFA308_transitionS = {
-			"\3\2\2\uffff\5\2\3\uffff\3\2\1\112\1\uffff\4\2\2\uffff\3\2\1\uffff\1"+
-			"\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\2\uffff\3\2\5\uffff"+
-			"\13\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\112\3\uffff\2\2"+
-			"\3\uffff\4\2\1\50\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\10\2\1"+
-			"\uffff\5\2\1\113\1\62\2\2\1\uffff\7\2\2\uffff\1\2\2\uffff\1\2\1\uffff"+
+			"\3\2\2\uffff\5\2\3\uffff\3\2\1\113\1\uffff\4\2\2\uffff\3\2\1\uffff\1"+
+			"\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\3\uffff\3\2\5\uffff"+
+			"\13\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\113\3\uffff\2\2"+
+			"\3\uffff\4\2\1\51\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\10\2\1"+
+			"\uffff\5\2\1\114\1\63\2\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff"+
 			"\1\2\1\1",
 			"\1\uffff",
 			"",
@@ -37492,6 +37595,7 @@
 			"",
 			"",
 			"",
+			"",
 			"\1\uffff",
 			"",
 			"",
@@ -37561,7 +37665,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1085:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*";
+			return "()* loopback of 1086:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37578,12 +37682,12 @@
 						input.rewind();
 						s = -1;
 						if ( (LA308_0==WS) ) {s = 1;}
-						else if ( (LA308_0==EOF||(LA308_0 >= ANGLE && LA308_0 <= AT_SIGN)||(LA308_0 >= BOTTOMCENTER_SYM && LA308_0 <= BOTTOMRIGHT_SYM)||(LA308_0 >= CHARSET_SYM && LA308_0 <= COMMA)||(LA308_0 >= COUNTER_STYLE_SYM && LA308_0 <= CP_NOT_EQ)||(LA308_0 >= DCOLON && LA308_0 <= DOT)||LA308_0==EMS||LA308_0==EXS||(LA308_0 >= FONT_FACE_SYM && LA308_0 <= FREQ)||(LA308_0 >= GEN && LA308_0 <= GREATER_OR_EQ)||(LA308_0 >= HASH && LA308_0 <= HASH_SYMBOL)||(LA308_0 >= IDENT && LA308_0 <= IMPORT_SYM)||(LA308_0 >= LBRACE && LA308_0 <= LESS_REST)||LA308_0==LPAREN||LA308_0==MEDIA_SYM||LA308_0==MOZ_DOCUMENT_SYM||LA308_0==NAMESPACE_SYM||(LA308_0 >= NOT && LA308_0 <= NUMBER)||(LA308_0 >= PAGE_SYM && LA308_0 <= PIPE)||LA308_0==RBRACE||(LA308_0 >= REM && LA308_0 <= RPAREN)||(LA308_0 >= SASS_AT_ROOT && LA308_0 <= SASS_ELSE)||(LA308_0 >= SASS_EXTEND && LA308_0 <= SASS_MIXIN)||(LA308_0 >= SASS_RETURN && LA308_0 <= SEMI)||(LA308_0 >= STRING && LA308_0 <= SUPPORTS_SYM)||(LA308_0 >= TILDE && LA308_0 <= TOPRIGHT_SYM)||LA308_0==URI||LA308_0==VARIABLE||LA308_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
+						else if ( (LA308_0==EOF||(LA308_0 >= ANGLE && LA308_0 <= AT_SIGN)||(LA308_0 >= BOTTOMCENTER_SYM && LA308_0 <= BOTTOMRIGHT_SYM)||(LA308_0 >= CHARSET_SYM && LA308_0 <= COMMA)||(LA308_0 >= COUNTER_STYLE_SYM && LA308_0 <= CP_NOT_EQ)||(LA308_0 >= DCOLON && LA308_0 <= DOT)||LA308_0==EMS||LA308_0==EXS||(LA308_0 >= FONT_FACE_SYM && LA308_0 <= FREQ)||(LA308_0 >= GEN && LA308_0 <= GREATER_OR_EQ)||(LA308_0 >= HASH && LA308_0 <= HASH_SYMBOL)||(LA308_0 >= IDENT && LA308_0 <= IMPORT_SYM)||(LA308_0 >= LBRACE && LA308_0 <= LESS_REST)||LA308_0==LPAREN||LA308_0==MEDIA_SYM||LA308_0==MOZ_DOCUMENT_SYM||LA308_0==NAMESPACE_SYM||(LA308_0 >= NOT && LA308_0 <= NUMBER)||(LA308_0 >= PAGE_SYM && LA308_0 <= PIPE)||LA308_0==RBRACE||(LA308_0 >= REM && LA308_0 <= RPAREN)||(LA308_0 >= SASS_AT_ROOT && LA308_0 <= SASS_ELSE)||(LA308_0 >= SASS_EXTEND && LA308_0 <= SASS_MIXIN)||(LA308_0 >= SASS_RETURN && LA308_0 <= SEMI)||(LA308_0 >= STRING && LA308_0 <= SUPPORTS_SYM)||(LA308_0 >= TILDE && LA308_0 <= TOPRIGHT_SYM)||(LA308_0 >= URANGE && LA308_0 <= URI)||LA308_0==VARIABLE||LA308_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
 						else if ( (LA308_0==MINUS) ) {s = 13;}
-						else if ( (LA308_0==PLUS) ) {s = 40;}
-						else if ( (LA308_0==STAR) ) {s = 50;}
-						else if ( (LA308_0==COMMENT||LA308_0==NL) ) {s = 74;}
-						else if ( (LA308_0==SOLIDUS) && (synpred47_Css3())) {s = 75;}
+						else if ( (LA308_0==PLUS) ) {s = 41;}
+						else if ( (LA308_0==STAR) ) {s = 51;}
+						else if ( (LA308_0==COMMENT||LA308_0==NL) ) {s = 75;}
+						else if ( (LA308_0==SOLIDUS) && (synpred47_Css3())) {s = 76;}
 						 
 						input.seek(index308_0);
 						if ( s>=0 ) return s;
@@ -37595,7 +37699,7 @@
 						int index308_1 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred47_Css3()) ) {s = 75;}
+						if ( (synpred47_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index308_1);
@@ -37608,7 +37712,7 @@
 						int index308_13 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred47_Css3()) ) {s = 75;}
+						if ( (synpred47_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
 						input.seek(index308_13);
@@ -37616,41 +37720,41 @@
 						break;
 
 					case 3 : 
-						int LA308_40 = input.LA(1);
+						int LA308_41 = input.LA(1);
 						 
-						int index308_40 = input.index();
+						int index308_41 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred47_Css3()) ) {s = 75;}
+						if ( (synpred47_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
-						input.seek(index308_40);
+						input.seek(index308_41);
 						if ( s>=0 ) return s;
 						break;
 
 					case 4 : 
-						int LA308_50 = input.LA(1);
+						int LA308_51 = input.LA(1);
 						 
-						int index308_50 = input.index();
+						int index308_51 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred47_Css3()) ) {s = 75;}
+						if ( (synpred47_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
-						input.seek(index308_50);
+						input.seek(index308_51);
 						if ( s>=0 ) return s;
 						break;
 
 					case 5 : 
-						int LA308_74 = input.LA(1);
+						int LA308_75 = input.LA(1);
 						 
-						int index308_74 = input.index();
+						int index308_75 = input.index();
 						input.rewind();
 						s = -1;
-						if ( (synpred47_Css3()) ) {s = 75;}
+						if ( (synpred47_Css3()) ) {s = 76;}
 						else if ( (true) ) {s = 2;}
 						 
-						input.seek(index308_74);
+						input.seek(index308_75);
 						if ( s>=0 ) return s;
 						break;
 			}
@@ -37669,33 +37773,33 @@
 	static final String DFA313_minS =
 		"\2\5\3\uffff\1\5";
 	static final String DFA313_maxS =
-		"\1\u0093\1\u0094\3\uffff\1\u0094";
+		"\1\u0095\1\u0096\3\uffff\1\u0096";
 	static final String DFA313_acceptS =
 		"\2\uffff\1\1\1\2\1\3\1\uffff";
 	static final String DFA313_specialS =
 		"\6\uffff}>";
 	static final String[] DFA313_transitionS = {
 			"\3\2\2\uffff\5\2\3\uffff\1\2\4\uffff\1\2\6\uffff\1\2\2\uffff\1\2\3\uffff"+
-			"\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\3\1\2\7\uffff"+
+			"\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\3\1\2\7\uffff"+
 			"\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\1\1\2\5\uffff\1\2\5\uffff"+
 			"\1\2\3\uffff\3\2\1\uffff\1\1\4\uffff\5\2\2\uffff\3\2\1\uffff\2\2\2\uffff"+
 			"\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\2\uffff\7\2\2\uffff"+
-			"\1\2\2\uffff\1\2\1\uffff\1\2",
+			"\2\2\2\uffff\1\2\1\uffff\1\2",
 			"\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\1\uffff\1\2\6\uffff\1\2\2\uffff"+
-			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\uffff"+
+			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\uffff"+
 			"\1\2\7\uffff\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+
 			"\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+
 			"\2\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\2\uffff"+
-			"\7\2\2\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\5",
+			"\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5",
 			"",
 			"",
 			"",
 			"\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\1\uffff\1\2\6\uffff\1\2\2\uffff"+
-			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\uffff"+
+			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\uffff"+
 			"\1\2\7\uffff\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+
 			"\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+
 			"\2\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\2\uffff"+
-			"\7\2\2\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\5"
+			"\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5"
 	};
 
 	static final short[] DFA313_eot = DFA.unpackEncodedString(DFA313_eotS);
@@ -37729,7 +37833,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1090:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );";
+			return "1091:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37743,14 +37847,14 @@
 	static final String DFA320_minS =
 		"\2\25\2\uffff";
 	static final String DFA320_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA320_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA320_specialS =
 		"\4\uffff}>";
 	static final String[] DFA320_transitionS = {
-			"\1\1\34\uffff\1\2\7\uffff\1\3\26\uffff\1\1\102\uffff\1\1",
-			"\1\1\34\uffff\1\2\7\uffff\1\3\26\uffff\1\1\102\uffff\1\1",
+			"\1\1\35\uffff\1\2\7\uffff\1\3\26\uffff\1\1\103\uffff\1\1",
+			"\1\1\35\uffff\1\2\7\uffff\1\3\26\uffff\1\1\103\uffff\1\1",
 			"",
 			""
 	};
@@ -37786,7 +37890,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1106:107: ( ( ws )? less_mixin_guarded )?";
+			return "1107:107: ( ( ws )? less_mixin_guarded )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37800,14 +37904,14 @@
 	static final String DFA324_minS =
 		"\2\25\2\uffff";
 	static final String DFA324_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA324_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA324_specialS =
 		"\4\uffff}>";
 	static final String[] DFA324_transitionS = {
-			"\1\1\44\uffff\1\3\13\uffff\1\2\12\uffff\1\1\102\uffff\1\1",
-			"\1\1\44\uffff\1\3\13\uffff\1\2\12\uffff\1\1\102\uffff\1\1",
+			"\1\1\45\uffff\1\3\13\uffff\1\2\12\uffff\1\1\103\uffff\1\1",
+			"\1\1\45\uffff\1\3\13\uffff\1\2\12\uffff\1\1\103\uffff\1\1",
 			"",
 			""
 	};
@@ -37843,7 +37947,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1108:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?";
+			return "1109:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37857,23 +37961,23 @@
 	static final String DFA339_minS =
 		"\2\6\2\uffff";
 	static final String DFA339_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA339_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA339_specialS =
 		"\4\uffff}>";
 	static final String[] DFA339_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
 			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
 			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
 			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
-			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff"+
+			"\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+
 			"\1\3\1\1",
 			"",
 			""
@@ -37910,7 +38014,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1120:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?";
+			return "1121:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37924,22 +38028,22 @@
 	static final String DFA341_minS =
 		"\2\6\2\uffff";
 	static final String DFA341_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA341_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA341_specialS =
 		"\4\uffff}>";
 	static final String[] DFA341_transitionS = {
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
 			"\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff"+
 			"\4\3\1\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff\5\3\1\uffff"+
-			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
-			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
+			"\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
 			"\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff"+
 			"\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff\5\3\1\uffff"+
-			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\5\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff\1\3\1\1",
 			"",
 			""
 	};
@@ -37975,7 +38079,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1120:102: ( ( ws )? cp_mixin_block )?";
+			return "1121:102: ( ( ws )? cp_mixin_block )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -37989,44 +38093,44 @@
 	static final String DFA354_minS =
 		"\3\5\1\uffff\1\5\1\uffff\1\5";
 	static final String DFA354_maxS =
-		"\1\u0093\2\u0094\1\uffff\1\u0094\1\uffff\1\u0094";
+		"\1\u0095\2\u0096\1\uffff\1\u0096\1\uffff\1\u0096";
 	static final String DFA354_acceptS =
 		"\3\uffff\1\2\1\uffff\1\1\1\uffff";
 	static final String DFA354_specialS =
 		"\7\uffff}>";
 	static final String[] DFA354_transitionS = {
 			"\1\3\1\1\1\3\2\uffff\5\1\3\uffff\1\1\4\uffff\1\1\6\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\1\1\1\3\1\uffff\1\3\3\uffff\2\3\2\uffff\2\3"+
+			"\1\3\3\uffff\1\3\1\uffff\1\1\1\3\1\uffff\1\3\3\uffff\2\3\3\uffff\2\3"+
 			"\1\1\5\uffff\1\3\1\uffff\3\1\1\3\1\uffff\2\3\3\uffff\1\3\1\uffff\1\1"+
 			"\1\3\1\1\5\uffff\1\1\4\uffff\2\3\3\uffff\1\1\2\3\1\uffff\1\3\4\uffff"+
 			"\2\3\3\1\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2\1\1\uffff\3\1"+
-			"\1\uffff\1\1\1\2\2\1\3\uffff\1\3\2\uffff\2\3\5\1\2\uffff\1\3\2\uffff"+
+			"\1\uffff\1\1\1\2\2\1\3\uffff\1\3\2\uffff\2\3\5\1\2\uffff\2\3\2\uffff"+
 			"\1\3\1\uffff\1\1",
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\4\1\uffff\4\3\3\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\3\uffff\3\3\7\uffff"+
 			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\4\3\uffff\2\3\3\uffff\3\3"+
 			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
-			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff"+
+			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff"+
 			"\1\3\1\4",
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\6\1\uffff\4\3\3\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\3\uffff\3\3\7\uffff"+
 			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\6\3\uffff\2\3\3\uffff\3\3"+
 			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
-			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff"+
+			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff"+
 			"\1\3\1\6",
 			"",
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\4\1\uffff\4\3\3\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\3\uffff\3\3\7\uffff"+
 			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\4\3\uffff\2\3\3\uffff\3\3"+
 			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
-			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff"+
+			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff"+
 			"\1\3\1\4",
 			"",
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\6\1\uffff\4\3\3\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\3\uffff\3\3\7\uffff"+
 			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\6\3\uffff\2\3\3\uffff\3\3"+
 			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
-			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff"+
+			"\2\3\1\uffff\3\3\1\uffff\10\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff"+
 			"\1\3\1\6"
 	};
 
@@ -38061,7 +38165,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1146:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )";
+			return "1147:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38075,24 +38179,24 @@
 	static final String DFA357_minS =
 		"\1\24\1\6\1\uffff\1\6\1\uffff";
 	static final String DFA357_maxS =
-		"\1\177\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\u0080\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA357_acceptS =
 		"\2\uffff\1\2\1\uffff\1\1";
 	static final String DFA357_specialS =
 		"\5\uffff}>";
 	static final String[] DFA357_transitionS = {
-			"\1\1\3\uffff\1\2\53\uffff\1\2\43\uffff\1\2\26\uffff\1\1",
+			"\1\1\3\uffff\1\2\54\uffff\1\2\43\uffff\1\2\26\uffff\1\1",
 			"\1\4\3\uffff\5\4\3\uffff\1\4\2\uffff\1\3\1\uffff\1\4\1\2\16\uffff\1"+
-			"\4\12\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
+			"\4\13\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
 			"\1\4\5\uffff\1\4\1\3\10\uffff\1\4\12\uffff\3\4\1\2\1\uffff\3\4\1\uffff"+
-			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\10\uffff\5\4\7\uffff"+
-			"\1\4\1\3",
+			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\10\uffff\5\4\10"+
+			"\uffff\1\4\1\3",
 			"",
 			"\1\4\3\uffff\5\4\3\uffff\1\4\2\uffff\1\3\1\uffff\1\4\1\2\16\uffff\1"+
-			"\4\12\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
+			"\4\13\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
 			"\1\4\5\uffff\1\4\1\3\10\uffff\1\4\12\uffff\3\4\1\2\1\uffff\3\4\1\uffff"+
-			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\10\uffff\5\4\7\uffff"+
-			"\1\4\1\3",
+			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\10\uffff\5\4\10"+
+			"\uffff\1\4\1\3",
 			""
 	};
 
@@ -38127,7 +38231,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1161:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*";
+			return "()* loopback of 1162:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38141,14 +38245,14 @@
 	static final String DFA373_minS =
 		"\2\24\2\uffff";
 	static final String DFA373_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA373_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA373_specialS =
 		"\4\uffff}>";
 	static final String[] DFA373_transitionS = {
-			"\1\3\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
-			"\1\3\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
+			"\1\3\1\1\35\uffff\1\3\7\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
+			"\1\3\1\1\35\uffff\1\3\7\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
 			"",
 			""
 	};
@@ -38184,7 +38288,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1177:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*";
+			return "()* loopback of 1178:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38198,18 +38302,18 @@
 	static final String DFA400_minS =
 		"\1\25\1\6\2\uffff";
 	static final String DFA400_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA400_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA400_specialS =
 		"\4\uffff}>";
 	static final String[] DFA400_transitionS = {
-			"\1\1\73\uffff\1\1\17\uffff\1\2\6\uffff\1\2\26\uffff\1\2\24\uffff\1\1",
+			"\1\1\74\uffff\1\1\17\uffff\1\2\6\uffff\1\2\26\uffff\1\2\25\uffff\1\1",
 			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
-			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
+			"\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
 			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
 			"\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\3\5\2"+
-			"\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\5\uffff\1\2\1\uffff"+
+			"\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff"+
 			"\1\2\1\1",
 			"",
 			""
@@ -38246,7 +38350,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1253:43: ( ws SASS_OPTIONAL )?";
+			return "1254:43: ( ws SASS_OPTIONAL )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38260,30 +38364,30 @@
 	static final String DFA406_minS =
 		"\2\6\1\23\2\uffff\3\23";
 	static final String DFA406_maxS =
-		"\3\u0094\2\uffff\3\u0094";
+		"\3\u0096\2\uffff\3\u0096";
 	static final String DFA406_acceptS =
 		"\3\uffff\1\1\1\2\3\uffff";
 	static final String DFA406_specialS =
 		"\10\uffff}>";
 	static final String[] DFA406_transitionS = {
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
 			"\3\uffff\4\4\1\uffff\3\4\1\uffff\1\4\1\2\1\3\1\uffff\4\4\1\uffff\3\4"+
-			"\1\uffff\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff"+
+			"\1\uffff\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff"+
 			"\1\4\1\uffff\1\4\1\1",
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
 			"\3\uffff\4\4\1\uffff\3\4\1\uffff\1\4\1\5\1\3\5\4\1\uffff\3\4\1\uffff"+
-			"\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff\1\4\1\uffff"+
+			"\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\uffff"+
 			"\1\4\1\1",
-			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\102\uffff\1\6",
+			"\1\4\1\uffff\1\6\35\uffff\1\3\7\uffff\1\3\26\uffff\1\6\103\uffff\1\6",
 			"",
 			"",
-			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\102\uffff\1\7",
-			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\102\uffff\1\6",
-			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\102\uffff\1\7"
+			"\1\4\1\uffff\1\7\35\uffff\1\3\7\uffff\1\3\26\uffff\1\7\103\uffff\1\7",
+			"\1\4\1\uffff\1\6\35\uffff\1\3\7\uffff\1\3\26\uffff\1\6\103\uffff\1\6",
+			"\1\4\1\uffff\1\7\35\uffff\1\3\7\uffff\1\3\26\uffff\1\7\103\uffff\1\7"
 	};
 
 	static final short[] DFA406_eot = DFA.unpackEncodedString(DFA406_eotS);
@@ -38317,7 +38421,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1278:64: ( ( ws )? sass_else )?";
+			return "1279:64: ( ( ws )? sass_else )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38329,18 +38433,18 @@
 	static final String DFA414_eofS =
 		"\5\uffff";
 	static final String DFA414_minS =
-		"\1\157\1\25\1\uffff\1\25\1\uffff";
+		"\1\160\1\25\1\uffff\1\25\1\uffff";
 	static final String DFA414_maxS =
-		"\1\160\1\u0094\1\uffff\1\u0094\1\uffff";
+		"\1\161\1\u0096\1\uffff\1\u0096\1\uffff";
 	static final String DFA414_acceptS =
 		"\2\uffff\1\2\1\uffff\1\1";
 	static final String DFA414_specialS =
 		"\5\uffff}>";
 	static final String[] DFA414_transitionS = {
 			"\1\1\1\2",
-			"\1\3\34\uffff\1\2\7\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\3\35\uffff\1\2\7\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			"",
-			"\1\3\34\uffff\1\2\7\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\3\35\uffff\1\2\7\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			""
 	};
 
@@ -38375,7 +38479,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1281:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );";
+			return "1282:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38389,30 +38493,30 @@
 	static final String DFA413_minS =
 		"\2\6\1\23\2\uffff\3\23";
 	static final String DFA413_maxS =
-		"\3\u0094\2\uffff\3\u0094";
+		"\3\u0096\2\uffff\3\u0096";
 	static final String DFA413_acceptS =
 		"\3\uffff\1\1\1\2\3\uffff";
 	static final String DFA413_specialS =
 		"\10\uffff}>";
 	static final String[] DFA413_transitionS = {
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
 			"\3\uffff\4\4\1\uffff\3\4\1\uffff\1\4\1\2\1\3\1\uffff\4\4\1\uffff\3\4"+
-			"\1\uffff\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff"+
+			"\1\uffff\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff"+
 			"\1\4\1\uffff\1\4\1\1",
 			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
-			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
+			"\1\4\2\uffff\2\4\2\uffff\2\4\3\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
 			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
 			"\3\uffff\4\4\1\uffff\3\4\1\uffff\1\4\1\5\1\3\5\4\1\uffff\3\4\1\uffff"+
-			"\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\5\uffff\1\4\1\uffff"+
+			"\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\uffff"+
 			"\1\4\1\1",
-			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\102\uffff\1\6",
+			"\1\4\1\uffff\1\6\35\uffff\1\3\7\uffff\1\3\26\uffff\1\6\103\uffff\1\6",
 			"",
 			"",
-			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\102\uffff\1\7",
-			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\102\uffff\1\6",
-			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\102\uffff\1\7"
+			"\1\4\1\uffff\1\7\35\uffff\1\3\7\uffff\1\3\26\uffff\1\7\103\uffff\1\7",
+			"\1\4\1\uffff\1\6\35\uffff\1\3\7\uffff\1\3\26\uffff\1\6\103\uffff\1\6",
+			"\1\4\1\uffff\1\7\35\uffff\1\3\7\uffff\1\3\26\uffff\1\7\103\uffff\1\7"
 	};
 
 	static final short[] DFA413_eot = DFA.unpackEncodedString(DFA413_eotS);
@@ -38446,7 +38550,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1285:128: ( ( ws )? sass_else )?";
+			return "1286:128: ( ( ws )? sass_else )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38460,24 +38564,24 @@
 	static final String DFA417_minS =
 		"\2\5\2\uffff";
 	static final String DFA417_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA417_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA417_specialS =
 		"\4\uffff}>";
 	static final String[] DFA417_transitionS = {
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
-			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
+			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+
 			"\3\3\5\uffff\1\3\1\uffff\4\3\1\uffff\2\3\3\uffff\1\3\1\uffff\3\3\5\uffff"+
 			"\1\3\1\1\3\uffff\2\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3"+
 			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
-			"\1\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
-			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
+			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+
 			"\3\3\5\uffff\1\3\1\uffff\4\3\1\uffff\2\3\3\uffff\1\3\1\uffff\3\3\5\uffff"+
 			"\1\3\1\1\3\uffff\2\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3"+
 			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
-			"\1\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"",
 			""
 	};
@@ -38513,7 +38617,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "1300:102: ( ( ws )? COMMA )?";
+			return "1301:102: ( ( ws )? COMMA )?";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38527,14 +38631,14 @@
 	static final String DFA422_minS =
 		"\2\24\2\uffff";
 	static final String DFA422_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA422_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA422_specialS =
-		"\1\0\1\1\2\uffff}>";
+		"\1\1\1\0\2\uffff}>";
 	static final String[] DFA422_transitionS = {
-			"\1\2\1\1\73\uffff\1\1\102\uffff\1\1",
-			"\1\2\1\1\34\uffff\1\3\36\uffff\1\1\102\uffff\1\1",
+			"\1\2\1\1\74\uffff\1\1\103\uffff\1\1",
+			"\1\2\1\1\35\uffff\1\3\36\uffff\1\1\103\uffff\1\1",
 			"",
 			""
 	};
@@ -38570,7 +38674,7 @@
 		}
 		@Override
 		public String getDescription() {
-			return "()* loopback of 1305:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*";
+			return "()* loopback of 1306:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
@@ -38581,19 +38685,6 @@
 			int _s = s;
 			switch ( s ) {
 					case 0 : 
-						int LA422_0 = input.LA(1);
-						 
-						int index422_0 = input.index();
-						input.rewind();
-						s = -1;
-						if ( (LA422_0==COMMENT||LA422_0==NL||LA422_0==WS) ) {s = 1;}
-						else if ( (LA422_0==COMMA) && (synpred52_Css3())) {s = 2;}
-						 
-						input.seek(index422_0);
-						if ( s>=0 ) return s;
-						break;
-
-					case 1 : 
 						int LA422_1 = input.LA(1);
 						 
 						int index422_1 = input.index();
@@ -38606,6 +38697,19 @@
 						input.seek(index422_1);
 						if ( s>=0 ) return s;
 						break;
+
+					case 1 : 
+						int LA422_0 = input.LA(1);
+						 
+						int index422_0 = input.index();
+						input.rewind();
+						s = -1;
+						if ( (LA422_0==COMMENT||LA422_0==NL||LA422_0==WS) ) {s = 1;}
+						else if ( (LA422_0==COMMA) && (synpred52_Css3())) {s = 2;}
+						 
+						input.seek(index422_0);
+						if ( s>=0 ) return s;
+						break;
 			}
 			if (state.backtracking>0) {state.failed=true; return -1;}
 			NoViableAltException nvae =
@@ -38622,14 +38726,14 @@
 	static final String DFA442_minS =
 		"\2\25\2\uffff";
 	static final String DFA442_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA442_acceptS =
 		"\2\uffff\1\1\1\2";
 	static final String DFA442_specialS =
 		"\4\uffff}>";
 	static final String[] DFA442_transitionS = {
-			"\1\1\35\uffff\1\2\35\uffff\1\1\55\uffff\1\3\24\uffff\1\1",
-			"\1\1\35\uffff\1\2\35\uffff\1\1\55\uffff\1\3\24\uffff\1\1",
+			"\1\1\36\uffff\1\2\35\uffff\1\1\55\uffff\1\3\25\uffff\1\1",
+			"\1\1\36\uffff\1\2\35\uffff\1\1\55\uffff\1\3\25\uffff\1\1",
 			"",
 			""
 	};
@@ -38679,20 +38783,20 @@
 	static final String DFA449_minS =
 		"\1\7\1\25\1\uffff\1\7\2\uffff";
 	static final String DFA449_maxS =
-		"\1\u0085\1\u0094\1\uffff\1\u0094\2\uffff";
+		"\1\u0086\1\u0096\1\uffff\1\u0096\2\uffff";
 	static final String DFA449_acceptS =
 		"\2\uffff\1\3\1\uffff\1\1\1\2";
 	static final String DFA449_specialS =
 		"\6\uffff}>";
 	static final String[] DFA449_transitionS = {
-			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
+			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\3\uffff\1\2\10"+
 			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
 			"\1\2\15\uffff\1\2\3\uffff\1\2",
-			"\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			"",
-			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
+			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\3"+
 			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
-			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\16\uffff\1\3",
+			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\17\uffff\1\3",
 			"",
 			""
 	};
@@ -38742,16 +38846,16 @@
 	static final String DFA444_minS =
 		"\1\25\1\7\2\uffff";
 	static final String DFA444_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA444_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA444_specialS =
 		"\4\uffff}>";
 	static final String[] DFA444_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
-			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
+			"\1\1\45\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
+			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3"+
 			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
-			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\16\uffff\1\1",
+			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\17\uffff\1\1",
 			"",
 			""
 	};
@@ -38801,20 +38905,20 @@
 	static final String DFA468_minS =
 		"\1\7\1\25\1\uffff\1\7\2\uffff";
 	static final String DFA468_maxS =
-		"\1\u0085\1\u0094\1\uffff\1\u0094\2\uffff";
+		"\1\u0086\1\u0096\1\uffff\1\u0096\2\uffff";
 	static final String DFA468_acceptS =
 		"\2\uffff\1\3\1\uffff\1\1\1\2";
 	static final String DFA468_specialS =
 		"\6\uffff}>";
 	static final String[] DFA468_transitionS = {
-			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
+			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\3\uffff\1\2\10"+
 			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
 			"\1\2\15\uffff\1\2\3\uffff\1\2",
-			"\1\3\44\uffff\1\4\26\uffff\1\3\102\uffff\1\3",
+			"\1\3\45\uffff\1\4\26\uffff\1\3\103\uffff\1\3",
 			"",
-			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
+			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\3"+
 			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
-			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\16\uffff\1\3",
+			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\3\uffff\1\4\17\uffff\1\3",
 			"",
 			""
 	};
@@ -38864,16 +38968,16 @@
 	static final String DFA463_minS =
 		"\1\25\1\7\2\uffff";
 	static final String DFA463_maxS =
-		"\2\u0094\2\uffff";
+		"\2\u0096\2\uffff";
 	static final String DFA463_acceptS =
 		"\2\uffff\1\2\1\1";
 	static final String DFA463_specialS =
 		"\4\uffff}>";
 	static final String[] DFA463_transitionS = {
-			"\1\1\44\uffff\1\2\26\uffff\1\1\102\uffff\1\1",
-			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
+			"\1\1\45\uffff\1\2\26\uffff\1\1\103\uffff\1\1",
+			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3"+
 			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
-			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\16\uffff\1\1",
+			"\2\3\24\uffff\1\3\15\uffff\1\3\3\uffff\1\3\17\uffff\1\1",
 			"",
 			""
 	};
@@ -38923,24 +39027,24 @@
 	static final String DFA477_minS =
 		"\2\5\3\uffff";
 	static final String DFA477_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA477_acceptS =
 		"\2\uffff\1\2\1\3\1\1";
 	static final String DFA477_specialS =
 		"\5\uffff}>";
 	static final String[] DFA477_transitionS = {
 			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
-			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
+			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+
 			"\1\3\1\uffff\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+
 			"\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+
 			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff"+
-			"\1\3\2\uffff\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"\3\4\2\uffff\5\4\3\uffff\1\4\1\uffff\1\2\1\1\1\uffff\1\4\6\uffff\1\4"+
-			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff"+
+			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff"+
 			"\1\4\1\uffff\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+
 			"\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+
 			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff"+
-			"\1\4\2\uffff\7\4\2\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\1",
+			"\1\4\2\uffff\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1",
 			"",
 			"",
 			""
@@ -38991,24 +39095,24 @@
 	static final String DFA482_minS =
 		"\2\5\3\uffff";
 	static final String DFA482_maxS =
-		"\2\u0094\3\uffff";
+		"\2\u0096\3\uffff";
 	static final String DFA482_acceptS =
 		"\2\uffff\1\2\1\3\1\1";
 	static final String DFA482_specialS =
 		"\5\uffff}>";
 	static final String[] DFA482_transitionS = {
 			"\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\1\uffff\1\3\6\uffff\1\3\2\uffff"+
-			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff\1\3\1\uffff"+
+			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff\1\3\1\uffff"+
 			"\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+
 			"\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+
 			"\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff\1\3\2\uffff"+
-			"\7\3\2\uffff\1\3\2\uffff\1\3\1\uffff\1\3\1\1",
+			"\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1",
 			"\3\4\2\uffff\5\4\3\uffff\1\4\2\uffff\1\1\1\uffff\1\4\6\uffff\1\4\2\uffff"+
-			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff\1\4\1\uffff"+
+			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff\1\4\1\uffff"+
 			"\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1\4\uffff\1\4"+
 			"\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff\2\4\2\uffff"+
 			"\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff\1\4\2\uffff"+
-			"\7\4\2\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\1",
+			"\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1",
 			"",
 			"",
 			""
@@ -39045,87 +39149,87 @@
 		}
 		@Override
 		public String getDescription() {
-			return "991:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
+			return "992:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
 		}
 		public void error(NoViableAltException nvae) {
 			dbg.recognitionException(nvae);
 		}
 	}
 
-	public static final BitSet FOLLOW_ws_in_styleSheet99 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x0000000000080FAAL});
-	public static final BitSet FOLLOW_charSet_in_styleSheet109 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE064030702L,0x0000000000180FAAL});
-	public static final BitSet FOLLOW_ws_in_styleSheet111 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x0000000000080FAAL});
-	public static final BitSet FOLLOW_imports_in_styleSheet125 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x0000000000080FAAL});
-	public static final BitSet FOLLOW_namespaces_in_styleSheet136 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x0000000000080FAAL});
+	public static final BitSet FOLLOW_ws_in_styleSheet99 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C0C8020E04L,0x0000000000201F55L});
+	public static final BitSet FOLLOW_charSet_in_styleSheet109 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF779B9C0C8060E04L,0x0000000000601F55L});
+	public static final BitSet FOLLOW_ws_in_styleSheet111 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C0C8020E04L,0x0000000000201F55L});
+	public static final BitSet FOLLOW_imports_in_styleSheet125 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C0C8020E04L,0x0000000000201F55L});
+	public static final BitSet FOLLOW_namespaces_in_styleSheet136 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C0C8020E04L,0x0000000000201F55L});
 	public static final BitSet FOLLOW_body_in_styleSheet147 = new BitSet(new long[]{0x0000000000000000L});
 	public static final BitSet FOLLOW_EOF_in_styleSheet155 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_namespace_in_namespaces172 = new BitSet(new long[]{0x0000000000200002L,0x0000000000030000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_namespaces174 = new BitSet(new long[]{0x0000000000000002L,0x0000000000010000L});
-	public static final BitSet FOLLOW_NAMESPACE_SYM_in_namespace190 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_namespace192 = new BitSet(new long[]{0x0004000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_namespacePrefixName_in_namespace196 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_namespace198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_resourceIdentifier_in_namespace203 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_namespace205 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_namespace_in_namespaces172 = new BitSet(new long[]{0x0000000000200002L,0x0000000000060000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_namespaces174 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
+	public static final BitSet FOLLOW_NAMESPACE_SYM_in_namespace190 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_namespace192 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_namespacePrefixName_in_namespace196 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_namespace198 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_resourceIdentifier_in_namespace203 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_namespace205 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_namespace208 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_namespacePrefixName221 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CHARSET_SYM_in_charSet255 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100004L});
-	public static final BitSet FOLLOW_ws_in_charSet257 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-	public static final BitSet FOLLOW_charSetValue_in_charSet260 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_charSet262 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_CHARSET_SYM_in_charSet255 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400008L});
+	public static final BitSet FOLLOW_ws_in_charSet257 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_charSetValue_in_charSet260 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_charSet262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_charSet265 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_STRING_in_charSetValue279 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_importItem_in_imports293 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_imports295 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_imports298 = new BitSet(new long[]{0x0010000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_imports300 = new BitSet(new long[]{0x0010000000000002L});
-	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem326 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_importItem328 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_resourceIdentifier_in_importItem331 = new BitSet(new long[]{0x7014848000A47C42L,0x7BB4DCE004230540L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_importItem341 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_importItem_in_imports293 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_imports295 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_imports298 = new BitSet(new long[]{0x0020000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_imports300 = new BitSet(new long[]{0x0020000000000002L});
+	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem326 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_importItem328 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_resourceIdentifier_in_importItem331 = new BitSet(new long[]{0xE028848000A47C42L,0xF769B9C008460A80L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_importItem341 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_importItem344 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem377 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_importItem379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_resourceIdentifier_in_importItem382 = new BitSet(new long[]{0x7014848000B47C42L,0x7BB4DCE004230540L,0x0000000000180F80L});
+	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem377 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_importItem379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_resourceIdentifier_in_importItem382 = new BitSet(new long[]{0xE028848000B47C42L,0xF769B9C008460A80L,0x0000000000601F00L});
 	public static final BitSet FOLLOW_ws_in_importItem385 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_importItem388 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_importItem390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_resourceIdentifier_in_importItem393 = new BitSet(new long[]{0x7014848000B47C42L,0x7BB4DCE004230540L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_importItem405 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_COMMA_in_importItem388 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_importItem390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_resourceIdentifier_in_importItem393 = new BitSet(new long[]{0xE028848000B47C42L,0xF769B9C008460A80L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_importItem405 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_importItem408 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem432 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_importItem434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L,0x0000000000004004L});
-	public static final BitSet FOLLOW_LPAREN_in_importItem438 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_less_import_types_in_importItem440 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_importItem442 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000104004L});
-	public static final BitSet FOLLOW_ws_in_importItem444 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004004L});
-	public static final BitSet FOLLOW_resourceIdentifier_in_importItem449 = new BitSet(new long[]{0x7014848000A47C42L,0x7BB4DCE004230540L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_importItem459 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem432 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_importItem434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L,0x0000000000010008L});
+	public static final BitSet FOLLOW_LPAREN_in_importItem438 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_less_import_types_in_importItem440 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_importItem442 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000410008L});
+	public static final BitSet FOLLOW_ws_in_importItem444 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010008L});
+	public static final BitSet FOLLOW_resourceIdentifier_in_importItem449 = new BitSet(new long[]{0xE028848000A47C42L,0xF769B9C008460A80L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_importItem459 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_importItem462 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MEDIA_SYM_in_media480 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004230540L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_media482 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_mediaQueryList_in_media500 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_media508 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_media515 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_media517 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_media520 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_mediaBody_in_media530 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_MEDIA_SYM_in_media480 = new BitSet(new long[]{0xE028848000A47C40L,0xF769B9C008460A80L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_media482 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_mediaQueryList_in_media500 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_media508 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_media515 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF779B9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_media517 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_media520 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_mediaBody_in_media530 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_media537 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_mediaBodyItem_in_mediaBody571 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_mediaBody581 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_mediaBody584 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_mediaBody588 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_SEMI_in_mediaBody615 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_mediaBody617 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_sass_extend_in_mediaBody636 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaBody639 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_SEMI_in_mediaBody644 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000A0FAAL});
+	public static final BitSet FOLLOW_mediaBodyItem_in_mediaBody571 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_mediaBody581 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_mediaBody584 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_mediaBody588 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_SEMI_in_mediaBody615 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_mediaBody617 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_sass_extend_in_mediaBody636 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_mediaBody639 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_SEMI_in_mediaBody644 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000281F55L});
 	public static final BitSet FOLLOW_cp_mixin_declaration_in_mediaBodyItem718 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem751 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaBodyItem754 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem751 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaBodyItem754 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_IMPORTANT_SYM_in_mediaBodyItem757 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem774 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaBodyItem777 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem774 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaBodyItem777 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_IMPORTANT_SYM_in_mediaBodyItem780 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_rule_in_mediaBodyItem845 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_propertyDeclaration_in_mediaBodyItem857 = new BitSet(new long[]{0x0000000000000002L});
@@ -39139,51 +39243,51 @@
 	public static final BitSet FOLLOW_vendorAtRule_in_mediaBodyItem929 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_media_in_mediaBodyItem942 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_supportsAtRule_in_mediaBodyItem950 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList964 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList964 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_mediaQueryList976 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_mediaQueryList979 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004230540L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_mediaQueryList981 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList984 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_mediaQueryOperator_in_mediaQuery1003 = new BitSet(new long[]{0x0004840000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaQuery1005 = new BitSet(new long[]{0x0004840000000000L});
-	public static final BitSet FOLLOW_mediaType_in_mediaQuery1012 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaQuery1023 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_key_and_in_mediaQuery1026 = new BitSet(new long[]{0x0000800000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaQuery1028 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1031 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1042 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaQuery1053 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_key_and_in_mediaQuery1056 = new BitSet(new long[]{0x0000800000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaQuery1058 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1061 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_mediaQueryList979 = new BitSet(new long[]{0xE028848000A47C40L,0xF769B9C008460A80L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_mediaQueryList981 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList984 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_mediaQueryOperator_in_mediaQuery1003 = new BitSet(new long[]{0x0008840000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaQuery1005 = new BitSet(new long[]{0x0008840000000000L});
+	public static final BitSet FOLLOW_mediaType_in_mediaQuery1012 = new BitSet(new long[]{0x0008000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaQuery1023 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_key_and_in_mediaQuery1026 = new BitSet(new long[]{0x0000800000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaQuery1028 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1031 = new BitSet(new long[]{0x0008000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1042 = new BitSet(new long[]{0x0008000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaQuery1053 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_key_and_in_mediaQuery1056 = new BitSet(new long[]{0x0000800000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaQuery1058 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1061 = new BitSet(new long[]{0x0008000000200002L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_cp_variable_in_mediaQuery1074 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_key_only_in_mediaQueryOperator1086 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_NOT_in_mediaQueryOperator1090 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_mediaType1102 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_GEN_in_mediaType1106 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaType1112 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LPAREN_in_mediaExpression1137 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004030500L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_mediaExpression1139 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_mediaFeature_in_mediaExpression1142 = new BitSet(new long[]{0x0000000000280000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_mediaFeatureValue_in_mediaExpression1144 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_mediaExpression1147 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_LPAREN_in_mediaExpression1137 = new BitSet(new long[]{0xE028848000A47C40L,0xF769B9C008060A00L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_mediaExpression1139 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_mediaFeature_in_mediaExpression1142 = new BitSet(new long[]{0x0000000000280000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_mediaFeatureValue_in_mediaExpression1144 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_mediaExpression1147 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
 	public static final BitSet FOLLOW_RPAREN_in_mediaExpression1150 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaExpression1167 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_ws_in_mediaFeatureValue1188 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_mediaFeatureValue1191 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_mediaFeatureValue1193 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
+	public static final BitSet FOLLOW_COLON_in_mediaFeatureValue1191 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_mediaFeatureValue1193 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
 	public static final BitSet FOLLOW_cp_expression_in_mediaFeatureValue1212 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_expression_in_mediaFeatureValue1232 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_mediaFeature1252 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_GEN_in_mediaFeature1256 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_variable_in_mediaFeature1264 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaFeature1268 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_bodyItem_in_body1302 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x0000000000180FAAL});
-	public static final BitSet FOLLOW_ws_in_body1312 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_body1315 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x0000000000180FAAL});
-	public static final BitSet FOLLOW_ws_in_body1319 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x0000000000080FAAL});
-	public static final BitSet FOLLOW_SEMI_in_body1346 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x0000000000180FAAL});
-	public static final BitSet FOLLOW_ws_in_body1348 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x0000000000080FAAL});
+	public static final BitSet FOLLOW_bodyItem_in_body1302 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000601F55L});
+	public static final BitSet FOLLOW_ws_in_body1312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_body1315 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000601F55L});
+	public static final BitSet FOLLOW_ws_in_body1319 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000201F55L});
+	public static final BitSet FOLLOW_SEMI_in_body1346 = new BitSet(new long[]{0xF028CC80E0AC7CC2L,0xF779B9C0C8060E04L,0x0000000000601F55L});
+	public static final BitSet FOLLOW_ws_in_body1348 = new BitSet(new long[]{0xF028CC80E08C7CC2L,0xF779B9C0C8020E04L,0x0000000000201F55L});
 	public static final BitSet FOLLOW_cp_mixin_declaration_in_bodyItem1428 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_bodyItem1461 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_bodyItem1480 = new BitSet(new long[]{0x0000000000000002L});
@@ -39195,38 +39299,38 @@
 	public static final BitSet FOLLOW_sass_debug_in_bodyItem1577 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_control_in_bodyItem1591 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_function_declaration_in_bodyItem1605 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SUPPORTS_SYM_in_supportsAtRule1625 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsAtRule1627 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200040L});
-	public static final BitSet FOLLOW_supportsCondition_in_supportsAtRule1630 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsAtRule1632 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_supportsAtRule1635 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_supportsAtRule1637 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_supportsAtRule1640 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_mediaBody_in_supportsAtRule1642 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_SUPPORTS_SYM_in_supportsAtRule1625 = new BitSet(new long[]{0x0000000000200000L,0x0000000000440080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsAtRule1627 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400080L});
+	public static final BitSet FOLLOW_supportsCondition_in_supportsAtRule1630 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsAtRule1632 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_supportsAtRule1635 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF779B9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_supportsAtRule1637 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_supportsAtRule1640 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_mediaBody_in_supportsAtRule1642 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_supportsAtRule1645 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NOT_in_supportsCondition1658 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsCondition1660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_NOT_in_supportsCondition1658 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsCondition1660 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
 	public static final BitSet FOLLOW_supportsInParens_in_supportsCondition1662 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_supportsInParens_in_supportsCondition1667 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsCondition1670 = new BitSet(new long[]{0x0004000000000000L});
+	public static final BitSet FOLLOW_supportsInParens_in_supportsCondition1667 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsCondition1670 = new BitSet(new long[]{0x0008000000000000L});
 	public static final BitSet FOLLOW_supportsWithOperator_in_supportsCondition1672 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_supportsConjunction_in_supportsWithOperator1700 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsWithOperator1703 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_supportsConjunction_in_supportsWithOperator1705 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_supportsDisjunction_in_supportsWithOperator1719 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsWithOperator1722 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_supportsDisjunction_in_supportsWithOperator1724 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_key_and_in_supportsConjunction1752 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsConjunction1754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_supportsConjunction_in_supportsWithOperator1700 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsWithOperator1703 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_supportsConjunction_in_supportsWithOperator1705 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_supportsDisjunction_in_supportsWithOperator1719 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsWithOperator1722 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_supportsDisjunction_in_supportsWithOperator1724 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_key_and_in_supportsConjunction1752 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsConjunction1754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
 	public static final BitSet FOLLOW_supportsInParens_in_supportsConjunction1756 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_key_or_in_supportsDisjunction1783 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsDisjunction1785 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_key_or_in_supportsDisjunction1783 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsDisjunction1785 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
 	public static final BitSet FOLLOW_supportsInParens_in_supportsDisjunction1787 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LPAREN_in_supportsInParens1807 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0x7BBEDCE064230742L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_supportsInParens1809 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0x7BBEDCE064210742L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_supportsCondition_in_supportsInParens1813 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_supportsFeature_in_supportsInParens1817 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_supportsInParens1820 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_LPAREN_in_supportsInParens1807 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C0C8460E84L,0x0000000000681F54L});
+	public static final BitSet FOLLOW_ws_in_supportsInParens1809 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C0C8420E84L,0x0000000000281F54L});
+	public static final BitSet FOLLOW_supportsCondition_in_supportsInParens1813 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_supportsFeature_in_supportsInParens1817 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_supportsInParens1820 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
 	public static final BitSet FOLLOW_RPAREN_in_supportsInParens1823 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_supportsDecl_in_supportsFeature1836 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_declaration_in_supportsDecl1849 = new BitSet(new long[]{0x0000000000000002L});
@@ -39243,93 +39347,93 @@
 	public static final BitSet FOLLOW_STRING_in_atRuleId1942 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_variable_in_atRuleId1950 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_atRuleId1954 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_AT_IDENT_in_generic_at_rule1970 = new BitSet(new long[]{0x7414808000A47C40L,0x7BB4DCE004030500L,0x0000000000180F84L});
-	public static final BitSet FOLLOW_ws_in_generic_at_rule1972 = new BitSet(new long[]{0x7414808000847C40L,0x7BB4DCE004010500L,0x0000000000080F84L});
-	public static final BitSet FOLLOW_atRuleId_in_generic_at_rule1977 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_generic_at_rule1979 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_generic_at_rule1993 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_syncTo_RBRACE_in_generic_at_rule2004 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_AT_IDENT_in_generic_at_rule1970 = new BitSet(new long[]{0xE828808000A47C40L,0xF769B9C008060A00L,0x0000000000601F08L});
+	public static final BitSet FOLLOW_ws_in_generic_at_rule1972 = new BitSet(new long[]{0xE828808000847C40L,0xF769B9C008020A00L,0x0000000000201F08L});
+	public static final BitSet FOLLOW_atRuleId_in_generic_at_rule1977 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_generic_at_rule1979 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_generic_at_rule1993 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_syncTo_RBRACE_in_generic_at_rule2004 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_generic_at_rule2014 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document2025 = new BitSet(new long[]{0x0000000000200000L,0x0000000000023800L,0x0000000000104000L});
-	public static final BitSet FOLLOW_ws_in_moz_document2027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000003800L,0x0000000000004000L});
-	public static final BitSet FOLLOW_moz_document_function_in_moz_document2032 = new BitSet(new long[]{0x0400000000300000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_moz_document2034 = new BitSet(new long[]{0x0400000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_moz_document2040 = new BitSet(new long[]{0x0000000000200000L,0x0000000000023800L,0x0000000000104000L});
-	public static final BitSet FOLLOW_ws_in_moz_document2042 = new BitSet(new long[]{0x0000000000000000L,0x0000000000003800L,0x0000000000004000L});
-	public static final BitSet FOLLOW_moz_document_function_in_moz_document2045 = new BitSet(new long[]{0x0400000000300000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_moz_document2047 = new BitSet(new long[]{0x0400000000100000L});
-	public static final BitSet FOLLOW_LBRACE_in_moz_document2054 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE264030702L,0x0000000000180FAAL});
-	public static final BitSet FOLLOW_ws_in_moz_document2056 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x0000000000080FAAL});
-	public static final BitSet FOLLOW_body_in_moz_document2061 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document2025 = new BitSet(new long[]{0x0000000000200000L,0x0000000000047000L,0x0000000000410000L});
+	public static final BitSet FOLLOW_ws_in_moz_document2027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000007000L,0x0000000000010000L});
+	public static final BitSet FOLLOW_moz_document_function_in_moz_document2032 = new BitSet(new long[]{0x0800000000300000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_moz_document2034 = new BitSet(new long[]{0x0800000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_moz_document2040 = new BitSet(new long[]{0x0000000000200000L,0x0000000000047000L,0x0000000000410000L});
+	public static final BitSet FOLLOW_ws_in_moz_document2042 = new BitSet(new long[]{0x0000000000000000L,0x0000000000007000L,0x0000000000010000L});
+	public static final BitSet FOLLOW_moz_document_function_in_moz_document2045 = new BitSet(new long[]{0x0800000000300000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_moz_document2047 = new BitSet(new long[]{0x0800000000100000L});
+	public static final BitSet FOLLOW_LBRACE_in_moz_document2054 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF779B9C4C8060E04L,0x0000000000601F55L});
+	public static final BitSet FOLLOW_ws_in_moz_document2056 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF779B9C4C8020E04L,0x0000000000201F55L});
+	public static final BitSet FOLLOW_body_in_moz_document2061 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_moz_document2066 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes2103 = new BitSet(new long[]{0x7014808000A47C40L,0x7BB4DCE004030500L,0x0000000000180F84L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframes2105 = new BitSet(new long[]{0x7014808000847C40L,0x7BB4DCE004010500L,0x0000000000080F84L});
-	public static final BitSet FOLLOW_atRuleId_in_webkitKeyframes2108 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframes2110 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframes2114 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframes2116 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
-	public static final BitSet FOLLOW_webkitKeyframesBlock_in_webkitKeyframes2123 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframes2125 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
+	public static final BitSet FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes2103 = new BitSet(new long[]{0xE028808000A47C40L,0xF769B9C008060A00L,0x0000000000601F08L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframes2105 = new BitSet(new long[]{0xE028808000847C40L,0xF769B9C008020A00L,0x0000000000201F08L});
+	public static final BitSet FOLLOW_atRuleId_in_webkitKeyframes2108 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframes2110 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframes2114 = new BitSet(new long[]{0x0008000000200000L,0x0000100410040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframes2116 = new BitSet(new long[]{0x0008000000000000L,0x0000100410000000L});
+	public static final BitSet FOLLOW_webkitKeyframesBlock_in_webkitKeyframes2123 = new BitSet(new long[]{0x0008000000200000L,0x0000100410040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframes2125 = new BitSet(new long[]{0x0008000000000000L,0x0000100410000000L});
 	public static final BitSet FOLLOW_RBRACE_in_webkitKeyframes2132 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock2144 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock2146 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframesBlock2150 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock2153 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_webkitKeyframesBlock2156 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_webkitKeyframesBlock2160 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock2144 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock2146 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframesBlock2150 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock2153 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_webkitKeyframesBlock2156 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_webkitKeyframesBlock2160 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_webkitKeyframesBlock2164 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_content_in_webkitKeyframesBlock2181 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
+	public static final BitSet FOLLOW_sass_content_in_webkitKeyframesBlock2181 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_webkitKeyframesBlock2183 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2200 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2206 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2210 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2200 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2206 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2210 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_webkitKeyframeSelectors2216 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_webkitKeyframeSelectors2219 = new BitSet(new long[]{0x0004000000200000L,0x0000000008020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_webkitKeyframeSelectors2221 = new BitSet(new long[]{0x0004000000000000L,0x0000000008000000L});
-	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2228 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2234 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2238 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_PAGE_SYM_in_page2257 = new BitSet(new long[]{0x0404000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_page2259 = new BitSet(new long[]{0x0404000000080000L});
-	public static final BitSet FOLLOW_IDENT_in_page2264 = new BitSet(new long[]{0x0400000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_page2266 = new BitSet(new long[]{0x0400000000080000L});
-	public static final BitSet FOLLOW_pseudoPage_in_page2273 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_page2275 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_page2288 = new BitSet(new long[]{0x7014848000A47CC0L,0xFBB4DCE204030700L,0x00000000001A0F82L});
-	public static final BitSet FOLLOW_ws_in_page2290 = new BitSet(new long[]{0x7014848000847CC0L,0xFBB4DCE204010700L,0x00000000000A0F82L});
-	public static final BitSet FOLLOW_propertyDeclaration_in_page2333 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_margin_in_page2335 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_page2338 = new BitSet(new long[]{0x0000000000000000L,0x8000000200000000L});
-	public static final BitSet FOLLOW_SEMI_in_page2344 = new BitSet(new long[]{0x7014848000A47CC0L,0xFBB4DCE204030700L,0x00000000001A0F82L});
-	public static final BitSet FOLLOW_ws_in_page2346 = new BitSet(new long[]{0x7014848000847CC0L,0xFBB4DCE204010700L,0x00000000000A0F82L});
-	public static final BitSet FOLLOW_propertyDeclaration_in_page2351 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_margin_in_page2353 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_page2356 = new BitSet(new long[]{0x0000000000000000L,0x8000000200000000L});
+	public static final BitSet FOLLOW_COMMA_in_webkitKeyframeSelectors2219 = new BitSet(new long[]{0x0008000000200000L,0x0000000010040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_webkitKeyframeSelectors2221 = new BitSet(new long[]{0x0008000000000000L,0x0000000010000000L});
+	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2228 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2234 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2238 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_PAGE_SYM_in_page2257 = new BitSet(new long[]{0x0808000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_page2259 = new BitSet(new long[]{0x0808000000080000L});
+	public static final BitSet FOLLOW_IDENT_in_page2264 = new BitSet(new long[]{0x0800000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_page2266 = new BitSet(new long[]{0x0800000000080000L});
+	public static final BitSet FOLLOW_pseudoPage_in_page2273 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_page2275 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_page2288 = new BitSet(new long[]{0xE028848000A47CC0L,0xF769B9C408060E00L,0x0000000000681F05L});
+	public static final BitSet FOLLOW_ws_in_page2290 = new BitSet(new long[]{0xE028848000847CC0L,0xF769B9C408020E00L,0x0000000000281F05L});
+	public static final BitSet FOLLOW_propertyDeclaration_in_page2333 = new BitSet(new long[]{0x0000000000200000L,0x0000000400040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_margin_in_page2335 = new BitSet(new long[]{0x0000000000200000L,0x0000000400040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_page2338 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_page2344 = new BitSet(new long[]{0xE028848000A47CC0L,0xF769B9C408060E00L,0x0000000000681F05L});
+	public static final BitSet FOLLOW_ws_in_page2346 = new BitSet(new long[]{0xE028848000847CC0L,0xF769B9C408020E00L,0x0000000000281F05L});
+	public static final BitSet FOLLOW_propertyDeclaration_in_page2351 = new BitSet(new long[]{0x0000000000200000L,0x0000000400040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_margin_in_page2353 = new BitSet(new long[]{0x0000000000200000L,0x0000000400040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_page2356 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_RBRACE_in_page2371 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_COUNTER_STYLE_SYM_in_counterStyle2388 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_counterStyle2390 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_counterStyle2393 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_counterStyle2395 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_counterStyle2406 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_counterStyle2408 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToDeclarationsRule_in_counterStyle2411 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_counterStyle2415 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_COUNTER_STYLE_SYM_in_counterStyle2388 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_counterStyle2390 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_counterStyle2393 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_counterStyle2395 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_counterStyle2406 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_counterStyle2408 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToDeclarationsRule_in_counterStyle2411 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_counterStyle2415 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_counterStyle2426 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FONT_FACE_SYM_in_fontFace2443 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_fontFace2445 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_fontFace2456 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_fontFace2458 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToDeclarationsRule_in_fontFace2461 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_fontFace2465 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_FONT_FACE_SYM_in_fontFace2443 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_fontFace2445 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_fontFace2456 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_fontFace2458 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToDeclarationsRule_in_fontFace2461 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_fontFace2465 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_fontFace2476 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_margin_sym_in_margin2490 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_margin2492 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_margin2495 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_margin2497 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToDeclarationsRule_in_margin2500 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_margin2502 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_margin_sym_in_margin2490 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_margin2492 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_margin2495 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_margin2497 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToDeclarationsRule_in_margin2500 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_margin2502 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_margin2505 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_COLON_in_pseudoPage2714 = new BitSet(new long[]{0x0004000000000000L});
+	public static final BitSet FOLLOW_COLON_in_pseudoPage2714 = new BitSet(new long[]{0x0008000000000000L});
 	public static final BitSet FOLLOW_IDENT_in_pseudoPage2716 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_property2800 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_property2810 = new BitSet(new long[]{0x0000000000000002L});
@@ -39338,72 +39442,72 @@
 	public static final BitSet FOLLOW_GEN_in_property2834 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_variable_in_property2844 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_map_name_in_sass_map2871 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_sass_map2873 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_map2875 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_sass_map2878 = new BitSet(new long[]{0x7014848000B47CC0L,0x7BB4DDE004430700L,0x00000000001A0F84L});
-	public static final BitSet FOLLOW_ws_in_sass_map2880 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_syncToFollow_in_sass_map2883 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_sass_map_pairs_in_sass_map2902 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_sass_map2909 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_map2913 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-	public static final BitSet FOLLOW_SASS_DEFAULT_in_sass_map2916 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_map2922 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
-	public static final BitSet FOLLOW_SASS_GLOBAL_in_sass_map2925 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_COLON_in_sass_map2873 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_map2875 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_sass_map2878 = new BitSet(new long[]{0xE028848000B47CC0L,0xF769BBC008860E00L,0x0000000000681F08L});
+	public static final BitSet FOLLOW_ws_in_sass_map2880 = new BitSet(new long[]{0xE028848000947CC0L,0xF769BBC008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_syncToFollow_in_sass_map2883 = new BitSet(new long[]{0xE028848000947CC0L,0xF769BBC008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_sass_map_pairs_in_sass_map2902 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_sass_map2909 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_map2913 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
+	public static final BitSet FOLLOW_SASS_DEFAULT_in_sass_map2916 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_map2922 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
+	public static final BitSet FOLLOW_SASS_GLOBAL_in_sass_map2925 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_cp_variable_in_sass_map_name2949 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_map_pair_in_sass_map_pairs2983 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000001A0F84L});
+	public static final BitSet FOLLOW_sass_map_pair_in_sass_map_pairs2983 = new BitSet(new long[]{0xE028848000B47CC2L,0xF769B9C008860E00L,0x0000000000681F08L});
 	public static final BitSet FOLLOW_ws_in_sass_map_pairs2993 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs2996 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000001A0F84L});
-	public static final BitSet FOLLOW_ws_in_sass_map_pairs3000 = new BitSet(new long[]{0x7014848000947CC2L,0x7BB4DCE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs3027 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000001A0F84L});
-	public static final BitSet FOLLOW_ws_in_sass_map_pairs3029 = new BitSet(new long[]{0x7014848000947CC2L,0x7BB4DCE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_NUMBER_in_sass_map_pair3065 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_STRING_in_sass_map_pair3068 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100004L});
-	public static final BitSet FOLLOW_ws_in_sass_map_pair3071 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-	public static final BitSet FOLLOW_STRING_in_sass_map_pair3074 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100004L});
-	public static final BitSet FOLLOW_function_in_sass_map_pair3084 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_property_in_sass_map_pair3087 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_sass_map_in_sass_map_pair3089 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs2996 = new BitSet(new long[]{0xE028848000B47CC2L,0xF769B9C008860E00L,0x0000000000681F08L});
+	public static final BitSet FOLLOW_ws_in_sass_map_pairs3000 = new BitSet(new long[]{0xE028848000947CC2L,0xF769B9C008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs3027 = new BitSet(new long[]{0xE028848000B47CC2L,0xF769B9C008860E00L,0x0000000000681F08L});
+	public static final BitSet FOLLOW_ws_in_sass_map_pairs3029 = new BitSet(new long[]{0xE028848000947CC2L,0xF769B9C008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_NUMBER_in_sass_map_pair3065 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_STRING_in_sass_map_pair3068 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400008L});
+	public static final BitSet FOLLOW_ws_in_sass_map_pair3071 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_STRING_in_sass_map_pair3074 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400008L});
+	public static final BitSet FOLLOW_function_in_sass_map_pair3084 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_property_in_sass_map_pair3087 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_sass_map_in_sass_map_pair3089 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_sass_map_pair3092 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_sass_map_pair3095 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_map_pair3097 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_sass_map_pair3100 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_map_pair3103 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_COLON_in_sass_map_pair3095 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_map_pair3097 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_sass_map_pair3100 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_map_pair3103 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_prio_in_sass_map_pair3106 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule3148 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3151 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000022L});
-	public static final BitSet FOLLOW_selectorsGroup_in_rule3153 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule3174 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3176 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_rule3178 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3180 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_rule3185 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule3148 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3151 = new BitSet(new long[]{0x1008CC00E0080080L,0x00100000C0000404L,0x0000000000000044L});
+	public static final BitSet FOLLOW_selectorsGroup_in_rule3153 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule3174 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3176 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_rule3178 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3180 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_rule3185 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_rule3189 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_rule3192 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3194 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_rule3197 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3199 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_rule3202 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_selectorsGroup_in_rule3220 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_rule3232 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_rule3239 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_rule3241 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_rule3244 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_rule3254 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+	public static final BitSet FOLLOW_COLON_in_rule3192 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3194 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_rule3197 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3199 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_rule3202 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_selectorsGroup_in_rule3220 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_rule3232 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_rule3239 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_rule3241 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_rule3244 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_rule3254 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
 	public static final BitSet FOLLOW_RBRACE_in_rule3261 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SEMI_in_declarations3295 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE064030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_declarations3297 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declaration_in_declarations3303 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declarations3308 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_declarations3312 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE064030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_declarations3314 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_ws_in_declarations3320 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0x7BBEDCE064010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declaration_in_declarations3323 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declarations3329 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_declarations3333 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declarations3335 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
+	public static final BitSet FOLLOW_SEMI_in_declarations3295 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C0C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_declarations3297 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C0C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declaration_in_declarations3303 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_declarations3308 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_declarations3312 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C0C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_declarations3314 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C0C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_ws_in_declarations3320 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C0C8020E04L,0x0000000000281F54L});
+	public static final BitSet FOLLOW_declaration_in_declarations3323 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_declarations3329 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_declarations3333 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_declarations3335 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_ws_in_declarations3341 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SEMI_in_declarations3353 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declarations3355 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
+	public static final BitSet FOLLOW_SEMI_in_declarations3353 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_declarations3355 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_cp_variable_declaration_in_declaration3384 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_map_in_declaration3397 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_nested_properties_in_declaration3409 = new BitSet(new long[]{0x0000000000000002L});
@@ -39411,11 +39515,11 @@
 	public static final BitSet FOLLOW_propertyDeclaration_in_declaration3484 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_propertyDeclaration_in_declaration3523 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_declaration_in_declaration3535 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3548 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declaration3551 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3548 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_declaration3551 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_IMPORTANT_SYM_in_declaration3554 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3571 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_declaration3574 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3571 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_declaration3574 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_IMPORTANT_SYM_in_declaration3577 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_at_rule_in_declaration3593 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_control_in_declaration3603 = new BitSet(new long[]{0x0000000000000002L});
@@ -39426,34 +39530,34 @@
 	public static final BitSet FOLLOW_sass_error_in_declaration3653 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_importItem_in_declaration3663 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_GEN_in_declaration3671 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_selector_in_selectorsGroup3705 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_selector_in_selectorsGroup3705 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_selectorsGroup3708 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_selectorsGroup3711 = new BitSet(new long[]{0x0804CC00E0280080L,0x0008000060020202L,0x0000000000100022L});
-	public static final BitSet FOLLOW_ws_in_selectorsGroup3713 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000022L});
-	public static final BitSet FOLLOW_selector_in_selectorsGroup3716 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_selectorsGroup3711 = new BitSet(new long[]{0x1008CC00E0280080L,0x00100000C0040404L,0x0000000000400044L});
+	public static final BitSet FOLLOW_ws_in_selectorsGroup3713 = new BitSet(new long[]{0x1008CC00E0080080L,0x00100000C0000404L,0x0000000000000044L});
+	public static final BitSet FOLLOW_selector_in_selectorsGroup3716 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_COMMA_in_selectorsGroup3723 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_combinator_in_selector3744 = new BitSet(new long[]{0x0804C400E0280080L,0x0008000020020202L,0x0000000000100002L});
-	public static final BitSet FOLLOW_ws_in_selector3746 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
-	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3751 = new BitSet(new long[]{0x0000080000200002L,0x0000000040020000L,0x0000000000100020L});
-	public static final BitSet FOLLOW_ws_in_selector3757 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000020L});
-	public static final BitSet FOLLOW_combinator_in_selector3760 = new BitSet(new long[]{0x0804C400E0280080L,0x0008000020020202L,0x0000000000100002L});
-	public static final BitSet FOLLOW_ws_in_selector3762 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_selector3766 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
-	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3769 = new BitSet(new long[]{0x0000080000200002L,0x0000000040020000L,0x0000000000100020L});
+	public static final BitSet FOLLOW_combinator_in_selector3744 = new BitSet(new long[]{0x1008C400E0280080L,0x0010000040040404L,0x0000000000400004L});
+	public static final BitSet FOLLOW_ws_in_selector3746 = new BitSet(new long[]{0x1008C400E0080080L,0x0010000040000404L,0x0000000000000004L});
+	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3751 = new BitSet(new long[]{0x0000080000200002L,0x0000000080040000L,0x0000000000400040L});
+	public static final BitSet FOLLOW_ws_in_selector3757 = new BitSet(new long[]{0x0000080000000000L,0x0000000080000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_combinator_in_selector3760 = new BitSet(new long[]{0x1008C400E0280080L,0x0010000040040404L,0x0000000000400004L});
+	public static final BitSet FOLLOW_ws_in_selector3762 = new BitSet(new long[]{0x1008C400E0080080L,0x0010000040000404L,0x0000000000000004L});
+	public static final BitSet FOLLOW_ws_in_selector3766 = new BitSet(new long[]{0x1008C400E0080080L,0x0010000040000404L,0x0000000000000004L});
+	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3769 = new BitSet(new long[]{0x0000080000200002L,0x0000000080040000L,0x0000000000400040L});
 	public static final BitSet FOLLOW_combinator_in_selector3784 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3836 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3842 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3856 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3871 = new BitSet(new long[]{0x0800C000E0080000L,0x0008000000000002L});
-	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3874 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3879 = new BitSet(new long[]{0x0004800000000080L,0x0000000000000200L});
-	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3884 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3890 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_typeSelector_in_simpleSelectorSequence3904 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3916 = new BitSet(new long[]{0x0800C000E0080000L,0x0008000000000002L});
-	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3919 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3926 = new BitSet(new long[]{0x0004800000000000L,0x0000000000000200L});
-	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3928 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000100000L});
+	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3836 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3842 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3856 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3871 = new BitSet(new long[]{0x1000C000E0080000L,0x0010000000000004L});
+	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3874 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3879 = new BitSet(new long[]{0x0008800000000080L,0x0000000000000400L});
+	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3884 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3890 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_typeSelector_in_simpleSelectorSequence3904 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3916 = new BitSet(new long[]{0x1000C000E0080000L,0x0010000000000004L});
+	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3919 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3926 = new BitSet(new long[]{0x0008800000000000L,0x0000000000000400L});
+	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3928 = new BitSet(new long[]{0x1000C000E0280002L,0x0010000000040004L,0x0000000000400000L});
 	public static final BitSet FOLLOW_HASH_SYMBOL_in_esPred3953 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_HASH_in_esPred3957 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_DOT_in_esPred3961 = new BitSet(new long[]{0x0000000000000002L});
@@ -39462,78 +39566,78 @@
 	public static final BitSet FOLLOW_DCOLON_in_esPred3973 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred3977 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_LESS_AND_in_esPred3983 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_namespacePrefix_in_typeSelector4025 = new BitSet(new long[]{0x0004040000000000L,0x0000000000000002L,0x0000000000000002L});
+	public static final BitSet FOLLOW_namespacePrefix_in_typeSelector4025 = new BitSet(new long[]{0x0008040000000000L,0x0000000000000004L,0x0000000000000004L});
 	public static final BitSet FOLLOW_elementName_in_typeSelector4029 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_namespacePrefixName_in_namespacePrefix4044 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-	public static final BitSet FOLLOW_STAR_in_namespacePrefix4048 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+	public static final BitSet FOLLOW_namespacePrefixName_in_namespacePrefix4044 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+	public static final BitSet FOLLOW_STAR_in_namespacePrefix4048 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
 	public static final BitSet FOLLOW_PIPE_in_namespacePrefix4052 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_extend_only_selector_in_elementSubsequent4084 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent4098 = new BitSet(new long[]{0x0004000000000002L,0x0000000000400000L});
-	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent4121 = new BitSet(new long[]{0x0004000000000080L,0x0000000000000200L});
+	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent4098 = new BitSet(new long[]{0x0008000000000002L,0x0000000000800000L});
+	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent4121 = new BitSet(new long[]{0x0008000000000080L,0x0000000000000400L});
 	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_elementSubsequent4123 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cssId_in_elementSubsequent4132 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cssClass_in_elementSubsequent4141 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_slAttribute_in_elementSubsequent4153 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_pseudo_in_elementSubsequent4165 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_HASH_in_cssId4189 = new BitSet(new long[]{0x0004800000000002L,0x0000000000000200L});
+	public static final BitSet FOLLOW_HASH_in_cssId4189 = new BitSet(new long[]{0x0008800000000002L,0x0000000000000400L});
 	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_cssId4194 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_HASH_SYMBOL_in_cssId4216 = new BitSet(new long[]{0x0004000000000080L,0x0000000000008200L});
+	public static final BitSet FOLLOW_HASH_SYMBOL_in_cssId4216 = new BitSet(new long[]{0x0008000000000080L,0x0000000000010400L});
 	public static final BitSet FOLLOW_NAME_in_cssId4232 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_cssId4252 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_cssClass4304 = new BitSet(new long[]{0x0004840000000080L,0x0000000000200200L});
+	public static final BitSet FOLLOW_DOT_in_cssClass4304 = new BitSet(new long[]{0x0008840000000080L,0x0000000000400400L});
 	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_cssClass4332 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_cssClass4350 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_cssClass4366 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_NOT_in_cssClass4382 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_GEN_in_cssClass4398 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_DIMENSION_in_cssClass4422 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LBRACKET_in_slAttribute4478 = new BitSet(new long[]{0x0004000000200000L,0x0000000020020000L,0x0000000000100002L});
-	public static final BitSet FOLLOW_namespacePrefix_in_slAttribute4485 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_slAttribute4488 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_slAttributeName_in_slAttribute4499 = new BitSet(new long[]{0x0020000410600200L,0x0000000401020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_slAttribute4501 = new BitSet(new long[]{0x0020000410400200L,0x0000000401000000L});
-	public static final BitSet FOLLOW_set_in_slAttribute4535 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100004L});
-	public static final BitSet FOLLOW_ws_in_slAttribute4715 = new BitSet(new long[]{0x0004000000000000L,0x0000000000000000L,0x0000000000000004L});
-	public static final BitSet FOLLOW_slAttributeValue_in_slAttribute4734 = new BitSet(new long[]{0x0000000000200000L,0x0000000400020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_slAttribute4752 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_LBRACKET_in_slAttribute4478 = new BitSet(new long[]{0x0008000000200000L,0x0000000040040000L,0x0000000000400004L});
+	public static final BitSet FOLLOW_namespacePrefix_in_slAttribute4485 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_slAttribute4488 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_slAttributeName_in_slAttribute4499 = new BitSet(new long[]{0x0040000410600200L,0x0000000802040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_slAttribute4501 = new BitSet(new long[]{0x0040000410400200L,0x0000000802000000L});
+	public static final BitSet FOLLOW_set_in_slAttribute4535 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400008L});
+	public static final BitSet FOLLOW_ws_in_slAttribute4715 = new BitSet(new long[]{0x0008000000000000L,0x0000000000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_slAttributeValue_in_slAttribute4734 = new BitSet(new long[]{0x0000000000200000L,0x0000000800040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_slAttribute4752 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
 	public static final BitSet FOLLOW_RBRACKET_in_slAttribute4777 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_slAttributeName4793 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_set_in_pseudo4865 = new BitSet(new long[]{0x0004840000000000L,0x0000000000200000L});
-	public static final BitSet FOLLOW_set_in_pseudo4928 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_pseudo4985 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_pseudo4988 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DDF85C430706L,0x00000000001A4FE6L});
-	public static final BitSet FOLLOW_ws_in_pseudo4990 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DDF85C410706L,0x00000000000A4FE6L});
-	public static final BitSet FOLLOW_expression_in_pseudo4996 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_pseudo4998 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_STAR_in_pseudo5004 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_set_in_pseudo4865 = new BitSet(new long[]{0x0008840000000000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_set_in_pseudo4928 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_pseudo4985 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_pseudo4988 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769BBF0B8860E0DL,0x0000000000699FCCL});
+	public static final BitSet FOLLOW_ws_in_pseudo4990 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769BBF0B8820E0DL,0x0000000000299FCCL});
+	public static final BitSet FOLLOW_expression_in_pseudo4996 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_pseudo4998 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_STAR_in_pseudo5004 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
 	public static final BitSet FOLLOW_RPAREN_in_pseudo5009 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_pseudo5072 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NOT_in_pseudo5110 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_pseudo5112 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_pseudo5115 = new BitSet(new long[]{0x0804C400E0280080L,0x0008010020020202L,0x0000000000100002L});
-	public static final BitSet FOLLOW_ws_in_pseudo5117 = new BitSet(new long[]{0x0804C400E0080080L,0x0008010020000202L,0x0000000000000002L});
-	public static final BitSet FOLLOW_simpleSelectorSequence_in_pseudo5121 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_pseudo5123 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_NOT_in_pseudo5110 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_pseudo5112 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_pseudo5115 = new BitSet(new long[]{0x1008C400E0280080L,0x0010020040040404L,0x0000000000400004L});
+	public static final BitSet FOLLOW_ws_in_pseudo5117 = new BitSet(new long[]{0x1008C400E0080080L,0x0010020040000404L,0x0000000000000004L});
+	public static final BitSet FOLLOW_simpleSelectorSequence_in_pseudo5121 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_pseudo5123 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
 	public static final BitSet FOLLOW_RPAREN_in_pseudo5128 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_pseudo5172 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_pseudo5174 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_pseudo5177 = new BitSet(new long[]{0x0804CC00E0280080L,0x0008010060020202L,0x0000000000100022L});
-	public static final BitSet FOLLOW_ws_in_pseudo5179 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008010060000202L,0x0000000000000022L});
-	public static final BitSet FOLLOW_selectorsGroup_in_pseudo5182 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+	public static final BitSet FOLLOW_IDENT_in_pseudo5172 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_pseudo5174 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_pseudo5177 = new BitSet(new long[]{0x1008CC00E0280080L,0x00100200C0040404L,0x0000000000400044L});
+	public static final BitSet FOLLOW_ws_in_pseudo5179 = new BitSet(new long[]{0x1008CC00E0080080L,0x00100200C0000404L,0x0000000000000044L});
+	public static final BitSet FOLLOW_selectorsGroup_in_pseudo5182 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
 	public static final BitSet FOLLOW_RPAREN_in_pseudo5185 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_STAR_in_propertyDeclaration5221 = new BitSet(new long[]{0x7014848000847CC0L,0x7BB4DCE004010700L,0x00000000000A0F80L});
-	public static final BitSet FOLLOW_property_in_propertyDeclaration5224 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_STAR_in_propertyDeclaration5221 = new BitSet(new long[]{0xE028848000847CC0L,0xF769B9C008020E00L,0x0000000000281F00L});
+	public static final BitSet FOLLOW_property_in_propertyDeclaration5224 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_propertyDeclaration5226 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_propertyDeclaration5229 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_propertyDeclaration5231 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
+	public static final BitSet FOLLOW_COLON_in_propertyDeclaration5229 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_propertyDeclaration5231 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
 	public static final BitSet FOLLOW_cp_propertyValue_in_propertyDeclaration5234 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_STAR_in_propertyDeclaration5243 = new BitSet(new long[]{0x7014848000847CC0L,0x7BB4DCE004010700L,0x00000000000A0F80L});
-	public static final BitSet FOLLOW_property_in_propertyDeclaration5246 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_STAR_in_propertyDeclaration5243 = new BitSet(new long[]{0xE028848000847CC0L,0xF769B9C008020E00L,0x0000000000281F00L});
+	public static final BitSet FOLLOW_property_in_propertyDeclaration5246 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_propertyDeclaration5248 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_propertyDeclaration5251 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_propertyDeclaration5253 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_propertyValue_in_propertyDeclaration5256 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_propertyDeclaration5259 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_COLON_in_propertyDeclaration5251 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_propertyDeclaration5253 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_propertyValue_in_propertyDeclaration5256 = new BitSet(new long[]{0x0010000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_propertyDeclaration5259 = new BitSet(new long[]{0x0010000000000000L});
 	public static final BitSet FOLLOW_prio_in_propertyDeclaration5262 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_expression_list_in_cp_propertyValue5302 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_propertyValue_in_cp_propertyValue5310 = new BitSet(new long[]{0x0000000000000002L});
@@ -39541,454 +39645,455 @@
 	public static final BitSet FOLLOW_set_in_expressionPredicate5401 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_SEMI_in_syncTo_SEMI5502 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IMPORTANT_SYM_in_prio5547 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_term_in_expression5564 = new BitSet(new long[]{0xF014C5A240B47CE2L,0x7BB4DCF85C430706L,0x00000000001A4FE5L});
-	public static final BitSet FOLLOW_ws_in_expression5596 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_ws_in_expression5601 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_operator_in_expression5604 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_expression5606 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_term_in_expression5615 = new BitSet(new long[]{0xF014C5A240B47CE2L,0x7BB4DCF85C430706L,0x00000000001A4FE5L});
-	public static final BitSet FOLLOW_unaryOperator_in_term5640 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF81C430506L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_term5642 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF81C410506L,0x00000000000A4FE4L});
+	public static final BitSet FOLLOW_term_in_expression5564 = new BitSet(new long[]{0xE028C5A240B47CE2L,0xF769B9F0B8860E0DL,0x0000000000699FCAL});
+	public static final BitSet FOLLOW_ws_in_expression5596 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_ws_in_expression5601 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_operator_in_expression5604 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_expression5606 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_term_in_expression5615 = new BitSet(new long[]{0xE028C5A240B47CE2L,0xF769B9F0B8860E0DL,0x0000000000699FCAL});
+	public static final BitSet FOLLOW_unaryOperator_in_term5640 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F038860A0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_term5642 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F038820A0DL,0x0000000000299FC8L});
 	public static final BitSet FOLLOW_function_in_term5671 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_VARIABLE_in_term5684 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_IDENT_in_term5696 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_NUMBER_in_term5708 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PERCENTAGE_in_term5720 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LENGTH_in_term5732 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_EMS_in_term5744 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_REM_in_term5756 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_EXS_in_term5768 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ANGLE_in_term5780 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_TIME_in_term5792 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_FREQ_in_term5804 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_RESOLUTION_in_term5816 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DIMENSION_in_term5828 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_STRING_in_term5845 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_TILDE_in_term5857 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L,0x0000000000000004L});
-	public static final BitSet FOLLOW_set_in_term5859 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_JS_STRING_in_term5880 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GEN_in_term5895 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_URI_in_term5907 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_hexColor_in_term5919 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_term5933 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_AND_in_term5947 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_term5961 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_less_selector_interpolation_in_term5975 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_term_symbol_in_term5989 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol6016 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_functionName_in_function6032 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_function6034 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_function6039 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_function6041 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_fnAttributes_in_function6068 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_function6099 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_functionName6151 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_functionName6153 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_functionName6157 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_DOT_in_functionName6160 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_functionName6162 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes6186 = new BitSet(new long[]{0x0000000000300002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_fnAttributes6189 = new BitSet(new long[]{0x0000000000100000L,0x8000000000000000L});
-	public static final BitSet FOLLOW_COMMA_in_fnAttributes6193 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_SEMI_in_fnAttributes6199 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_fnAttributes6202 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes6205 = new BitSet(new long[]{0x0000000000300002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_fnAttributes6209 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fnAttributeName_in_fnAttribute6246 = new BitSet(new long[]{0x0000000000280000L,0x0000000001020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_fnAttribute6248 = new BitSet(new long[]{0x0000000000080000L,0x0000000001000000L});
-	public static final BitSet FOLLOW_set_in_fnAttribute6251 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_fnAttribute6257 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_fnAttributeValue_in_fnAttribute6260 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_in_fnAttribute6277 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_expression_in_fnAttribute6289 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6312 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_DOT_in_fnAttributeName6315 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6317 = new BitSet(new long[]{0x0000000080000002L});
-	public static final BitSet FOLLOW_cp_variable_in_fnAttributeName6337 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_term_in_fnAttributeValue6360 = new BitSet(new long[]{0xF014C5A240A47CE2L,0x7BB4DCF85C430706L,0x00000000001A4FE5L});
-	public static final BitSet FOLLOW_ws_in_fnAttributeValue6392 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_ws_in_fnAttributeValue6397 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_SOLIDUS_in_fnAttributeValue6400 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_fnAttributeValue6402 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_term_in_fnAttributeValue6411 = new BitSet(new long[]{0xF014C5A240A47CE2L,0x7BB4DCF85C430706L,0x00000000001A4FE5L});
-	public static final BitSet FOLLOW_cp_math_expression_in_fnAttributeValue6432 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_HASH_in_hexColor6446 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6506 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6508 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6511 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6513 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6516 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6538 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6540 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6543 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6545 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6548 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6552 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-	public static final BitSet FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6555 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6561 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
-	public static final BitSet FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6564 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_set_in_cp_variable6604 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_VAR_in_cp_variable6788 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6818 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_expression_list6837 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_cp_expression_list6840 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression_list6842 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6845 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_LBRACE_in_cp_expression6881 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_cp_expression6883 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6886 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_cp_expression6888 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_cp_expression6891 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6907 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression6931 = new BitSet(new long[]{0x0004180006000000L,0x0000000000000009L});
-	public static final BitSet FOLLOW_cp_expression_operator_in_cp_expression6934 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression6936 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6940 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression6959 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6962 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_expression6980 = new BitSet(new long[]{0x7014848000B47CC0L,0x7BB4DDE004430700L,0x00000000001A0F84L});
-	public static final BitSet FOLLOW_ws_in_cp_expression6982 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6985 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000A0F84L});
-	public static final BitSet FOLLOW_sass_map_pairs_in_cp_expression6987 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_expression6990 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_key_or_in_cp_expression_operator7011 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_key_and_in_cp_expression_operator7015 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CP_EQ_in_cp_expression_operator7020 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_CP_NOT_EQ_in_cp_expression_operator7024 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_in_cp_expression_operator7028 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_OR_EQ_in_cp_expression_operator7032 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_in_cp_expression_operator7036 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_GREATER_OR_EQ_in_cp_expression_operator7040 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_NOT_in_cp_expression_atom7066 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression_atom7068 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_cp_expression_atom7099 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_expression_atom7115 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_expression_atom7117 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_list_in_cp_expression_atom7121 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_expression_atom7123 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_expression_atom7128 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions7160 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expressions7167 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions7169 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression7203 = new BitSet(new long[]{0x0000000000200002L,0x0000000040020200L,0x0000000000100003L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expression7245 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000200L,0x0000000000000003L});
-	public static final BitSet FOLLOW_set_in_cp_math_expression7248 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expression7258 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression7261 = new BitSet(new long[]{0x0000000000200002L,0x0000000040020200L,0x0000000000100003L});
-	public static final BitSet FOLLOW_term_in_cp_math_expression_atom7294 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7302 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_unaryOperator_in_cp_math_expression_atom7313 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7315 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_math_expression_atom7321 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7323 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expression_atom7326 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7328 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_math_expression_atom7331 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_declaration7371 = new BitSet(new long[]{0x0404000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_DOT_in_cp_mixin_declaration7378 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7380 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_HASH_in_cp_mixin_declaration7385 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7388 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7391 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7393 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7396 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7399 = new BitSet(new long[]{0x0404000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7404 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7407 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7431 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7433 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7435 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7438 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7441 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7443 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7446 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7449 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7463 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_declaration7466 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7502 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7504 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7508 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7512 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7516 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7532 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000020L});
-	public static final BitSet FOLLOW_combinator_in_cp_mixin_call7535 = new BitSet(new long[]{0x0000400080200040L,0x0000000000020002L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7537 = new BitSet(new long[]{0x0000400080000040L,0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7541 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7543 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7547 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7551 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7555 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000100020L});
-	public static final BitSet FOLLOW_pseudo_in_cp_mixin_call7565 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7580 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7582 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7585 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7588 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_INCLUDE_in_cp_mixin_call7613 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7615 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7617 = new BitSet(new long[]{0x0400000000200002L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7620 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7623 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7625 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7628 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7631 = new BitSet(new long[]{0x0400000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call7636 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_call7639 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LBRACE_in_cp_mixin_block7668 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE26C030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_block7670 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE26C010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_cp_mixin_block7673 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE26C010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_cp_mixin_block7684 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7699 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_block7701 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
-	public static final BitSet FOLLOW_RBRACE_in_cp_mixin_block7713 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_cp_mixin_name7734 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7765 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000000L});
-	public static final BitSet FOLLOW_set_in_cp_mixin_call_args7769 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7777 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7780 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000000L});
-	public static final BitSet FOLLOW_CP_DOTS_in_cp_mixin_call_args7786 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7788 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
-	public static final BitSet FOLLOW_SEMI_in_cp_mixin_call_args7793 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_cp_mixin_call_arg7825 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7827 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_cp_mixin_call_arg7830 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7832 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7835 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7847 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7855 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7902 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000010L});
-	public static final BitSet FOLLOW_set_in_cp_args_list7906 = new BitSet(new long[]{0x7014008000A47C40L,0x7BB4DCE004030500L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_cp_args_list7916 = new BitSet(new long[]{0x7014008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7919 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000010L});
-	public static final BitSet FOLLOW_set_in_cp_args_list7926 = new BitSet(new long[]{0x0000000001200002L,0x0000000000020010L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_args_list7934 = new BitSet(new long[]{0x0000000001000002L,0x0000000000000010L});
-	public static final BitSet FOLLOW_set_in_cp_args_list7942 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_args_list7950 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_set_in_cp_args_list7967 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_args_list7975 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_cp_arg7998 = new BitSet(new long[]{0x0000000000280002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_arg8000 = new BitSet(new long[]{0x0000000000080002L});
-	public static final BitSet FOLLOW_COLON_in_cp_arg8005 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_cp_arg8007 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_cp_arg8010 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_cp_arg8012 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_cp_arg8025 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_less_when_in_less_mixin_guarded8048 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8050 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200040L});
-	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded8053 = new BitSet(new long[]{0x0004000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8056 = new BitSet(new long[]{0x0004000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_less_mixin_guarded8060 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_key_and_in_less_mixin_guarded8064 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8067 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200040L});
-	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded8070 = new BitSet(new long[]{0x0004000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_NOT_in_less_condition8096 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_condition8098 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_less_condition8107 = new BitSet(new long[]{0x7014008000A47C40L,0x7BB4DCE004030500L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_less_condition8109 = new BitSet(new long[]{0x7014008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_variable_in_less_condition8136 = new BitSet(new long[]{0x0000180000200000L,0x0000010001020009L,0x0000000000100000L});
-	public static final BitSet FOLLOW_less_function_in_condition_in_less_condition8140 = new BitSet(new long[]{0x0000180000200000L,0x0000010001020009L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_condition8143 = new BitSet(new long[]{0x0000180000000000L,0x0000010001000009L});
-	public static final BitSet FOLLOW_less_condition_operator_in_less_condition8147 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_less_condition8149 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_less_condition8152 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_less_condition8170 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_less_fn_name_in_less_function_in_condition8192 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_function_in_condition8194 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_less_function_in_condition8197 = new BitSet(new long[]{0x7010008000A47C40L,0x7BB4DCE004030500L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_less_function_in_condition8199 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_variable_in_less_function_in_condition8202 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_function_in_condition8204 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_less_function_in_condition8207 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_less_fn_name8229 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8292 = new BitSet(new long[]{0x8004000040000082L,0x0000000000000200L});
-	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8295 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_AT_SIGN_in_less_selector_interpolation8338 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_less_selector_interpolation8340 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8342 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_less_selector_interpolation8345 = new BitSet(new long[]{0x0000000000200000L,0x0000000200020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8347 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_less_selector_interpolation8350 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8377 = new BitSet(new long[]{0x8004800040000002L,0x0000000000000200L});
-	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8380 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8427 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_sass_interpolation_expression_var8429 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8431 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_sass_interpolation_expression_var8434 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8436 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_sass_interpolation_expression_var8439 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_property_in_sass_nested_properties8479 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_nested_properties8481 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_sass_nested_properties8484 = new BitSet(new long[]{0xF414C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_nested_properties8486 = new BitSet(new long[]{0xF414C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_propertyValue_in_sass_nested_properties8490 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_nested_properties8492 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_sass_nested_properties8497 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_sass_nested_properties8499 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_syncToFollow_in_sass_nested_properties8502 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_sass_nested_properties8504 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_sass_nested_properties8507 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_EXTEND_in_sass_extend8528 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_extend8530 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
-	public static final BitSet FOLLOW_simpleSelectorSequence_in_sass_extend8532 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_extend8535 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
-	public static final BitSet FOLLOW_SASS_OPTIONAL_in_sass_extend8537 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8560 = new BitSet(new long[]{0x0004800000000002L,0x0000000000000200L});
-	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8562 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_set_in_sass_debug8584 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_debug8594 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_sass_debug8596 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_ERROR_in_sass_error8617 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_error8619 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
-	public static final BitSet FOLLOW_STRING_in_sass_error8621 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_if_in_sass_control8642 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_for_in_sass_control8646 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_each_in_sass_control8650 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_sass_while_in_sass_control8654 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_IF_in_sass_if8675 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_if8677 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_sass_control_expression_in_sass_if8680 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_if8682 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_if8685 = new BitSet(new long[]{0x0000000000200002L,0x0001800000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_if8688 = new BitSet(new long[]{0x0000000000000000L,0x0001800000000000L});
-	public static final BitSet FOLLOW_sass_else_in_sass_if8691 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8714 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_else8716 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_else8719 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8733 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_else8735 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_sass_else8740 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_SASS_ELSEIF_in_sass_else8747 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_else8750 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_sass_control_expression_in_sass_else8753 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_else8755 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_else8758 = new BitSet(new long[]{0x0000000000200002L,0x0001800000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_else8761 = new BitSet(new long[]{0x0000000000000000L,0x0001800000000000L});
-	public static final BitSet FOLLOW_sass_else_in_sass_else8764 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_in_sass_control_expression8787 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_FOR_in_sass_for8808 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8810 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_variable_in_sass_for8812 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8814 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_sass_for8818 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8822 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8824 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8826 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_sass_for8830 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8834 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8836 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_for8838 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_for8841 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_EACH_in_sass_each8862 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_each8864 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_sass_each_variables_in_sass_each8866 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_each8868 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_sass_each8872 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_each8876 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_list_in_sass_each8879 = new BitSet(new long[]{0xF41CC5A240B47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_each8882 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_sass_each8885 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_sass_each8889 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_each8895 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8916 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_each_variables8928 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_sass_each_variables8931 = new BitSet(new long[]{0x7010008000A47C40L,0x7BB4DCE004030500L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_sass_each_variables8933 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8936 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_SASS_WHILE_in_sass_while8961 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_while8963 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_sass_control_expression_in_sass_while8965 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_while8967 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_sass_control_block_in_sass_while8970 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_LBRACE_in_sass_control_block8991 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_sass_control_block8993 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_sass_control_block8996 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_sass_control_block8999 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_FUNCTION_in_sass_function_declaration9041 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_function_declaration9043 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_sass_function_name_in_sass_function_declaration9045 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_function_declaration9047 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_sass_function_declaration9050 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x0000000000180F80L});
-	public static final BitSet FOLLOW_ws_in_sass_function_declaration9052 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x0000000000080F80L});
-	public static final BitSet FOLLOW_cp_args_list_in_sass_function_declaration9055 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_sass_function_declaration9058 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_function_declaration9060 = new BitSet(new long[]{0x0400000000000000L});
-	public static final BitSet FOLLOW_LBRACE_in_sass_function_declaration9063 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000001A0FAAL});
-	public static final BitSet FOLLOW_ws_in_sass_function_declaration9065 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000A0FAAL});
-	public static final BitSet FOLLOW_declarations_in_sass_function_declaration9068 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-	public static final BitSet FOLLOW_RBRACE_in_sass_function_declaration9071 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_sass_function_name9092 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_RETURN_in_sass_function_return9113 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_sass_function_return9115 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_sass_function_return9117 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_CONTENT_in_sass_content9138 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_less_import_types9157 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_less_when9180 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_key_and9199 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_key_or9217 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_IDENT_in_key_only9235 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred1_Css3335 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_URANGE_in_term5720 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PERCENTAGE_in_term5732 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LENGTH_in_term5744 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_EMS_in_term5756 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_REM_in_term5768 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_EXS_in_term5780 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ANGLE_in_term5792 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_TIME_in_term5804 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_FREQ_in_term5816 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_RESOLUTION_in_term5828 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DIMENSION_in_term5840 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_STRING_in_term5857 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_TILDE_in_term5869 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L,0x0000000000000008L});
+	public static final BitSet FOLLOW_set_in_term5871 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_JS_STRING_in_term5892 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GEN_in_term5907 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_URI_in_term5919 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_hexColor_in_term5931 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_term5945 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_AND_in_term5959 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_term5973 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_less_selector_interpolation_in_term5987 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_term_symbol_in_term6001 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol6028 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_functionName_in_function6044 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_function6046 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_function6051 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769BBF0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_function6053 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769BBF0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_fnAttributes_in_function6080 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_function6111 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_functionName6163 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_functionName6165 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_functionName6169 = new BitSet(new long[]{0x0000000080000002L});
+	public static final BitSet FOLLOW_DOT_in_functionName6172 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_functionName6174 = new BitSet(new long[]{0x0000000080000002L});
+	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes6198 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_fnAttributes6201 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_COMMA_in_fnAttributes6205 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_SEMI_in_fnAttributes6211 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_fnAttributes6214 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes6217 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_fnAttributes6221 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_fnAttributeName_in_fnAttribute6258 = new BitSet(new long[]{0x0000000000280000L,0x0000000002040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_fnAttribute6260 = new BitSet(new long[]{0x0000000000080000L,0x0000000002000000L});
+	public static final BitSet FOLLOW_set_in_fnAttribute6263 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8860E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_fnAttribute6269 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_fnAttributeValue_in_fnAttribute6272 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_in_fnAttribute6289 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_expression_in_fnAttribute6301 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6324 = new BitSet(new long[]{0x0000000080000002L});
+	public static final BitSet FOLLOW_DOT_in_fnAttributeName6327 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6329 = new BitSet(new long[]{0x0000000080000002L});
+	public static final BitSet FOLLOW_cp_variable_in_fnAttributeName6349 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_term_in_fnAttributeValue6372 = new BitSet(new long[]{0xE028C5A240A47CE2L,0xF769B9F0B8860E0DL,0x0000000000699FCAL});
+	public static final BitSet FOLLOW_ws_in_fnAttributeValue6404 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_ws_in_fnAttributeValue6409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_SOLIDUS_in_fnAttributeValue6412 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_fnAttributeValue6414 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_term_in_fnAttributeValue6423 = new BitSet(new long[]{0xE028C5A240A47CE2L,0xF769B9F0B8860E0DL,0x0000000000699FCAL});
+	public static final BitSet FOLLOW_cp_math_expression_in_fnAttributeValue6444 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_HASH_in_hexColor6458 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6518 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6520 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6523 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6525 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6528 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6550 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6552 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6555 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6557 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6560 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6564 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
+	public static final BitSet FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6567 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6573 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
+	public static final BitSet FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6576 = new BitSet(new long[]{0x0000000000200002L,0x0080400000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_set_in_cp_variable6616 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_VAR_in_cp_variable6800 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6830 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_expression_list6849 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_cp_expression_list6852 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression_list6854 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6857 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_LBRACE_in_cp_expression6893 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_cp_expression6895 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6898 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_cp_expression6900 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_cp_expression6903 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6919 = new BitSet(new long[]{0xE038DDA246A47CE2L,0xF769B9F0B8C60E9FL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression6943 = new BitSet(new long[]{0x0008180006000000L,0x0000000000000012L});
+	public static final BitSet FOLLOW_cp_expression_operator_in_cp_expression6946 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression6948 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6952 = new BitSet(new long[]{0xE038DDA246A47CE2L,0xF769B9F0B8C60E9FL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression6971 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6974 = new BitSet(new long[]{0xE038DDA246A47CE2L,0xF769B9F0B8C60E9FL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_expression6992 = new BitSet(new long[]{0xE028848000B47CC0L,0xF769BBC008860E00L,0x0000000000681F08L});
+	public static final BitSet FOLLOW_ws_in_cp_expression6994 = new BitSet(new long[]{0xE028848000947CC0L,0xF769BBC008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6997 = new BitSet(new long[]{0xE028848000947CC0L,0xF769BBC008820E00L,0x0000000000281F08L});
+	public static final BitSet FOLLOW_sass_map_pairs_in_cp_expression6999 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_expression7002 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_key_or_in_cp_expression_operator7023 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_key_and_in_cp_expression_operator7027 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CP_EQ_in_cp_expression_operator7032 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_CP_NOT_EQ_in_cp_expression_operator7036 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_in_cp_expression_operator7040 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_OR_EQ_in_cp_expression_operator7044 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_in_cp_expression_operator7048 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_GREATER_OR_EQ_in_cp_expression_operator7052 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_NOT_in_cp_expression_atom7078 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8860E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression_atom7080 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_cp_expression_atom7111 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_expression_atom7127 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769BBF0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_expression_atom7129 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769BBF0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_list_in_cp_expression_atom7133 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_expression_atom7135 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_expression_atom7140 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions7172 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expressions7179 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions7181 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression7215 = new BitSet(new long[]{0x0000000000200002L,0x0000000080040400L,0x0000000000400006L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expression7257 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000400L,0x0000000000000006L});
+	public static final BitSet FOLLOW_set_in_cp_math_expression7260 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8860E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expression7270 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression7273 = new BitSet(new long[]{0x0000000000200002L,0x0000000080040400L,0x0000000000400006L});
+	public static final BitSet FOLLOW_term_in_cp_math_expression_atom7306 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7314 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_unaryOperator_in_cp_math_expression_atom7325 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7327 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_math_expression_atom7333 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8860E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7335 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expression_atom7338 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7340 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_math_expression_atom7343 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_declaration7383 = new BitSet(new long[]{0x0808000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_DOT_in_cp_mixin_declaration7390 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7392 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_HASH_in_cp_mixin_declaration7397 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7400 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7403 = new BitSet(new long[]{0xE028008001A47C40L,0xF769BBC008060A20L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7405 = new BitSet(new long[]{0xE028008001847C40L,0xF769BBC008020A20L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7408 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7411 = new BitSet(new long[]{0x0808000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7416 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7419 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7443 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7445 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7447 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7450 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7453 = new BitSet(new long[]{0xE028008001A47C40L,0xF769BBC008060A20L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7455 = new BitSet(new long[]{0xE028008001847C40L,0xF769BBC008020A20L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7458 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7461 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7475 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_declaration7478 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7514 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7516 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7520 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7524 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7528 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7544 = new BitSet(new long[]{0x0000080000000000L,0x0000000080000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_combinator_in_cp_mixin_call7547 = new BitSet(new long[]{0x0000400080200040L,0x0000000000040004L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7549 = new BitSet(new long[]{0x0000400080000040L,0x0000000000000004L});
+	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7553 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7555 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7559 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7563 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7567 = new BitSet(new long[]{0x0000080020280002L,0x0000000080040080L,0x0000000000400040L});
+	public static final BitSet FOLLOW_pseudo_in_cp_mixin_call7577 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7592 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769BBF0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7594 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769BBF0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7597 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7600 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_INCLUDE_in_cp_mixin_call7625 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7627 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7629 = new BitSet(new long[]{0x0800000000200002L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7632 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7635 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769BBF0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7637 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769BBF0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7640 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7643 = new BitSet(new long[]{0x0800000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call7648 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_call7651 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LBRACE_in_cp_mixin_block7680 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4D8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_block7682 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4D8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_cp_mixin_block7685 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4D8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_cp_mixin_block7696 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7711 = new BitSet(new long[]{0x0008000000200000L,0x0000100410040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_block7713 = new BitSet(new long[]{0x0008000000000000L,0x0000100410000000L});
+	public static final BitSet FOLLOW_RBRACE_in_cp_mixin_block7725 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_cp_mixin_name7746 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7777 = new BitSet(new long[]{0x0000000001100002L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_set_in_cp_mixin_call_args7781 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7789 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7792 = new BitSet(new long[]{0x0000000001100002L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_CP_DOTS_in_cp_mixin_call_args7798 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7800 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
+	public static final BitSet FOLLOW_SEMI_in_cp_mixin_call_args7805 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_cp_mixin_call_arg7837 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7839 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_cp_mixin_call_arg7842 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7844 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7847 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7859 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7867 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7914 = new BitSet(new long[]{0x0000000001100002L,0x0000000000000020L,0x0000000000000001L});
+	public static final BitSet FOLLOW_set_in_cp_args_list7918 = new BitSet(new long[]{0xE028008000A47C40L,0xF769B9C008060A00L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_cp_args_list7928 = new BitSet(new long[]{0xE028008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7931 = new BitSet(new long[]{0x0000000001100002L,0x0000000000000020L,0x0000000000000001L});
+	public static final BitSet FOLLOW_set_in_cp_args_list7938 = new BitSet(new long[]{0x0000000001200002L,0x0000000000040020L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_args_list7946 = new BitSet(new long[]{0x0000000001000002L,0x0000000000000020L});
+	public static final BitSet FOLLOW_set_in_cp_args_list7954 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_args_list7962 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_set_in_cp_args_list7979 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_args_list7987 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_cp_arg8010 = new BitSet(new long[]{0x0000000000280002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_arg8012 = new BitSet(new long[]{0x0000000000080002L});
+	public static final BitSet FOLLOW_COLON_in_cp_arg8017 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_cp_arg8019 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_cp_arg8022 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_cp_arg8024 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_cp_arg8037 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_less_when_in_less_mixin_guarded8060 = new BitSet(new long[]{0x0000000000200000L,0x0000000000440080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8062 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400080L});
+	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded8065 = new BitSet(new long[]{0x0008000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8068 = new BitSet(new long[]{0x0008000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_less_mixin_guarded8072 = new BitSet(new long[]{0x0000000000200000L,0x0000000000440080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_key_and_in_less_mixin_guarded8076 = new BitSet(new long[]{0x0000000000200000L,0x0000000000440080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_mixin_guarded8079 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400080L});
+	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded8082 = new BitSet(new long[]{0x0008000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_NOT_in_less_condition8108 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_condition8110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_less_condition8119 = new BitSet(new long[]{0xE028008000A47C40L,0xF769B9C008060A00L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_less_condition8121 = new BitSet(new long[]{0xE028008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_variable_in_less_condition8148 = new BitSet(new long[]{0x0000180000200000L,0x0000020002040012L,0x0000000000400000L});
+	public static final BitSet FOLLOW_less_function_in_condition_in_less_condition8152 = new BitSet(new long[]{0x0000180000200000L,0x0000020002040012L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_condition8155 = new BitSet(new long[]{0x0000180000000000L,0x0000020002000012L});
+	public static final BitSet FOLLOW_less_condition_operator_in_less_condition8159 = new BitSet(new long[]{0xE038C5A240A47CE0L,0xF769B9F0B8860E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_less_condition8161 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_less_condition8164 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_less_condition8182 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_less_fn_name_in_less_function_in_condition8204 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_function_in_condition8206 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_less_function_in_condition8209 = new BitSet(new long[]{0xE020008000A47C40L,0xF769B9C008060A00L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_less_function_in_condition8211 = new BitSet(new long[]{0xE020008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_variable_in_less_function_in_condition8214 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_function_in_condition8216 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_less_function_in_condition8219 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_less_fn_name8241 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8304 = new BitSet(new long[]{0x0008000040000082L,0x0000000000000401L});
+	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8307 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_AT_SIGN_in_less_selector_interpolation8350 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_less_selector_interpolation8352 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8354 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_less_selector_interpolation8357 = new BitSet(new long[]{0x0000000000200000L,0x0000000400040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8359 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_less_selector_interpolation8362 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8389 = new BitSet(new long[]{0x0008800040000002L,0x0000000000000401L});
+	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8392 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8439 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_sass_interpolation_expression_var8441 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8443 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_sass_interpolation_expression_var8446 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8448 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_sass_interpolation_expression_var8451 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_property_in_sass_nested_properties8491 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_nested_properties8493 = new BitSet(new long[]{0x0000000000080000L});
+	public static final BitSet FOLLOW_COLON_in_sass_nested_properties8496 = new BitSet(new long[]{0xE828C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_nested_properties8498 = new BitSet(new long[]{0xE828C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_propertyValue_in_sass_nested_properties8502 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_nested_properties8504 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_sass_nested_properties8509 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_sass_nested_properties8511 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_syncToFollow_in_sass_nested_properties8514 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_sass_nested_properties8516 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_sass_nested_properties8519 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_EXTEND_in_sass_extend8540 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_extend8542 = new BitSet(new long[]{0x1008C400E0080080L,0x0010000040000404L,0x0000000000000004L});
+	public static final BitSet FOLLOW_simpleSelectorSequence_in_sass_extend8544 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_extend8547 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+	public static final BitSet FOLLOW_SASS_OPTIONAL_in_sass_extend8549 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8572 = new BitSet(new long[]{0x0008800000000002L,0x0000000000000400L});
+	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8574 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_set_in_sass_debug8596 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_debug8606 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_sass_debug8608 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_ERROR_in_sass_error8629 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_error8631 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L});
+	public static final BitSet FOLLOW_STRING_in_sass_error8633 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_if_in_sass_control8654 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_for_in_sass_control8658 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_each_in_sass_control8662 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_sass_while_in_sass_control8666 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_IF_in_sass_if8687 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_if8689 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_sass_control_expression_in_sass_if8692 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_if8694 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_if8697 = new BitSet(new long[]{0x0000000000200002L,0x0003000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_if8700 = new BitSet(new long[]{0x0000000000000000L,0x0003000000000000L});
+	public static final BitSet FOLLOW_sass_else_in_sass_if8703 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8726 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_else8728 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_else8731 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8745 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_else8747 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_sass_else8752 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_SASS_ELSEIF_in_sass_else8759 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_else8762 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_sass_control_expression_in_sass_else8765 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_else8767 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_else8770 = new BitSet(new long[]{0x0000000000200002L,0x0003000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_else8773 = new BitSet(new long[]{0x0000000000000000L,0x0003000000000000L});
+	public static final BitSet FOLLOW_sass_else_in_sass_else8776 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_in_sass_control_expression8799 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_FOR_in_sass_for8820 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8822 = new BitSet(new long[]{0xE020008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_variable_in_sass_for8824 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8826 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_sass_for8830 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8834 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8836 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8838 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_sass_for8842 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8846 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8820E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8848 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_for8850 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_for8853 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_EACH_in_sass_each8874 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_each8876 = new BitSet(new long[]{0xE020008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_sass_each_variables_in_sass_each8878 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_each8880 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_sass_each8884 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_each8888 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_list_in_sass_each8891 = new BitSet(new long[]{0xE838C5A240B47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_each8894 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_sass_each8897 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_sass_each8901 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_each8907 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8928 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_each_variables8940 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_sass_each_variables8943 = new BitSet(new long[]{0xE020008000A47C40L,0xF769B9C008060A00L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_sass_each_variables8945 = new BitSet(new long[]{0xE020008000847C40L,0xF769B9C008020A00L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8948 = new BitSet(new long[]{0x0000000000300002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_SASS_WHILE_in_sass_while8973 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_while8975 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_sass_control_expression_in_sass_while8977 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_while8979 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_sass_control_block_in_sass_while8982 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_LBRACE_in_sass_control_block9003 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_sass_control_block9005 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_sass_control_block9008 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_sass_control_block9011 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_FUNCTION_in_sass_function_declaration9053 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_function_declaration9055 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_sass_function_name_in_sass_function_declaration9057 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_function_declaration9059 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_sass_function_declaration9062 = new BitSet(new long[]{0xE028008001A47C40L,0xF769BBC008060A20L,0x0000000000601F00L});
+	public static final BitSet FOLLOW_ws_in_sass_function_declaration9064 = new BitSet(new long[]{0xE028008001847C40L,0xF769BBC008020A20L,0x0000000000201F00L});
+	public static final BitSet FOLLOW_cp_args_list_in_sass_function_declaration9067 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_sass_function_declaration9070 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_function_declaration9072 = new BitSet(new long[]{0x0800000000000000L});
+	public static final BitSet FOLLOW_LBRACE_in_sass_function_declaration9075 = new BitSet(new long[]{0xF028CC80E0AC7CC0L,0xF77DB9C4C8060E04L,0x0000000000681F55L});
+	public static final BitSet FOLLOW_ws_in_sass_function_declaration9077 = new BitSet(new long[]{0xF028CC80E08C7CC0L,0xF77DB9C4C8020E04L,0x0000000000281F55L});
+	public static final BitSet FOLLOW_declarations_in_sass_function_declaration9080 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
+	public static final BitSet FOLLOW_RBRACE_in_sass_function_declaration9083 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_sass_function_name9104 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_RETURN_in_sass_function_return9125 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_sass_function_return9127 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_sass_function_return9129 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_SASS_CONTENT_in_sass_content9150 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_less_import_types9169 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_less_when9192 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_key_and9211 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_key_or9229 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_IDENT_in_key_only9247 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred1_Css3335 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_synpred1_Css3338 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred2_Css3399 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_ws_in_synpred2_Css3399 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_synpred2_Css3402 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred3_Css3453 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x0000000000080F80L});
+	public static final BitSet FOLLOW_ws_in_synpred3_Css3453 = new BitSet(new long[]{0xE028848000847C40L,0xF769B9C008420A80L,0x0000000000201F00L});
 	public static final BitSet FOLLOW_mediaQueryList_in_synpred3_Css3456 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred4_Css3575 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_ws_in_synpred4_Css3575 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_synpred4_Css3578 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_SASS_MIXIN_in_synpred5_Css3676 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred5_Css3683 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred5_Css3685 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_HASH_in_synpred5_Css3690 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred5_Css3693 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_synpred5_Css3696 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000000FFFFFFL});
-	public static final BitSet FOLLOW_RPAREN_in_synpred5_Css3704 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL,0x0000000000FFFFFFL});
+	public static final BitSet FOLLOW_DOT_in_synpred5_Css3683 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred5_Css3685 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_HASH_in_synpred5_Css3690 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred5_Css3693 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_synpred5_Css3696 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000003FFFFFFL});
+	public static final BitSet FOLLOW_RPAREN_in_synpred5_Css3704 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000003FFFFFEL});
 	public static final BitSet FOLLOW_LBRACE_in_synpred5_Css3714 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_synpred6_Css3732 = new BitSet(new long[]{0x0008000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred6_Css3735 = new BitSet(new long[]{0x0008000000000000L});
-	public static final BitSet FOLLOW_IMPORTANT_SYM_in_synpred6_Css3738 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred6_Css3742 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_synpred6_Css3732 = new BitSet(new long[]{0x0010000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_synpred6_Css3735 = new BitSet(new long[]{0x0010000000000000L});
+	public static final BitSet FOLLOW_IMPORTANT_SYM_in_synpred6_Css3738 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_synpred6_Css3742 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_synpred6_Css3745 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_synpred7_Css3768 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3793 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3796 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000022L});
-	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3798 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3807 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_synpred8_Css3811 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3813 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3816 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3793 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3796 = new BitSet(new long[]{0x1008CC00E0080080L,0x00100000C0000404L,0x0000000000000044L});
+	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3798 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3807 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3809 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_synpred8_Css3811 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3813 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3816 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_synpred8_Css3818 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_synpred8_Css3821 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3823 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3826 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3828 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_synpred8_Css3831 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3836 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred8_Css3839 = new BitSet(new long[]{0x0400000000000000L});
+	public static final BitSet FOLLOW_COLON_in_synpred8_Css3821 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3823 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3826 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3828 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_synpred8_Css3831 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3836 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred8_Css3839 = new BitSet(new long[]{0x0800000000000000L});
 	public static final BitSet FOLLOW_LBRACE_in_synpred8_Css3842 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_propertyDeclaration_in_synpred9_Css3854 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_ws_in_synpred10_Css3969 = new BitSet(new long[]{0x0000000000100000L});
 	public static final BitSet FOLLOW_COMMA_in_synpred10_Css3972 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred11_Css31016 = new BitSet(new long[]{0x0004000000000000L});
+	public static final BitSet FOLLOW_ws_in_synpred11_Css31016 = new BitSet(new long[]{0x0008000000000000L});
 	public static final BitSet FOLLOW_key_and_in_synpred11_Css31019 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred12_Css31046 = new BitSet(new long[]{0x0004000000000000L});
+	public static final BitSet FOLLOW_ws_in_synpred12_Css31046 = new BitSet(new long[]{0x0008000000000000L});
 	public static final BitSet FOLLOW_key_and_in_synpred12_Css31049 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_LPAREN_in_synpred13_Css31131 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_HASH_in_synpred14_Css31160 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred15_Css31306 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_ws_in_synpred15_Css31306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_synpred15_Css31309 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_SASS_MIXIN_in_synpred16_Css31384 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_DOT_in_synpred16_Css31391 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred16_Css31393 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_HASH_in_synpred16_Css31398 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred16_Css31401 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_synpred16_Css31404 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000000FFFFFFL});
-	public static final BitSet FOLLOW_RPAREN_in_synpred16_Css31412 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFDFFFFFFFFL,0x0000000000FFFFFFL});
+	public static final BitSet FOLLOW_DOT_in_synpred16_Css31391 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred16_Css31393 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_HASH_in_synpred16_Css31398 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred16_Css31401 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_synpred16_Css31404 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000003FFFFFFL});
+	public static final BitSet FOLLOW_RPAREN_in_synpred16_Css31412 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFBFFFFFFFFL,0x0000000003FFFFFEL});
 	public static final BitSet FOLLOW_LBRACE_in_synpred16_Css31424 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_mixin_call_in_synpred17_Css31450 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred17_Css31452 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+	public static final BitSet FOLLOW_cp_mixin_call_in_synpred17_Css31450 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400001L});
+	public static final BitSet FOLLOW_ws_in_synpred17_Css31452 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
 	public static final BitSet FOLLOW_SEMI_in_synpred17_Css31455 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_synpred18_Css31474 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_variable_in_synpred19_Css31502 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_cp_variable_in_synpred19_Css31502 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_synpred19_Css31504 = new BitSet(new long[]{0x0000000000080000L});
 	public static final BitSet FOLLOW_COLON_in_synpred19_Css31507 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_map_in_synpred20_Css31524 = new BitSet(new long[]{0x0000000000000002L});
@@ -39998,73 +40103,73 @@
 	public static final BitSet FOLLOW_cp_variable_declaration_in_synpred23_Css33381 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_map_in_synpred24_Css33393 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_sass_nested_properties_in_synpred25_Css33406 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33420 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33423 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000022L});
-	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33425 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33434 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33436 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_synpred26_Css33438 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33440 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33443 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33420 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33423 = new BitSet(new long[]{0x1008CC00E0080080L,0x00100000C0000404L,0x0000000000000044L});
+	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33425 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33434 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33436 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_synpred26_Css33438 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33440 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33443 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_synpred26_Css33445 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_synpred26_Css33448 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33450 = new BitSet(new long[]{0x0004000000000000L});
-	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33453 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33455 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-	public static final BitSet FOLLOW_RPAREN_in_synpred26_Css33458 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33463 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred26_Css33466 = new BitSet(new long[]{0x0400000000000000L});
+	public static final BitSet FOLLOW_COLON_in_synpred26_Css33448 = new BitSet(new long[]{0x0008000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33450 = new BitSet(new long[]{0x0008000000000000L});
+	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33453 = new BitSet(new long[]{0x0000000000200000L,0x0000020000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33455 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+	public static final BitSet FOLLOW_RPAREN_in_synpred26_Css33458 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33463 = new BitSet(new long[]{0x0800000000200000L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred26_Css33466 = new BitSet(new long[]{0x0800000000000000L});
 	public static final BitSet FOLLOW_LBRACE_in_synpred26_Css33469 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_propertyDeclaration_in_synpred27_Css33481 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_property_in_synpred28_Css33498 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000100000L});
+	public static final BitSet FOLLOW_property_in_synpred28_Css33498 = new BitSet(new long[]{0x0000000000280000L,0x0000000000040000L,0x0000000000400000L});
 	public static final BitSet FOLLOW_ws_in_synpred28_Css33500 = new BitSet(new long[]{0x0000000000080000L});
-	public static final BitSet FOLLOW_COLON_in_synpred28_Css33503 = new BitSet(new long[]{0xFBFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000000FFFFFFL});
+	public static final BitSet FOLLOW_COLON_in_synpred28_Css33503 = new BitSet(new long[]{0xF7FFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x0000000003FFFFFFL});
 	public static final BitSet FOLLOW_set_in_synpred28_Css33515 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_declaration_in_synpred29_Css33532 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_synpred30_Css33544 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_cp_mixin_call_in_synpred31_Css33565 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred32_Css33863 = new BitSet(new long[]{0x0800C000A0080000L,0x0008000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred32_Css33863 = new BitSet(new long[]{0x1000C000A0080000L,0x0010000000000004L});
 	public static final BitSet FOLLOW_esPred_in_synpred32_Css33866 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_typeSelector_in_synpred33_Css33901 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred34_Css33908 = new BitSet(new long[]{0x0800C000A0080000L,0x0008000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred34_Css33908 = new BitSet(new long[]{0x1000C000A0080000L,0x0010000000000004L});
 	public static final BitSet FOLLOW_esPred_in_synpred34_Css33911 = new BitSet(new long[]{0x0000000000000002L});
 	public static final BitSet FOLLOW_PIPE_in_synpred35_Css34022 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred36_Css35571 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_ws_in_synpred36_Css35576 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_operator_in_synpred36_Css35579 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_synpred36_Css35581 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
+	public static final BitSet FOLLOW_ws_in_synpred36_Css35571 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_ws_in_synpred36_Css35576 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_operator_in_synpred36_Css35579 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_synpred36_Css35581 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
 	public static final BitSet FOLLOW_term_in_synpred36_Css35590 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_functionName_in_synpred37_Css35663 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred37_Css35665 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_functionName_in_synpred37_Css35663 = new BitSet(new long[]{0x0000000000200000L,0x0000000000040080L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred37_Css35665 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
 	public static final BitSet FOLLOW_LPAREN_in_synpred37_Css35668 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_fnAttributeName_in_synpred38_Css36233 = new BitSet(new long[]{0x0000000000280000L,0x0000000001020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred38_Css36235 = new BitSet(new long[]{0x0000000000080000L,0x0000000001000000L});
-	public static final BitSet FOLLOW_set_in_synpred38_Css36238 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_in_synpred39_Css36273 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred40_Css36367 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_ws_in_synpred40_Css36372 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
-	public static final BitSet FOLLOW_SOLIDUS_in_synpred40_Css36375 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_synpred40_Css36377 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_term_in_synpred40_Css36386 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred42_Css36826 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_synpred42_Css36829 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000001A4FE4L});
-	public static final BitSet FOLLOW_ws_in_synpred42_Css36831 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_in_synpred42_Css36834 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_expression_atom_in_synpred43_Css36901 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred44_Css36924 = new BitSet(new long[]{0x0004180006000000L,0x0000000000000009L});
-	public static final BitSet FOLLOW_cp_expression_operator_in_synpred44_Css36927 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred45_Css36953 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000A4FE4L});
-	public static final BitSet FOLLOW_cp_expression_atom_in_synpred45_Css36956 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_cp_math_expression_in_synpred46_Css37096 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred47_Css37229 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000200L,0x0000000000000003L});
-	public static final BitSet FOLLOW_set_in_synpred47_Css37232 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred48_Css37521 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000020L});
-	public static final BitSet FOLLOW_combinator_in_synpred48_Css37524 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000100000L});
-	public static final BitSet FOLLOW_ws_in_synpred48_Css37526 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_pseudo_in_synpred49_Css37562 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred50_Css37570 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-	public static final BitSet FOLLOW_LPAREN_in_synpred50_Css37573 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37689 = new BitSet(new long[]{0x0000000000000002L});
-	public static final BitSet FOLLOW_ws_in_synpred52_Css38921 = new BitSet(new long[]{0x0000000000100000L});
-	public static final BitSet FOLLOW_COMMA_in_synpred52_Css38924 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_fnAttributeName_in_synpred38_Css36245 = new BitSet(new long[]{0x0000000000280000L,0x0000000002040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred38_Css36247 = new BitSet(new long[]{0x0000000000080000L,0x0000000002000000L});
+	public static final BitSet FOLLOW_set_in_synpred38_Css36250 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_in_synpred39_Css36285 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred40_Css36379 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_ws_in_synpred40_Css36384 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+	public static final BitSet FOLLOW_SOLIDUS_in_synpred40_Css36387 = new BitSet(new long[]{0xE028C5A240A47CE0L,0xF769B9F0B8860E0DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_synpred40_Css36389 = new BitSet(new long[]{0xE028C5A240847CE0L,0xF769B9F0B8820E0DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_term_in_synpred40_Css36398 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred42_Css36838 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_synpred42_Css36841 = new BitSet(new long[]{0xE838C5A240A47CE0L,0xF769B9F0B8C60E8DL,0x0000000000699FC8L});
+	public static final BitSet FOLLOW_ws_in_synpred42_Css36843 = new BitSet(new long[]{0xE838C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_in_synpred42_Css36846 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_expression_atom_in_synpred43_Css36913 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred44_Css36936 = new BitSet(new long[]{0x0008180006000000L,0x0000000000000012L});
+	public static final BitSet FOLLOW_cp_expression_operator_in_synpred44_Css36939 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred45_Css36965 = new BitSet(new long[]{0xE038C5A240847CE0L,0xF769B9F0B8C20E8DL,0x0000000000299FC8L});
+	public static final BitSet FOLLOW_cp_expression_atom_in_synpred45_Css36968 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_cp_math_expression_in_synpred46_Css37108 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred47_Css37241 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000400L,0x0000000000000006L});
+	public static final BitSet FOLLOW_set_in_synpred47_Css37244 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred48_Css37533 = new BitSet(new long[]{0x0000080000000000L,0x0000000080000000L,0x0000000000000040L});
+	public static final BitSet FOLLOW_combinator_in_synpred48_Css37536 = new BitSet(new long[]{0x0000000000200002L,0x0000000000040000L,0x0000000000400000L});
+	public static final BitSet FOLLOW_ws_in_synpred48_Css37538 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_pseudo_in_synpred49_Css37574 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred50_Css37582 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+	public static final BitSet FOLLOW_LPAREN_in_synpred50_Css37585 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37701 = new BitSet(new long[]{0x0000000000000002L});
+	public static final BitSet FOLLOW_ws_in_synpred52_Css38933 = new BitSet(new long[]{0x0000000000100000L});
+	public static final BitSet FOLLOW_COMMA_in_synpred52_Css38936 = new BitSet(new long[]{0x0000000000000002L});
 }
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/api/CssTokenId.java b/ide/css.lib/src/org/netbeans/modules/css/lib/api/CssTokenId.java
index 96739c4..70b3e94 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/api/CssTokenId.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/api/CssTokenId.java
@@ -104,6 +104,7 @@
     TIME(Css3Lexer.TIME, NUMBERS),
     FREQ(Css3Lexer.FREQ, NUMBERS),
     HEXCHAR(Css3Lexer.HEXCHAR, NUMBERS),
+    HEXCHAR_WILDCARD(Css3Lexer.HEXCHAR_WILDCARD, NUMBERS),
     NONASCII(Css3Lexer.NONASCII, OTHERS),
     UNICODE(Css3Lexer.UNICODE, OTHERS),
     ESCAPE(Css3Lexer.ESCAPE, OTHERS),
@@ -111,6 +112,7 @@
     NMCHAR(Css3Lexer.NMCHAR, OTHERS),
     NAME(Css3Lexer.NAME, OTHERS),
     URL(Css3Lexer.URL, URIS),
+    URANGE(Css3Lexer.URANGE, NUMBERS),
     A(Css3Lexer.A, OTHERS),
     B(Css3Lexer.B, OTHERS),
     C(Css3Lexer.C, OTHERS),
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/GrammarResolver.java b/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/GrammarResolver.java
index 7ac4522..57bdb52 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/GrammarResolver.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/GrammarResolver.java
@@ -411,13 +411,19 @@
                         switch (group.getType()) {
                             case SET:
                             case COLLECTION:
-                            case ALL:
                                 if (LOG) {
                                     log(String.format(" added %s branch result: %s, %s", group.getType().name(), member, state));
                                 }
                                 branchesResults.put(member, state);
                                 backupInputState(enteringGroupState);
                                 break;
+                            case ALL:
+                                if (LOG) {
+                                    log(String.format(" added %s branch result: %s, %s", group.getType().name(), member, state));
+                                }
+                                branchesResults.put(member, state);
+                                backupInputState(atCollectionLoopStartState);
+                                break;
                             case LIST:
                                 if (!membersIterator.hasNext()) {
                                     //the resolved element was the last one from the LIST so the group si resolved
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/TokenAcceptor.java b/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/TokenAcceptor.java
index cc3b791..de16826 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/TokenAcceptor.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/api/properties/TokenAcceptor.java
@@ -59,7 +59,8 @@
         ACCEPTORS.add(new Decibel("decibel"));
         ACCEPTORS.add(new RelativeLength("relative-length"));
         ACCEPTORS.add(new Uri("uri"));
-        ACCEPTORS.add(new Anything("anything")); 
+        ACCEPTORS.add(new Anything("anything"));
+        ACCEPTORS.add(new Urange("urange"));
         
         ACCEPTORS.add(new GenericFunctionContent("function-content")); 
         
@@ -525,7 +526,27 @@
         }
         
     }
-    
+
+    public static class Urange extends TokenAcceptor {
+
+        private static final String URANGE_TOKEN_IMAGE = "U+";
+
+        public Urange(String id) {
+            super(id);
+        }
+
+        @Override
+        public boolean accepts(Token token) {
+            return token.tokenId() == CssTokenId.URANGE;
+        }
+
+        @Override
+        Collection<String> getFixedImageTokens() {
+            return Collections.singleton(URANGE_TOKEN_IMAGE);
+        }
+
+    }
+
     private static class GenericFunctionContent extends TokenAcceptor {
 
         public GenericFunctionContent(String id) {
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/properties/GrammarParser.java b/ide/css.lib/src/org/netbeans/modules/css/lib/properties/GrammarParser.java
index dcb7073..80ad060 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/properties/GrammarParser.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/properties/GrammarParser.java
@@ -192,12 +192,27 @@
                             text.append(c);
                         }
                     }
-                    StringTokenizer st = new StringTokenizer(text.toString(), ","); //NOI18N
-                    int min = Integer.parseInt(st.nextToken());
-                    int max = Integer.parseInt(st.nextToken());
+                    String[] parts =  text.toString().split(",", -1); //NOI18N
+                    if(parts.length == 1) {
+                        int elements = Integer.parseInt(parts[0]);
+                        last.setMinimumOccurances(elements);
+                        last.setMaximumOccurances(elements);
+                    } else if (parts.length == 2) {
+                        int min = 0;
+                        int max = Integer.MAX_VALUE;
+                        if(! parts[0].trim().isEmpty()) {
+                            min = Integer.parseInt(parts[0]);
+                        }
+                        if(! parts[1].trim().isEmpty()) {
+                            max = Integer.parseInt(parts[1]);
+                        }
+                        last.setMinimumOccurances(min);
+                        last.setMaximumOccurances(max);
+                    } else {
+                        throw new IllegalArgumentException("Invalid multiplicity: " + text.toString());
+                    }
 
-                    last.setMinimumOccurances(min);
-                    last.setMaximumOccurances(max);
+
 
                     break;
 
diff --git a/ide/css.lib/test/unit/data/testfiles/urange.css b/ide/css.lib/test/unit/data/testfiles/urange.css
new file mode 100644
index 0000000..29dfe72
--- /dev/null
+++ b/ide/css.lib/test/unit/data/testfiles/urange.css
@@ -0,0 +1,3 @@
+@font-face {
+    unicode-range: U+0D01, U+0A01-00ff, U+0A??;
+}
\ No newline at end of file
diff --git a/ide/css.lib/test/unit/data/testfiles/urange.css.tokens.txt b/ide/css.lib/test/unit/data/testfiles/urange.css.tokens.txt
new file mode 100644
index 0000000..a490a78
--- /dev/null
+++ b/ide/css.lib/test/unit/data/testfiles/urange.css.tokens.txt
@@ -0,0 +1,20 @@
+<Unnamed test>
+FONT_FACE_SYM   "@font-face"
+WS              " "
+LBRACE          "{"
+NL              "\n"
+WS              "    "
+IDENT           "unicode-range"
+COLON           ":"
+WS              " "
+URANGE          "U+0D01"
+COMMA           ","
+WS              " "
+URANGE          "U+0A01-00ff"
+COMMA           ","
+WS              " "
+URANGE          "U+0A??"
+SEMI            ";"
+NL              "\n"
+RBRACE          "}"
+----- EOF -----
diff --git a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/api/properties/GrammarResolverTest.java b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/api/properties/GrammarResolverTest.java
index 8c1796b..28151e7 100644
--- a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/api/properties/GrammarResolverTest.java
+++ b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/api/properties/GrammarResolverTest.java
@@ -776,6 +776,12 @@
         assertResolve(g, "a");
         assertResolve(g, "a c");
         assertResolve(g, "c a");
+
+        String g2 = "d? && e && f";
+        assertResolve(g2, "e f");
+        assertResolve(g2, "d e f");
+        assertResolve(g2, "e f d");
+        assertResolve(g2, "f e d");
     }
     
     public void testBackground() {
diff --git a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/nblexer/NbCss3LexerTest.java b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/nblexer/NbCss3LexerTest.java
index 8193e57..f120a09 100644
--- a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/nblexer/NbCss3LexerTest.java
+++ b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/nblexer/NbCss3LexerTest.java
@@ -224,5 +224,9 @@
         assertFalse(ts.moveNext());
        
     }
-    
+
+    public void testLexingUrange() throws Exception {
+        LexerTestUtilities.checkTokenDump(this, "testfiles/urange.css",
+                CssTokenId.language());
+    }
 }
diff --git a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/properties/GrammarParserTest.java b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/properties/GrammarParserTest.java
index e7e6dfe..d2ecebd 100644
--- a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/properties/GrammarParserTest.java
+++ b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/properties/GrammarParserTest.java
@@ -140,5 +140,41 @@
         assertNull(g2.getName());
         
     }
-    
+
+    public void testParsingMultiplicity() {
+        GroupGrammarElement m1 = GrammarParser.parse("a{1,4}");
+        assertEquals(1, m1.elements().size());
+        assertEquals(1, m1.elements().get(0).getMinimumOccurances());
+        assertEquals(4, m1.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m2 = GrammarParser.parse("a{4}");
+        assertEquals(1, m2.elements().size());
+        assertEquals(4, m2.elements().get(0).getMinimumOccurances());
+        assertEquals(4, m2.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m3 = GrammarParser.parse("a{4,}");
+        assertEquals(1, m3.elements().size());
+        assertEquals(4, m3.elements().get(0).getMinimumOccurances());
+        assertEquals(Integer.MAX_VALUE, m3.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m4 = GrammarParser.parse("a{,4}");
+        assertEquals(1, m4.elements().size());
+        assertEquals(0, m4.elements().get(0).getMinimumOccurances());
+        assertEquals(4, m4.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m5 = GrammarParser.parse("a?");
+        assertEquals(1, m5.elements().size());
+        assertEquals(0, m5.elements().get(0).getMinimumOccurances());
+        assertEquals(1, m5.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m6 = GrammarParser.parse("a+");
+        assertEquals(1, m6.elements().size());
+        assertEquals(1, m6.elements().get(0).getMinimumOccurances());
+        assertEquals(Integer.MAX_VALUE, m6.elements().get(0).getMaximumOccurances());
+
+        GroupGrammarElement m7 = GrammarParser.parse("a*");
+        assertEquals(1, m7.elements().size());
+        assertEquals(0, m7.elements().get(0).getMinimumOccurances());
+        assertEquals(Integer.MAX_VALUE, m7.elements().get(0).getMaximumOccurances());
+    }
 }
diff --git a/ide/db.mysql/src/org/netbeans/modules/db/mysql/impl/InstallationManager.java b/ide/db.mysql/src/org/netbeans/modules/db/mysql/impl/InstallationManager.java
index 757d4cb..37ffa9c 100644
--- a/ide/db.mysql/src/org/netbeans/modules/db/mysql/impl/InstallationManager.java
+++ b/ide/db.mysql/src/org/netbeans/modules/db/mysql/impl/InstallationManager.java
@@ -68,8 +68,8 @@
             ArrayList<Installation> stackInstalls = new ArrayList<Installation>();
             ArrayList<Installation> stdInstalls = new ArrayList<Installation>();
 
-            for ( Iterator it = loadedInstallations.iterator() ; it.hasNext() ; ) {
-                Installation installation = (Installation)it.next();
+            for ( Iterator<Installation> it = loadedInstallations.iterator() ; it.hasNext() ; ) {
+                Installation installation = it.next();
 
                 if ( installation.isStackInstall() ) {
                     stackInstalls.add(installation);                
diff --git a/ide/db/src/org/netbeans/modules/db/explorer/DbActionLoaderSupport.java b/ide/db/src/org/netbeans/modules/db/explorer/DbActionLoaderSupport.java
index f7db569..78c5f75 100644
--- a/ide/db/src/org/netbeans/modules/db/explorer/DbActionLoaderSupport.java
+++ b/ide/db/src/org/netbeans/modules/db/explorer/DbActionLoaderSupport.java
@@ -39,8 +39,8 @@
     public static List<Action> getAllActions() {
         List<Action> actions = new ArrayList<Action>();
         Collection loaders = Lookup.getDefault().lookupAll(DbActionLoader.class);
-        for (Iterator i = loaders.iterator(); i.hasNext();) {
-            actions.addAll(((DbActionLoader)i.next()).getAllActions());
+        for (Iterator<DbActionLoader> i = loaders.iterator(); i.hasNext();) {
+            actions.addAll(i.next().getAllActions());
         }
         
         return actions;
diff --git a/ide/db/src/org/netbeans/modules/db/explorer/DbDriverManager.java b/ide/db/src/org/netbeans/modules/db/explorer/DbDriverManager.java
index 69a8795..d70c1a9 100644
--- a/ide/db/src/org/netbeans/modules/db/explorer/DbDriverManager.java
+++ b/ide/db/src/org/netbeans/modules/db/explorer/DbDriverManager.java
@@ -223,8 +223,8 @@
         // try the registered drivers first
         synchronized (this) {
             if (registeredDrivers != null) {
-                for (Iterator i = registeredDrivers.iterator(); i.hasNext();) {
-                    Driver d = (Driver)i.next();
+                for (Iterator<Driver> i = registeredDrivers.iterator(); i.hasNext();) {
+                    Driver d = i.next();
                     try {
                         if (d.acceptsURL(databaseURL)) {
                             return d;
diff --git a/ide/db/src/org/netbeans/modules/db/explorer/DbMetaDataListenerSupport.java b/ide/db/src/org/netbeans/modules/db/explorer/DbMetaDataListenerSupport.java
index 754bf45..d0be941 100644
--- a/ide/db/src/org/netbeans/modules/db/explorer/DbMetaDataListenerSupport.java
+++ b/ide/db/src/org/netbeans/modules/db/explorer/DbMetaDataListenerSupport.java
@@ -35,14 +35,14 @@
     }
 
     public static void fireTablesChanged(DatabaseConnection dbconn) {
-        for (Iterator i = listeners.allInstances().iterator(); i.hasNext();) {
-            ((DbMetaDataListener)i.next()).tablesChanged(dbconn);
+        for (Iterator<DbMetaDataListener> i = listeners.allInstances().iterator(); i.hasNext();) {
+            i.next().tablesChanged(dbconn);
         }
     }
 
     public static void fireTableChanged(DatabaseConnection dbconn, String tableName) {
-        for (Iterator i = listeners.allInstances().iterator(); i.hasNext();) {
-            ((DbMetaDataListener)i.next()).tableChanged(dbconn, tableName);
+        for (Iterator<DbMetaDataListener> i = listeners.allInstances().iterator(); i.hasNext();) {
+            i.next().tableChanged(dbconn, tableName);
         }
     }
 }
diff --git a/ide/dbapi/src/org/netbeans/modules/dbapi/DbActionLoaderImpl.java b/ide/dbapi/src/org/netbeans/modules/dbapi/DbActionLoaderImpl.java
index a90bad0..6cb06e5 100644
--- a/ide/dbapi/src/org/netbeans/modules/dbapi/DbActionLoaderImpl.java
+++ b/ide/dbapi/src/org/netbeans/modules/dbapi/DbActionLoaderImpl.java
@@ -47,8 +47,8 @@
         Collection providers = Lookups.forPath(ACTION_PROVIDER_PATH).
                 lookupAll(ActionProvider.class);
         
-        for (Iterator i = providers.iterator(); i.hasNext();) {
-            ActionProvider provider = (ActionProvider)i.next();
+        for (Iterator<ActionProvider> i = providers.iterator(); i.hasNext();) {
+            ActionProvider provider = i.next();
             List<Action> actionList = provider.getActions();
             if (actionList != null) {
                 actions.addAll(actionList);
diff --git a/ide/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java b/ide/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java
index b22c0c3..50dd1f2 100644
--- a/ide/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java
+++ b/ide/dbapi/src/org/netbeans/modules/dbapi/DbMetaDataListenerImpl.java
@@ -41,14 +41,14 @@
     private final Lookup.Result listeners = getListeners();
 
     public void tablesChanged(DatabaseConnection dbconn) {
-        for (Iterator i = listeners.allInstances().iterator(); i.hasNext();) {
-            ((MetaDataListener)i.next()).tablesChanged(dbconn);
+        for (Iterator<MetaDataListener> i = listeners.allInstances().iterator(); i.hasNext();) {
+            i.next().tablesChanged(dbconn);
         }
     }
 
     public void tableChanged(DatabaseConnection dbconn, String tableName) {
-        for (Iterator i = listeners.allInstances().iterator(); i.hasNext();) {
-            ((MetaDataListener)i.next()).tableChanged(dbconn, tableName);
+        for (Iterator<MetaDataListener> i = listeners.allInstances().iterator(); i.hasNext();) {
+            i.next().tableChanged(dbconn, tableName);
         }
     }
 
diff --git a/ide/dbapi/src/org/netbeans/modules/dbapi/DbNodeLoaderImpl.java b/ide/dbapi/src/org/netbeans/modules/dbapi/DbNodeLoaderImpl.java
index 38fe60e..7dbf4e8 100644
--- a/ide/dbapi/src/org/netbeans/modules/dbapi/DbNodeLoaderImpl.java
+++ b/ide/dbapi/src/org/netbeans/modules/dbapi/DbNodeLoaderImpl.java
@@ -56,8 +56,8 @@
             providers = Lookups.forPath(NODE_PROVIDER_PATH).lookupAll(NodeProvider.class);    
         }
         
-        for (Iterator i = providers.iterator(); i.hasNext();) {
-            NodeProvider provider = (NodeProvider)i.next();
+        for (Iterator<NodeProvider> i = providers.iterator(); i.hasNext();) {
+            NodeProvider provider = i.next();
             List<Node> nodeList = provider.getNodes();
             if (nodeList != null) {
                 nodes.addAll(nodeList);
diff --git a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/NativeProcessInfo.java b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/NativeProcessInfo.java
index be9211e..903206c 100644
--- a/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/NativeProcessInfo.java
+++ b/ide/dlight.nativeexecution/src/org/netbeans/modules/nativeexecution/NativeProcessInfo.java
@@ -298,6 +298,12 @@
         boolean escape;
 
         for (String arg : arguments) {
+            if(!arg.contains(" ") && !arg.contains("$")) { // NOI18N
+                // This condition avoids quoting --login, [NETBEANS-4143]
+                sb.append(arg).append(' ');
+                continue;
+            }
+
             escape = false;
             sarg[0] = arg;
             arg = Utilities.escapeParameters(sarg);
diff --git a/ide/docker.api/src/org/netbeans/modules/docker/DockerConfig.java b/ide/docker.api/src/org/netbeans/modules/docker/DockerConfig.java
index 768094d..7b071b69 100644
--- a/ide/docker.api/src/org/netbeans/modules/docker/DockerConfig.java
+++ b/ide/docker.api/src/org/netbeans/modules/docker/DockerConfig.java
@@ -91,8 +91,8 @@
         }
 
         List<Credentials> ret = new ArrayList<>(currentAuths.size());
-        for (Iterator it = currentAuths.entrySet().iterator(); it.hasNext();) {
-            Map.Entry e = (Map.Entry) it.next();
+        for (Iterator<Map.Entry> it = currentAuths.entrySet().iterator(); it.hasNext();) {
+            Map.Entry e = it.next();
             if (!(e.getKey() instanceof String)) {
                 continue;
             }
@@ -251,8 +251,8 @@
                     currentHeaders = new JSONObject();
                 }
                 httpHeaders = new HashMap<>();
-                for (Iterator it = currentHeaders.entrySet().iterator(); it.hasNext(); ) {
-                    Map.Entry e = (Map.Entry) it.next();
+                for (Iterator<Map.Entry> it = currentHeaders.entrySet().iterator(); it.hasNext(); ) {
+                    Map.Entry e = it.next();
                     httpHeaders.put((String) e.getKey(), (String) e.getValue());
                 }
             }
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java
index 5a7478e..b9617af 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/CodeTemplateCompletionProvider.java
@@ -209,8 +209,8 @@
         }
         
         private static boolean accept(CodeTemplate template, Collection/*<CodeTemplateFilter>*/ filters) {
-            for(Iterator it = filters.iterator(); it.hasNext();) {
-                CodeTemplateFilter filter = (CodeTemplateFilter)it.next();
+            for(Iterator<CodeTemplateFilter> it = filters.iterator(); it.hasNext();) {
+                CodeTemplateFilter filter = it.next();
                 if (!filter.accept(template))
                     return false;                
             }
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/ParametrizedTextParser.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/ParametrizedTextParser.java
index 24a8521..3203adc 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/ParametrizedTextParser.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/ParametrizedTextParser.java
@@ -120,9 +120,8 @@
         StringBuffer insertTextBuffer = new StringBuffer(parametrizedText.length());
         insertTextBuffer.append(parametrizedTextFragments.get(0));
         int fragIndex = 1;
-        for (Iterator it = allParameters.iterator(); it.hasNext();) {
-            CodeTemplateParameterImpl param = CodeTemplateParameterImpl.get(
-                    (CodeTemplateParameter)it.next());
+        for (Iterator<CodeTemplateParameter> it = allParameters.iterator(); it.hasNext();) {
+            CodeTemplateParameterImpl param = CodeTemplateParameterImpl.get(it.next());
             int startOffset = insertTextBuffer.length();
             insertTextBuffer.append(param.getValue());
             param.resetPositions(
diff --git a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
index 0539a90..db75e4f 100644
--- a/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
+++ b/ide/editor.codetemplates/src/org/netbeans/lib/editor/codetemplates/spi/CodeTemplateInsertRequest.java
@@ -103,8 +103,8 @@
      *  parameter exists.
      */
     public CodeTemplateParameter getMasterParameter(String name) {
-        for (Iterator it = getMasterParameters().iterator(); it.hasNext();) {
-            CodeTemplateParameter master = (CodeTemplateParameter)it.next();
+        for (Iterator<? extends CodeTemplateParameter> it = getMasterParameters().iterator(); it.hasNext();) {
+            CodeTemplateParameter master = it.next();
             if (name.equals(master.getName())) {
                 return master;
             }
diff --git a/ide/editor.deprecated.pre65formatting/src/org/netbeans/editor/ext/ExtFormatter.java b/ide/editor.deprecated.pre65formatting/src/org/netbeans/editor/ext/ExtFormatter.java
index 46c363b..b6ee47b 100644
--- a/ide/editor.deprecated.pre65formatting/src/org/netbeans/editor/ext/ExtFormatter.java
+++ b/ide/editor.deprecated.pre65formatting/src/org/netbeans/editor/ext/ExtFormatter.java
@@ -187,9 +187,9 @@
     /** Remove the first layer which has the same name as the given one.
     */
     public synchronized void removeFormatLayer(String layerName) {
-        Iterator it = formatLayerIterator();
+        Iterator<FormatLayer> it = formatLayerIterator();
         while (it.hasNext()) {
-            if (layerName.equals(((FormatLayer)it.next()).getName())) {
+            if (layerName.equals(it.next().getName())) {
                 it.remove();
                 return;
             }
diff --git a/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/DocumentViewOp.java b/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/DocumentViewOp.java
index 80f1b9a..3eceac7 100644
--- a/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/DocumentViewOp.java
+++ b/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/DocumentViewOp.java
@@ -1510,7 +1510,7 @@
        
         JTextComponent textComponent = docView.getTextComponent();
         Keymap keymap = textComponent.getKeymap();
-        int wheelRotation = evt.getWheelRotation();
+        double wheelRotation = evt.getPreciseWheelRotation();
         if (wheelRotation < 0) {
             Action action = keymap.getAction(KeyStroke.getKeyStroke(0x290, modifiers)); //WHEEL_UP constant
             if (action != null) {
diff --git a/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/FontInfo.java b/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/FontInfo.java
index f188a2f..e9185d7 100644
--- a/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/FontInfo.java
+++ b/ide/editor.lib2/src/org/netbeans/modules/editor/lib2/view/FontInfo.java
@@ -91,8 +91,18 @@
         TextLayout rowHeightTextLayout = new TextLayout("A_|B", renderFont, frc);
         // Round the ascent to eliminate long mantissa without any visible effect on rendering.
         updateRowHeight(rowHeightTextLayout, rowHeightCorrection);
-        // Ceil fractions to whole numbers since this measure may be used for background rendering
-        charWidth = (float) Math.ceil(defaultCharTextLayout.getAdvance());
+        /* We originally did Math.ceil() when setting charWidth, but this was the cause of NETBEANS-346,
+        where the end-of-line marker (SimpleValueNames.TEXT_LIMIT_WIDTH) would appear in the wrong
+        position due to rounding errors, and similar misalignments in tabs vs. spaces, on certain editor
+        zoom levels. This was observed on Java 9 or above on both Windows and MacOS. Java 9 saw many
+        changes in font metrics implementations, including a new font shaping engine (HarfBuzz) and
+        fractional HiDPI support. Avoiding Math.ceil fixes the problem. The original Math.ceil was
+        introduced by Miloslav Metelka on 2011-08-18, with a comment "Ceil fractions to whole numbers
+        since this measure may be used for background rendering" in the commit titled "Improve
+        AnnotationView performance" for the similarly titled BugZilla bug #201102. So the Math.ceil was
+        intended to be an optimization rather than fixing a correctness bug, and it seems safe to remove
+        it. */
+        charWidth = defaultCharTextLayout.getAdvance();
         LineMetrics lineMetrics = renderFont.getLineMetrics(defaultCharText, frc);
         underlineAndStrike[0] = lineMetrics.getUnderlineOffset() * rowHeightCorrection;
         underlineAndStrike[1] = lineMetrics.getUnderlineThickness();
diff --git a/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java b/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java
index d3d7696..f8f1d04 100644
--- a/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java
+++ b/ide/editor.macros/src/org/netbeans/modules/editor/macros/storage/ui/TableSorter.java
@@ -283,8 +283,8 @@
         public int compareTo(Object o) {
             int row1 = modelIndex;
             int row2 = ((Row) o).modelIndex;
-            for (Iterator it = sortingColumns.iterator(); it.hasNext();) {
-                Directive directive = (Directive) it.next();
+            for (Iterator<Directive> it = sortingColumns.iterator(); it.hasNext();) {
+                Directive directive = it.next();
                 int column = directive.column;
                 Object o1 = tableModel.getValueAt(row1, column);
                 Object o2 = tableModel.getValueAt(row2, column);
diff --git a/ide/editor/src/org/netbeans/modules/editor/impl/crlf/CRLFStatus.java b/ide/editor/src/org/netbeans/modules/editor/impl/crlf/CRLFStatus.java
new file mode 100644
index 0000000..7f5f720
--- /dev/null
+++ b/ide/editor/src/org/netbeans/modules/editor/impl/crlf/CRLFStatus.java
@@ -0,0 +1,226 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.netbeans.modules.editor.impl.crlf;
+
+import java.awt.AWTEvent;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.FontMetrics;
+import java.awt.Insets;
+import java.awt.Point;
+import java.awt.Toolkit;
+import java.awt.event.AWTEventListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.BorderFactory;
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.DefaultListModel;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JPanel;
+import javax.swing.JSeparator;
+import javax.swing.Popup;
+import javax.swing.PopupFactory;
+import javax.swing.SwingConstants;
+import javax.swing.border.Border;
+import javax.swing.border.LineBorder;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.text.Document;
+import javax.swing.text.JTextComponent;
+import org.netbeans.api.editor.EditorRegistry;
+import org.netbeans.editor.BaseDocument;
+import org.netbeans.modules.editor.NbEditorUtilities;
+import org.openide.awt.StatusLineElementProvider;
+import org.openide.cookies.EditorCookie;
+import org.openide.loaders.DataObject;
+import org.openide.text.CloneableEditorSupport;
+import org.openide.util.NbBundle;
+import org.openide.util.lookup.ServiceProvider;
+
+/**
+ *
+ * @author lahvac
+ */
+@NbBundle.Messages({
+    "LBL_CR=Mac OS 9 (CR)",
+    "LBL_CRLF=Windows (CRLF)",
+    "LBL_LF=Unix (LF)",
+    "LBL_Unknown=Unknown"
+})
+public class CRLFStatus {
+
+    private static final Insets NULL_INSETS = new Insets(0, 0, 0, 0);
+    private static final JLabel GLOBAL_CRLF = new JLabel("    ");
+    private static final Map<String, String> LINE_ENDINGS_DN = new HashMap<String, String>();
+    private static final String UNKNOWN = Bundle.LBL_Unknown();
+
+    static {
+        LINE_ENDINGS_DN.put(BaseDocument.LS_CR, Bundle.LBL_CR());
+        LINE_ENDINGS_DN.put(BaseDocument.LS_CRLF, Bundle.LBL_CRLF());
+        LINE_ENDINGS_DN.put(BaseDocument.LS_LF, Bundle.LBL_LF());
+
+        EditorRegistry.addPropertyChangeListener(new PropertyChangeListener() {
+            @Override public void propertyChange(PropertyChangeEvent evt) {
+                updateCRLFComponent();
+            }
+        });
+
+        GLOBAL_CRLF.addMouseListener(new MouseAdapter() {
+            @Override public void mouseClicked(MouseEvent e) {
+                final JTextComponent comp = EditorRegistry.focusedComponent();
+
+                if (comp == null) {
+                    Toolkit.getDefaultToolkit().beep();
+                    return;
+                }
+
+                final JList l = new JList();
+                DefaultListModel model = new DefaultListModel();
+
+                for (String k : LINE_ENDINGS_DN.keySet()) {
+                    model.addElement(k);
+                }
+
+                l.setModel(model);
+                l.setSelectedValue(comp.getDocument().getProperty(BaseDocument.READ_LINE_SEPARATOR_PROP), true);
+                l.setCellRenderer(new DefaultListCellRenderer() {
+                    @Override @SuppressWarnings("element-type-mismatch")
+                    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+                        return super.getListCellRendererComponent(list, LINE_ENDINGS_DN.get(value), index, isSelected, cellHasFocus);
+                    }
+                });
+                l.setBorder(new LineBorder(Color.GRAY, 1));
+
+                Point labelStart = GLOBAL_CRLF.getLocationOnScreen();
+                int x = Math.min(labelStart.x, labelStart.x + GLOBAL_CRLF.getSize().width - l.getPreferredSize().width);
+                int y = labelStart.y - l.getPreferredSize().height;
+
+                final Popup popup = PopupFactory.getSharedInstance().getPopup(GLOBAL_CRLF, l, x, y);
+                final AWTEventListener multicastListener = new AWTEventListener() {
+                     @Override public void eventDispatched(AWTEvent event) {
+                         if (event instanceof MouseEvent && ((MouseEvent) event).getClickCount() > 0) {
+                             popup.hide();
+                             Toolkit.getDefaultToolkit().removeAWTEventListener(this);
+                         }
+                     }
+                 };
+
+                Toolkit.getDefaultToolkit().addAWTEventListener(multicastListener, AWTEvent.MOUSE_EVENT_MASK);
+
+                l.addListSelectionListener(new ListSelectionListener() {
+                    @Override public void valueChanged(ListSelectionEvent e) {
+                        comp.getDocument().putProperty(BaseDocument.READ_LINE_SEPARATOR_PROP, l.getSelectedValue());
+                        DataObject dataObject = NbEditorUtilities.getDataObject(comp.getDocument());
+
+                        if (dataObject != null) {
+                            try {
+                                EditorCookie ec = dataObject.getLookup().lookup(EditorCookie.class);
+                                Method notifyModified = CloneableEditorSupport.class.getDeclaredMethod("callNotifyModified");
+
+                                notifyModified.setAccessible(true);
+                                notifyModified.invoke(ec);
+                            } catch (ReflectiveOperationException | SecurityException ex) {
+                                Logger.getLogger(CRLFStatus.class.getName()).log(Level.FINE, null, ex);
+                            }
+                        }
+                        showLE(comp.getDocument(), GLOBAL_CRLF);
+                    }
+                });
+
+                popup.show();
+            }
+        });
+
+        Collection<String> dimensions = new ArrayList<String>(LINE_ENDINGS_DN.values());
+
+        dimensions.add(UNKNOWN);
+
+        initMinDimension(dimensions);
+    }
+
+    private static void updateCRLFComponent() {
+        final JTextComponent comp = EditorRegistry.focusedComponent();
+
+        if (comp != null) {
+            showLE(comp.getDocument(), GLOBAL_CRLF);
+        } else {
+            GLOBAL_CRLF.setText("    ");
+        }
+    }
+
+    private static void showLE(Document doc, JLabel l) {
+        @SuppressWarnings("element-type-mismatch")
+        String dn = LINE_ENDINGS_DN.get(doc.getProperty(BaseDocument.READ_LINE_SEPARATOR_PROP));
+
+        if (dn == null) {
+            dn = UNKNOWN;
+        }
+
+        l.setText(dn);
+    }
+
+    private static void initMinDimension(Iterable<? extends String> maxStrings) {
+        FontMetrics fm = GLOBAL_CRLF.getFontMetrics(GLOBAL_CRLF.getFont());
+        int minWidth = 0;
+        for (String s : maxStrings) {
+            minWidth = Math.max(minWidth, fm.stringWidth(s));
+        }
+        Border b = GLOBAL_CRLF.getBorder();
+        Insets ins = (b != null) ? b.getBorderInsets(GLOBAL_CRLF) : NULL_INSETS;
+        minWidth += ins.left + ins.right;
+        int minHeight = fm.getHeight() + ins.top + ins.bottom;
+        GLOBAL_CRLF.setMinimumSize(new Dimension(minWidth, minHeight));
+        GLOBAL_CRLF.setPreferredSize(new Dimension(minWidth, minHeight));
+    }
+
+    static Component panelWithSeparator(JLabel cell) {
+        JSeparator separator = new JSeparator(SwingConstants.VERTICAL) {
+            @Override
+            public Dimension getPreferredSize() {
+                return new Dimension(3, 3); // Y-unimportant -> gridlayout will stretch it
+            }
+        };
+        separator.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
+
+        JPanel panel = new JPanel(new BorderLayout());
+        panel.add(separator, BorderLayout.WEST);
+        panel.add(cell);
+        return panel;
+    }
+
+    @ServiceProvider(service=StatusLineElementProvider.class)
+    public static final class StatusLineElementProviderImpl implements StatusLineElementProvider {
+        @Override public Component getStatusLineElement() {
+            return panelWithSeparator(GLOBAL_CRLF);
+        }
+    }
+}
diff --git a/ide/gsf.testrunner.ui/src/org/netbeans/modules/gsf/testrunner/ui/CommonTestsCfgOfCreate.java b/ide/gsf.testrunner.ui/src/org/netbeans/modules/gsf/testrunner/ui/CommonTestsCfgOfCreate.java
index 75cb2d6..65b7f5a 100644
--- a/ide/gsf.testrunner.ui/src/org/netbeans/modules/gsf/testrunner/ui/CommonTestsCfgOfCreate.java
+++ b/ide/gsf.testrunner.ui/src/org/netbeans/modules/gsf/testrunner/ui/CommonTestsCfgOfCreate.java
@@ -511,7 +511,7 @@
         setSelectedTestingFramework();
         Collection<? extends GuiUtilsProvider> providers = Lookup.getDefault().lookupAll(GuiUtilsProvider.class);
         for (GuiUtilsProvider provider : providers) {
-            if(selectedTestingFramework != null && selectedTestingFramework.equals(provider.getJunitFramework())) {
+            if(selectedTestingFramework != null && selectedTestingFramework.startsWith(provider.getJunitFramework())) {
                 chkIntegrationTests.setEnabled(true);
             } else {
                 chkIntegrationTests.setEnabled(false);
@@ -1173,8 +1173,8 @@
     private void fireStateChange() {
         if (changeListeners != null) {
             ChangeEvent e = new ChangeEvent(this);
-            for (Iterator i = changeListeners.iterator(); i.hasNext(); ) {
-                ((ChangeListener) i.next()).stateChanged(e);
+            for (Iterator<ChangeListener> i = changeListeners.iterator(); i.hasNext(); ) {
+                i.next().stateChanged(e);
             }
         }
     }
diff --git a/ide/gsf.testrunner/manifest.mf b/ide/gsf.testrunner/manifest.mf
index 5f556b2..b71afc4 100644
--- a/ide/gsf.testrunner/manifest.mf
+++ b/ide/gsf.testrunner/manifest.mf
@@ -3,5 +3,5 @@
 OpenIDE-Module: org.netbeans.modules.gsf.testrunner/2
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gsf/testrunner/Bundle.properties
 OpenIDE-Module-Layer: org/netbeans/modules/gsf/testrunner/layer.xml
-OpenIDE-Module-Specification-Version: 2.17
+OpenIDE-Module-Specification-Version: 2.18
 
diff --git a/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig b/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig
index edae54b..d2a000f 100644
--- a/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig
+++ b/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig
@@ -159,8 +159,6 @@
 meth public java.awt.image.ColorModel getColorModel()
 meth public java.awt.image.VolatileImage createVolatileImage(int,int)
 meth public java.awt.image.VolatileImage createVolatileImage(int,int,java.awt.ImageCapabilities) throws java.awt.AWTException
-meth public java.awt.peer.ComponentPeer getPeer()
- anno 0 java.lang.Deprecated()
 meth public java.beans.PropertyChangeListener[] getPropertyChangeListeners()
 meth public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String)
 meth public java.lang.String getName()
diff --git a/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/TestCreatorProviderProcessor.java b/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/TestCreatorProviderProcessor.java
index d8bc65d..d101296 100644
--- a/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/TestCreatorProviderProcessor.java
+++ b/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/TestCreatorProviderProcessor.java
@@ -51,6 +51,9 @@
             f.stringvalue("instanceOf", TestCreatorProvider.class.getName());
             f.bundlevalue("displayName", registration.displayName());
             f.bundlevalue("identifier", registration.identifier());
+            if (registration.position() != -1) {
+                f.intvalue("position", registration.position());
+            }
             f.write();
         }
 
diff --git a/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/api/TestCreatorProvider.java b/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/api/TestCreatorProvider.java
index b213845..db88db6 100644
--- a/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/api/TestCreatorProvider.java
+++ b/ide/gsf.testrunner/src/org/netbeans/modules/gsf/testrunner/api/TestCreatorProvider.java
@@ -69,6 +69,10 @@
     @Target(ElementType.TYPE)
     @Retention(RetentionPolicy.SOURCE)
     public @interface Registration {
+        /** Priority of the provider. The lower the higher priority it has.
+         * @since 2.18
+         */
+        int position() default Integer.MAX_VALUE;
 
         /**
          * Identifier of the TestCreatorProvider. 
diff --git a/ide/image/src/org/netbeans/modules/image/navigation/ImageNavigatorPanel.java b/ide/image/src/org/netbeans/modules/image/navigation/ImageNavigatorPanel.java
index 790aea3..30d797d 100644
--- a/ide/image/src/org/netbeans/modules/image/navigation/ImageNavigatorPanel.java
+++ b/ide/image/src/org/netbeans/modules/image/navigation/ImageNavigatorPanel.java
@@ -178,7 +178,7 @@
 
     private DataObject getDataObject(Collection data) {
         DataObject dataObject = null;
-        Iterator it = data.iterator();
+        Iterator<?> it = data.iterator();
         while (it.hasNext()) {
             Object o = it.next();
             if (o instanceof DataObject) {
diff --git a/ide/jellytools.ide/src/org/netbeans/jellytools/EditorWindowOperator.java b/ide/jellytools.ide/src/org/netbeans/jellytools/EditorWindowOperator.java
index ca3dfa6..a9dd006 100644
--- a/ide/jellytools.ide/src/org/netbeans/jellytools/EditorWindowOperator.java
+++ b/ide/jellytools.ide/src/org/netbeans/jellytools/EditorWindowOperator.java
@@ -123,9 +123,9 @@
             SwingUtilities.invokeAndWait(new Runnable() {
 
                 public void run() {
-                    Iterator iter = Arrays.asList(mode.getTopComponents()).iterator();
+                    Iterator<TopComponent> iter = Arrays.asList(mode.getTopComponents()).iterator();
                     while (iter.hasNext()) {
-                        EditorOperator.close((TopComponent) iter.next(), false);
+                        EditorOperator.close(iter.next(), false);
                     }
                 }
             });
diff --git a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
index 099b2ca..9b189ff 100644
--- a/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
+++ b/ide/languages.yaml/src/org/netbeans/modules/languages/yaml/YamlLexer.java
@@ -24,33 +24,36 @@
 import org.netbeans.spi.lexer.LexerRestartInfo;
 import org.netbeans.spi.lexer.TokenFactory;
 
+import static org.netbeans.modules.languages.yaml.YamlLexer.State.*;
+
 /**
  *
  * @author Tor Norbye
  */
 public final class YamlLexer implements Lexer<YamlTokenId> {
-
+    enum State {
+        ISI_WHITESPACE,           //  0 - initial lexer state = content language, no whitespace seen
+        ISA_LT,                   //  1 - after '<' char
+        ISA_LT_PC,                //  2 - after '<%' - comment or directive or scriptlet
+        ISI_SCRIPTLET,            //  3 - inside Ruby scriptlet
+        ISI_SCRIPTLET_PC,         //  4 - just after % in scriptlet
+        ISI_COMMENT_SCRIPTLET,    //  5 - Inside a Ruby comment scriptlet
+        ISI_COMMENT_SCRIPTLET_PC, //  6 - just after % in a Ruby comment scriptlet
+        ISI_EXPR_SCRIPTLET,       //  7 - inside Ruby expression scriptlet
+        ISI_EXPR_SCRIPTLET_PC,    //  8 - just after % in an expression scriptlet
+        ISI_RUBY_LINE,            //  9 - just after % in an %-line
+        ISI_NONWHITESPACE,        // 10 - after seeing non space characters on a line
+        ISI_PHP,                  // 11 - after <?
+        ISA_CURLY,                // 12 - after '{' char
+        ISI_MUSTACHE,             // 13 - after '{{'
+        ISI_MUSTACHE_QUOTE,       // 14 - cover {{ '}}' }} inside mouthstache
+    }
     private static final int EOF = LexerInput.EOF;
     private final LexerInput input;
     private final TokenFactory<YamlTokenId> tokenFactory;
     //main internal lexer state
-    private int state = ISI_WHITESPACE;
+    private State state = ISI_WHITESPACE;
     // Internal analyzer states
-    private static final int ISI_WHITESPACE = 0;  // initial lexer state = content language, no whitespace seen
-    private static final int ISA_LT = 1; // after '<' char
-    private static final int ISA_LT_PC = 2; // after '<%' - comment or directive or scriptlet
-    private static final int ISI_SCRIPTLET = 3; // inside Ruby scriptlet
-    private static final int ISI_SCRIPTLET_PC = 4; // just after % in scriptlet
-    private static final int ISI_COMMENT_SCRIPTLET = 5; // Inside a Ruby comment scriptlet
-    private static final int ISI_COMMENT_SCRIPTLET_PC = 6; // just after % in a Ruby comment scriptlet
-    private static final int ISI_EXPR_SCRIPTLET = 7; // inside Ruby expression scriptlet
-    private static final int ISI_EXPR_SCRIPTLET_PC = 8; // just after % in an expression scriptlet
-    private static final int ISI_RUBY_LINE = 9; // just after % in an %-line
-    private static final int ISI_NONWHITESPACE = 10; // after seeing non space characters on a line
-    private static final int ISI_PHP = 11; // after <?
-    private static final int ISA_CURLY = 12; // after '{' char
-    private static final int ISI_MUSTACHE = 13; // after '{{'
-    private static final int ISI_MUSTACHE_QUOTE = 14; // cover {{ '}}' }} inside mouthstache
 
     /**
      * A Lexer for ruby strings
@@ -64,13 +67,13 @@
         if (info.state() == null) {
             this.state = ISI_WHITESPACE;
         } else {
-            state = ((Integer) info.state());
+            state = State.values()[(Integer) info.state()];
         }
     }
 
     @Override
     public Object state() {
-        return state;
+        return (Integer) state.ordinal();
     }
 
     @Override
@@ -462,6 +465,9 @@
             case ISI_COMMENT_SCRIPTLET:
                 state = ISI_WHITESPACE;
                 return token(YamlTokenId.RUBYCOMMENT);
+            case ISA_CURLY:
+                state = ISI_WHITESPACE;
+                return token(YamlTokenId.TEXT);
             case ISI_PHP:
                 state = ISI_WHITESPACE;
                 return token(YamlTokenId.PHP);
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt
new file mode 100644
index 0000000..d13978a
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt
@@ -0,0 +1,3 @@
+.t.e.s.t. SimpleCurly
+n: {
+.e.o.f.
\ No newline at end of file
diff --git a/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt.tokens.txt b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt.tokens.txt
new file mode 100644
index 0000000..54b3aeb
--- /dev/null
+++ b/ide/languages.yaml/test/unit/data/testfiles/issue_NETBEANS-4167.yaml.txt.tokens.txt
@@ -0,0 +1,7 @@
+.t.e.s.t. SimpleCurly
+TEXT            "n: {", la=1, st=0
+----- EOF -----
+
+<Unnamed test>
+----- EOF -----
+
diff --git a/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java b/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
index fd1527f..e0463ef 100644
--- a/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
+++ b/ide/languages.yaml/test/unit/src/org/netbeans/modules/languages/yaml/YamlLexerTest.java
@@ -60,6 +60,11 @@
                 YamlTokenId.language());
     }
 
+    public void testNETBEANS_4167() throws Exception {
+        LexerTestUtilities.checkTokenDump(this, "testfiles/issue_NETBEANS-4167.yaml.txt",
+                YamlTokenId.language());
+    }
+
      public void testIssue246124() throws Exception {
         LexerTestUtilities.checkTokenDump(this, "testfiles/issue246124.yaml",
                 YamlTokenId.language());
diff --git a/ide/libs.freemarker/external/binaries-list b/ide/libs.freemarker/external/binaries-list
index 7671051..33009cf 100644
--- a/ide/libs.freemarker/external/binaries-list
+++ b/ide/libs.freemarker/external/binaries-list
@@ -14,4 +14,4 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-A251045E5FADD02824D17F1AA8C412ACCF1AA1C9 org.freemarker:freemarker:2.3.19
+86D70D335C7821178F62B554AA3A4BC538A94F1A org.freemarker:freemarker:2.3.30
diff --git a/ide/libs.freemarker/external/freemarker-2.3.19-license.txt b/ide/libs.freemarker/external/freemarker-2.3.19-license.txt
deleted file mode 100644
index e93b10f..0000000
--- a/ide/libs.freemarker/external/freemarker-2.3.19-license.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-Name: FreeMarker
-Version: 2.3.19
-License: freemarker
-Origin: http://surfnet.dl.sourceforge.net/project/freemarker/freemarker/2.3.19/freemarker-2.3.19.tar.gz
-OSR: 5726
-Description: Template engine
-Comment: contents trimmed with pattern: freemarker/ext/* freemarker/ext/dom/* freemarker/ext/jdom/* freemarker/ext/jsp/* freemarker/ext/rhino/* freemarker/ext/servlet/* freemarker/ext/xml/* freemarker/log/**/Log4J* freemarker/log/**/Avalon* freemarker/**/*Jython* freemarker/cache/WebappTemplateLoader*
-
-FreeMarker 1.x was released under the LGPL license. Later, by community
-consensus, we have switched over to a BSD-style license. As of FreeMarker
-2.2pre1, the original author, Benjamin Geer, has relinquished the copyright in
-behalf of Visigoth Software Society. The current copyright holder is the
-Visigoth Software Society.
-
-------------------------------------------------------------------------------
-Copyright (c) 2003 The Visigoth Software Society. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1.  Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
-2.  The end-user documentation included with the redistribution, if any, must
-    include the following acknowlegement:
-      "This product includes software developed by the
-      Visigoth Software Society (http://www.visigoths.org/)."
-    Alternately, this acknowlegement may appear in the software itself, if and
-    wherever such third-party acknowlegements normally appear.
-
-3.  Neither the name "FreeMarker", "Visigoth", nor any of the names of the
-    project contributors may be used to endorse or promote products derived
-    from this software without prior written permission. For written
-    permission, please contact visigoths@visigoths.org.
-
-4.  Products derived from this software may not be called "FreeMarker" or
-    "Visigoth" nor may "FreeMarker" or "Visigoth" appear in their names
-    without prior written permission of the Visigoth Software Society.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-VISIGOTH SOFTWARE SOCIETY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-------------------------------------------------------------------------------
-This software consists of voluntary contributions made by many individuals on
-behalf of the Visigoth Software Society. For more information on the Visigoth
-Software Society, please see http://www.visigoths.org/
diff --git a/ide/libs.freemarker/external/freemarker-2.3.19-notice.txt b/ide/libs.freemarker/external/freemarker-2.3.19-notice.txt
deleted file mode 100644
index 5fa6447..0000000
--- a/ide/libs.freemarker/external/freemarker-2.3.19-notice.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This product includes software developed by the Visigoth Software Society (http://www.visigoths.org/).
-
diff --git a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt b/ide/libs.freemarker/external/freemarker-2.3.30-license.txt
similarity index 91%
copy from platform/libs.flatlaf/external/flatlaf-0.26-license.txt
copy to ide/libs.freemarker/external/freemarker-2.3.30-license.txt
index b1b4cd7..f2cfad7 100644
--- a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt
+++ b/ide/libs.freemarker/external/freemarker-2.3.30-license.txt
@@ -1,10 +1,8 @@
-Name: FlatLaf Look and Feel
-Description: FlatLaf Look and Feel
-Version: 0.26
-Files: flatlaf-0.26.jar
-License: Apache-2.0
-Origin: FormDev Software GmbH.
-URL: https://www.formdev.com/flatlaf/
+Name: Apache FreeMarker
+Version: 2.3.30
+Origin: Apache Software Foundation
+License: Apache-2.0-freemarker
+Description: Template engine
 
                                  Apache License
                            Version 2.0, January 2004
@@ -207,3 +205,24 @@
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
+
+=========================================================================
+
+The source code contains the following binaries,
+which were created at the Apache FreeMarker project, and hence are
+covered by the same license as the other source files of it:
+
+  src/main/misc/overloadedNumberRules/prices.ods
+  src/manual/en_US/docgen-originals/figures/overview.odg
+  src/manual/en_US/docgen-originals/figures/model2sketch_with_alpha.png
+  src/manual/en_US/docgen-originals/figures/tree_with_alpha.png
+  src/manual/en_US/favicon.png
+  src/manual/en_US/figures/model2sketch.png
+  src/manual/en_US/figures/overview.png
+  src/manual/en_US/figures/tree.png
+  src/manual/en_US/logo.png
+  src/manual/zh_CN/favicon.png
+  src/manual/zh_CN/figures/model2sketch.png
+  src/manual/zh_CN/figures/overview.png
+  src/manual/zh_CN/figures/tree.png
+  src/manual/zh_CN/logo.png
diff --git a/ide/libs.freemarker/external/freemarker-2.3.30-notice.txt b/ide/libs.freemarker/external/freemarker-2.3.30-notice.txt
new file mode 100644
index 0000000..929539f
--- /dev/null
+++ b/ide/libs.freemarker/external/freemarker-2.3.30-notice.txt
@@ -0,0 +1,5 @@
+Apache FreeMarker
+Copyright 2015-2018 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/ide/libs.freemarker/manifest.mf b/ide/libs.freemarker/manifest.mf
index 7eb5284..a69d26a 100644
--- a/ide/libs.freemarker/manifest.mf
+++ b/ide/libs.freemarker/manifest.mf
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 OpenIDE-Module: org.netbeans.libs.freemarker/1
 OpenIDE-Module-Provides: javax.script.ScriptEngine.freemarker, javax.script.ScriptEngine.FreeMarker
-OpenIDE-Module-Implementation-Version: 238
+OpenIDE-Module-Implementation-Version: 239
 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/freemarker/Bundle.properties
 
diff --git a/ide/libs.freemarker/nbproject/project.properties b/ide/libs.freemarker/nbproject/project.properties
index c4a8aaa..9d27b79 100644
--- a/ide/libs.freemarker/nbproject/project.properties
+++ b/ide/libs.freemarker/nbproject/project.properties
@@ -19,7 +19,7 @@
 
 javac.compilerargs=-Xlint:unchecked
 javac.source=1.6
-release.external/freemarker-2.3.19.jar=modules/ext/freemarker-2.3.19.jar
+release.external/freemarker-2.3.30.jar=modules/ext/freemarker-2.3.30.jar
 module.jar.verifylinkageignores=freemarker.((ext.ant.FreemarkerXmlTask)|(template.DefaultObjectWrapper))
 spec.version.base=2.42.0
 
diff --git a/ide/libs.freemarker/nbproject/project.xml b/ide/libs.freemarker/nbproject/project.xml
index 999b58b..31b14a4 100644
--- a/ide/libs.freemarker/nbproject/project.xml
+++ b/ide/libs.freemarker/nbproject/project.xml
@@ -119,8 +119,8 @@
             </test-dependencies>
             <public-packages/>
             <class-path-extension>
-                <runtime-relative-path>ext/freemarker-2.3.19.jar</runtime-relative-path>
-                <binary-origin>external/freemarker-2.3.19.jar</binary-origin>
+                <runtime-relative-path>ext/freemarker-2.3.30.jar</runtime-relative-path>
+                <binary-origin>external/freemarker-2.3.30.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/ide/libs.freemarker/src/org/netbeans/libs/freemarker/FreemarkerFactory.java b/ide/libs.freemarker/src/org/netbeans/libs/freemarker/FreemarkerFactory.java
index 530fbbc..3645fae 100644
--- a/ide/libs.freemarker/src/org/netbeans/libs/freemarker/FreemarkerFactory.java
+++ b/ide/libs.freemarker/src/org/netbeans/libs/freemarker/FreemarkerFactory.java
@@ -35,7 +35,7 @@
 
     @Override
     public String getEngineVersion() {
-        return "2.3.19";
+        return "2.3.30";
     }
 
     @Override
@@ -50,7 +50,7 @@
 
     @Override
     public String getLanguageVersion() {
-        return "2.3.19";
+        return "2.3.30";
     }
 
     @Override
diff --git a/ide/libs.freemarker/test/unit/src/org/netbeans/api/templates/ProcessorTest.java b/ide/libs.freemarker/test/unit/src/org/netbeans/api/templates/ProcessorTest.java
index 156aa84..2ac12ff 100644
--- a/ide/libs.freemarker/test/unit/src/org/netbeans/api/templates/ProcessorTest.java
+++ b/ide/libs.freemarker/test/unit/src/org/netbeans/api/templates/ProcessorTest.java
@@ -110,7 +110,7 @@
         assertEquals(exp, w.toString());
     }
 
-    public void testFailTwice() throws Exception {
+    public void ignoreTestFailTwice() throws Exception {
         FileObject template = FileUtil.createData(root, "some.txt");
         OutputStream os = template.getOutputStream();
         String txt = "<html><h1>${unknown}</h1></html>";
@@ -236,7 +236,7 @@
         assertEquals(exp, w.toString());
     }
 
-    public void testMissingVariablesAreJustLogged() throws Exception {
+    public void ignoreTestMissingVariablesAreJustLogged() throws Exception {
         FileObject template = FileUtil.createData(root, "Templates/Others/some.txt");
         {
             OutputStream os = template.getOutputStream();
@@ -261,7 +261,7 @@
         assertEquals("The expected exception was reported:", expText, tfeh.getExceptions().get(0).getMessage());
     }
 
-    public void testMissingImportsAreJustLogged() throws Exception {
+    public void ignoreTestMissingImportsAreJustLogged() throws Exception {
         FileObject template = FileUtil.createData(root, "Templates/Others/some.txt");
         {
             OutputStream os = template.getOutputStream();
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
index c45b117..f641477 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java
@@ -120,7 +120,7 @@
                                                    if (p != null) {
                                                        LSPBindings b = project2MimeType2Server.getOrDefault(p, Collections.emptyMap()).remove(mimeType);
 
-                                                       if (b != null) {
+                                                       if (b != null && b.process != null) {
                                                            b.process.destroy();
                                                        }
                                                    }
@@ -131,6 +131,10 @@
                                                LanguageServerDescription desc = provider.startServer(Lookups.fixed(prj, mimeTypeInfo, restarter));
 
                                                if (desc != null) {
+                                                   LSPBindings b = LanguageServerProviderAccessor.getINSTANCE().getBindings(desc);
+                                                   if (b != null) {
+                                                       return b;
+                                                   }
                                                    try {
                                                        LanguageClientImpl lci = new LanguageClientImpl();
                                                        InputStream in = LanguageServerProviderAccessor.getINSTANCE().getInputStream(desc);
@@ -140,8 +144,9 @@
                                                        launcher.startListening();
                                                        LanguageServer server = launcher.getRemoteProxy();
                                                        InitializeResult result = initServer(p, server, prj.getProjectDirectory()); //XXX: what if a different root is expected????
-                                                       LSPBindings b = new LSPBindings(server, result, LanguageServerProviderAccessor.getINSTANCE().getProcess(desc));
+                                                       b = new LSPBindings(server, result, LanguageServerProviderAccessor.getINSTANCE().getProcess(desc));
                                                        lci.setBindings(b);
+                                                       LanguageServerProviderAccessor.getINSTANCE().setBindings(desc, b);
                                                        return b;
                                                    } catch (InterruptedException | ExecutionException ex) {
                                                        LOG.log(Level.WARNING, null, ex);
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java
index 42d7234..e62d4e6 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LanguageServerProviderAccessor.java
@@ -51,4 +51,6 @@
     public abstract InputStream getInputStream(LanguageServerDescription desc);
     public abstract OutputStream getOutputStream(LanguageServerDescription desc);
     public abstract Process getProcess(LanguageServerDescription desc);
+    public abstract LSPBindings getBindings(LanguageServerDescription desc);
+    public abstract void setBindings(LanguageServerDescription desc, LSPBindings bindings);
 }
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
index c652743..34c7dfa 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java
@@ -35,6 +35,9 @@
 import org.eclipse.lsp4j.TextDocumentPositionParams;
 import org.eclipse.lsp4j.jsonrpc.messages.Either;
 import org.netbeans.api.editor.mimelookup.MimeRegistration;
+import org.netbeans.api.lexer.Language;
+import org.netbeans.api.lexer.TokenHierarchy;
+import org.netbeans.api.lexer.TokenSequence;
 import org.netbeans.editor.BaseDocument;
 import org.netbeans.editor.Utilities;
 import org.netbeans.lib.editor.hyperlink.spi.HyperlinkProviderExt;
@@ -42,6 +45,8 @@
 import org.netbeans.modules.editor.NbEditorUtilities;
 import org.netbeans.modules.lsp.client.LSPBindings;
 import org.netbeans.modules.lsp.client.Utils;
+import org.netbeans.modules.textmate.lexer.TextmateTokenId;
+import org.netbeans.spi.lexer.LanguageHierarchy;
 import org.openide.cookies.LineCookie;
 import org.openide.filesystems.FileObject;
 import org.openide.filesystems.URLMapper;
@@ -76,7 +81,17 @@
 
         try {
             //XXX: not really using the server, are we?
-            return Utilities.getIdentifierBlock((BaseDocument) doc, offset);
+            int[] ident = Utilities.getIdentifierBlock((BaseDocument) doc, offset);
+            TokenSequence<?> ts = TokenHierarchy.get(doc).tokenSequence();
+            ts.move(offset);
+            if (ts.moveNext() && ts.token().id() == TextmateTokenId.TEXTMATE) {
+                if (ident != null) {
+                    return new int[] {ts.offset(), ts.offset() + ts.token().length()};
+                } else {
+                    return null;
+                }
+            }
+            return ident;
         } catch (BadLocationException ex) {
             return null;
         }
diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java
index 5282617..6ad31d2 100644
--- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java
+++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/spi/LanguageServerProvider.java
@@ -23,6 +23,7 @@
 import org.netbeans.api.annotations.common.CheckForNull;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullAllowed;
+import org.netbeans.modules.lsp.client.LSPBindings;
 import org.netbeans.modules.lsp.client.LanguageServerProviderAccessor;
 import org.openide.util.Lookup;
 
@@ -62,6 +63,7 @@
         private final InputStream in;
         private final OutputStream out;
         private final Process process;
+        private LSPBindings bindings;
 
         private LanguageServerDescription(InputStream in, OutputStream out, Process process) {
             this.in = in;
@@ -85,6 +87,16 @@
                 public Process getProcess(LanguageServerDescription desc) {
                     return desc.process;
                 }
+
+                @Override
+                public LSPBindings getBindings(LanguageServerDescription desc) {
+                    return desc.bindings;
+                }
+
+                @Override
+                public void setBindings(LanguageServerDescription desc, LSPBindings bindings) {
+                    desc.bindings = bindings;
+                }
             });
         }
 
diff --git a/ide/notifications/src/org/netbeans/modules/notifications/Bundle.properties b/ide/notifications/src/org/netbeans/modules/notifications/Bundle.properties
index 6672e86..a919287 100644
--- a/ide/notifications/src/org/netbeans/modules/notifications/Bundle.properties
+++ b/ide/notifications/src/org/netbeans/modules/notifications/Bundle.properties
@@ -20,7 +20,8 @@
 #name of the module
 OpenIDE-Module-Name=Notifications
 #module short description
-OpenIDE-Module-Short-Description=Notifications pup-ups and Notifications Center
+OpenIDE-Module-Short-Description=Notifications pop-ups and Notifications Center
+OpenIDE-Module-Long-Description=Provides IDE notifications pop-ups and Notifications Center
 
 LBL_Category=Category:
 LBL_Priority=Priority:
diff --git a/ide/notifications/src/org/netbeans/modules/notifications/filter/FilterEditor.java b/ide/notifications/src/org/netbeans/modules/notifications/filter/FilterEditor.java
index f911657..815e90e 100644
--- a/ide/notifications/src/org/netbeans/modules/notifications/filter/FilterEditor.java
+++ b/ide/notifications/src/org/netbeans/modules/notifications/filter/FilterEditor.java
@@ -216,9 +216,9 @@
     void updateFilters() {
         filterRepository.clear();             // throw away all original filters
 
-        Iterator filterIt = filterModel.iterator();
+        Iterator<NotificationFilter> filterIt = filterModel.iterator();
         while (filterIt.hasNext()) {
-            NotificationFilter f = (NotificationFilter) filterIt.next();
+            NotificationFilter f = filterIt.next();
             if (filter2types.get(f.getCategoryFilter()) != null) {
                 f.setCategoryFilter(filter2types.get(f.getCategoryFilter()).getFilter()); // has panel, was touched
             }
diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/LogContext.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/LogContext.java
index e9a353e..0bf147d 100644
--- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/LogContext.java
+++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/LogContext.java
@@ -1344,8 +1344,8 @@
         private void expireRoots() {
             long l = System.currentTimeMillis();
             
-            for (Iterator mapIt = rootHistory.values().iterator(); mapIt.hasNext(); ) {
-                Map<EventType, RingTimeBuffer> map = (Map<EventType, RingTimeBuffer>)mapIt.next();
+            for (Iterator<Map<EventType, RingTimeBuffer>> mapIt = rootHistory.values().iterator(); mapIt.hasNext(); ) {
+                Map<EventType, RingTimeBuffer> map = mapIt.next();
                 for (Iterator<Map.Entry<EventType, RingTimeBuffer>> it = map.entrySet().iterator(); it.hasNext(); ) {
                     Map.Entry<EventType, RingTimeBuffer> entry = it.next();
                     EventType et = entry.getKey();
diff --git a/ide/projectuiapi/src/org/netbeans/modules/project/uiapi/DefaultProjectOperationsImplementation.java b/ide/projectuiapi/src/org/netbeans/modules/project/uiapi/DefaultProjectOperationsImplementation.java
index b9526af..0ca074e 100644
--- a/ide/projectuiapi/src/org/netbeans/modules/project/uiapi/DefaultProjectOperationsImplementation.java
+++ b/ide/projectuiapi/src/org/netbeans/modules/project/uiapi/DefaultProjectOperationsImplementation.java
@@ -647,7 +647,7 @@
         confirm.setEnabled(((InvalidablePanel) panel).isPanelValid());
         
         final Dialog[] dialog = new Dialog[1];
-        
+
         DialogDescriptor dd = new DialogDescriptor(doSetMessageType ? panel : wrapPanel(panel), caption, true, new Object[] {confirm, cancel}, cancelButton != null ? cancel : confirm, DialogDescriptor.DEFAULT_ALIGN, null, new ActionListener() {
             private boolean operationRunning;
             public @Override void actionPerformed(ActionEvent e) {
@@ -691,7 +691,9 @@
                             } finally {                            
                                 SwingUtilities.invokeLater(new Runnable() {
                                     public @Override void run() {
-                                        dialog[0].setVisible(false);
+                                        if (dialog[0] != null) {
+                                            dialog[0].setVisible(false);
+                                        }
                                         if (e.get() != null) {
                                             LOG.log(Level.WARNING, null, e.get());
                                         }
diff --git a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/DebuggingViewComponent.java b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/DebuggingViewComponent.java
index ac61de4..5501cb4 100644
--- a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/DebuggingViewComponent.java
+++ b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/views/debugging/DebuggingViewComponent.java
@@ -873,7 +873,7 @@
     public void mouseWheelMoved(MouseWheelEvent e) {
         JScrollBar scrollBar = mainScrollPane.getVerticalScrollBar();
         if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
-            int totalScrollAmount = e.getUnitsToScroll() * scrollBar.getUnitIncrement();
+            int totalScrollAmount = (int) (e.getPreciseWheelRotation() * e.getScrollAmount() * scrollBar.getUnitIncrement());
             scrollBar.setValue(scrollBar.getValue() + totalScrollAmount);
         }
     }
diff --git a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogMounterModel.java b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogMounterModel.java
index c906c5a..5db9802 100644
--- a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogMounterModel.java
+++ b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogMounterModel.java
@@ -118,8 +118,8 @@
 
     private void fireStateChanged() {
 
-        for (Iterator it = changeListeners.iterator(); it.hasNext();) {
-            ChangeListener next = (ChangeListener) it.next();
+        for (Iterator<ChangeListener> it = changeListeners.iterator(); it.hasNext();) {
+            ChangeListener next = it.next();
             next.stateChanged(new ChangeEvent(this));
         }
     }
diff --git a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogNode.java b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogNode.java
index 569dd69..dd2874f 100644
--- a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogNode.java
+++ b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/CatalogNode.java
@@ -274,10 +274,10 @@
 
             Set<String> previous = new HashSet<>(keys);
             keys.clear();
-            Iterator it = peer.getPublicIDs();
+            Iterator<String> it = peer.getPublicIDs();
             if (it != null) {
                 while (it.hasNext()) {
-                    String publicID = (String) it.next();
+                    String publicID = it.next();
                     keys.add(publicID);
                     if (previous.contains(publicID)) {
                         refreshKey(publicID);  // recreate node, the systemId may have changed
diff --git a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/user/UserXMLCatalog.java b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/user/UserXMLCatalog.java
index b1773d9..9651d08 100644
--- a/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/user/UserXMLCatalog.java
+++ b/ide/xml.catalog.ui/src/org/netbeans/modules/xml/catalog/user/UserXMLCatalog.java
@@ -123,25 +123,25 @@
     }
     
     protected void fireEntryAdded(String publicId) {
-        Iterator it = catalogListeners.iterator();
+        Iterator<CatalogListener> it = catalogListeners.iterator();
         while (it.hasNext()) {
-            CatalogListener listener = (CatalogListener)it.next();
+            CatalogListener listener = it.next();
             listener.notifyNew(publicId);
         }
     }
     
     protected void fireEntryRemoved(String publicId) {
-        Iterator it = catalogListeners.iterator();
+        Iterator<CatalogListener> it = catalogListeners.iterator();
         while (it.hasNext()) {
-            CatalogListener listener = (CatalogListener)it.next();
+            CatalogListener listener = it.next();
             listener.notifyRemoved(publicId);
         }
     }
     
     protected void fireEntryUpdated(String publicId) {
-        Iterator it = catalogListeners.iterator();
+        Iterator<CatalogListener> it = catalogListeners.iterator();
         while (it.hasNext()) {
-            CatalogListener listener = (CatalogListener)it.next();
+            CatalogListener listener = it.next();
             listener.notifyUpdate(publicId);
         }
     }
@@ -151,9 +151,9 @@
     }
 
     public void refresh() {
-        Iterator it = catalogListeners.iterator();
+        Iterator<CatalogListener> it = catalogListeners.iterator();
         while (it.hasNext()) {
-            CatalogListener listener = (CatalogListener)it.next();
+            CatalogListener listener = it.next();
             listener.notifyInvalidate();
         }
         FileObject userCatalog = FileUtil.getConfigFile(catalogResource);
diff --git a/ide/xml.core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java b/ide/xml.core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java
index ad04d77..26b4b24 100644
--- a/ide/xml.core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java
+++ b/ide/xml.core/src/org/netbeans/modules/xml/api/model/GrammarQueryManager.java
@@ -145,7 +145,7 @@
         }
         
         public Enumeration enabled(GrammarEnvironment ctx) {
-            Iterator it = getRegistrations();
+            Iterator<GrammarQueryManager> it = getRegistrations();
             transaction.set(null);
             ArrayList list = new ArrayList(5);
             {
@@ -156,7 +156,7 @@
             }
             Object[] array = list.toArray();
             while (it.hasNext()) {
-                GrammarQueryManager next = (GrammarQueryManager) it.next();
+                GrammarQueryManager next = it.next();
                 GrammarEnvironment env = new GrammarEnvironment(
                     org.openide.util.Enumerations.array (array), 
                     ctx.getInputSource(),
diff --git a/ide/xml.core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java b/ide/xml.core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java
index 057882f..9ae3b59 100644
--- a/ide/xml.core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java
+++ b/ide/xml.core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java
@@ -86,9 +86,9 @@
         if (entities == null) return org.openide.util.Enumerations.empty();
         
         List<MyEntityReference> list = new LinkedList<>();
-        Iterator it = entities.iterator();
+        Iterator<String> it = entities.iterator();
         while ( it.hasNext()) {
-            String next = (String) it.next();
+            String next = it.next();
             if (next.startsWith(prefix)) {
                 list.add (new MyEntityReference(next));
             }
@@ -144,9 +144,9 @@
         String prefix = ctx.getCurrentPrefix();
         
         LinkedList list = new LinkedList ();
-        Iterator it = possibleAttributes.iterator();
+        Iterator<String> it = possibleAttributes.iterator();
         while ( it.hasNext()) {
-            String next = (String) it.next();
+            String next = it.next();
             if (next.startsWith(prefix)) {
                 if (existingAttributes.getNamedItem(next) == null ||
                         next.equals(currentAttrName)) {
@@ -217,9 +217,9 @@
         String prefix = ctx.getCurrentPrefix();
         
         LinkedList list = new LinkedList ();
-        Iterator it = elements.iterator();
+        Iterator<String> it = elements.iterator();
         while ( it.hasNext()) {
-            String next = (String) it.next();
+            String next = it.next();
             if (next.startsWith(prefix)) {
                 boolean empty = emptyElements.contains(next);
                 list.add(new MyElement(next, empty));
@@ -237,9 +237,9 @@
         if (notations == null) return org.openide.util.Enumerations.empty();;
         
         LinkedList list = new LinkedList ();
-        Iterator it = notations.iterator();
+        Iterator<String> it = notations.iterator();
         while ( it.hasNext()) {
-            String next = (String) it.next();
+            String next = it.next();
             if (next.startsWith(prefix)) {
                 list.add (new MyNotation(next));
             }
diff --git a/ide/xml.multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java b/ide/xml.multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java
index 5088a5c..f1aef28 100644
--- a/ide/xml.multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java
+++ b/ide/xml.multiview/src/org/netbeans/modules/xml/multiview/ui/SectionInnerPanel.java
@@ -265,8 +265,8 @@
      * Reloads data from data model
      */
     public void refreshView() {
-        for (Iterator it = refreshableList.iterator(); it.hasNext();) {
-            ((Refreshable) it.next()).refresh();
+        for (Iterator<Refreshable> it = refreshableList.iterator(); it.hasNext();) {
+            it.next().refresh();
         }
     }
     
diff --git a/ide/xml.schema.completion/nbproject/project.properties b/ide/xml.schema.completion/nbproject/project.properties
index d4a33a8..268bd9c 100644
--- a/ide/xml.schema.completion/nbproject/project.properties
+++ b/ide/xml.schema.completion/nbproject/project.properties
@@ -51,6 +51,4 @@
 
 test.config.stableBTD.includes=**/*Test.class
 test.config.stableBTD.excludes=\
-    **/AbstractElementTest.class,\
-    **/BasicCompletionTest.class,\
-    **/CompletionPerfTest.class
+    **/BasicCompletionTest.class
diff --git a/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/TreeObjectListProxyListener.java b/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/TreeObjectListProxyListener.java
index 84e0ee3f..112cbfc 100644
--- a/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/TreeObjectListProxyListener.java
+++ b/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/TreeObjectListProxyListener.java
@@ -45,8 +45,8 @@
     public TreeObjectListProxyListener(TreeObjectList list) {
         this.list = list;
         list.addPropertyChangeListener(this);
-        for (Iterator it = list.iterator(); it.hasNext();) {
-            TreeObject next = (TreeObject) it.next();
+        for (Iterator<TreeObject> it = list.iterator(); it.hasNext();) {
+            TreeObject next = it.next();
             if (next != null) next.addPropertyChangeListener(this);
         }
     }
diff --git a/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/editor/TreeNodeFilterCustomEditor.java b/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/editor/TreeNodeFilterCustomEditor.java
index 78e42c9..f330397 100644
--- a/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/editor/TreeNodeFilterCustomEditor.java
+++ b/ide/xml.tax/src/org/netbeans/modules/xml/tax/beans/editor/TreeNodeFilterCustomEditor.java
@@ -556,9 +556,9 @@
     /**
      */
     private static void fillPublicNodeTypesInheritanceTree (Set layer, String prefix) {
-        Iterator it = layer.iterator();
+        Iterator<Item> it = layer.iterator();
         while ( it.hasNext() ) {
-            Item item = (Item) it.next();
+            Item item = it.next();
             String itemPrefix = ""; // NOI18N
             if ( prefix.length() != 0 ) {
                 if ( it.hasNext() ) {
diff --git a/ide/xml/src/org/netbeans/modules/xml/sync/DataObjectSyncSupport.java b/ide/xml/src/org/netbeans/modules/xml/sync/DataObjectSyncSupport.java
index 1ba3bbf..15ccb03 100644
--- a/ide/xml/src/org/netbeans/modules/xml/sync/DataObjectSyncSupport.java
+++ b/ide/xml/src/org/netbeans/modules/xml/sync/DataObjectSyncSupport.java
@@ -115,8 +115,8 @@
 
         if (rep.represents(Document.class)) {
             synchronized (reps) {
-                for (Iterator it = reps.iterator(); it.hasNext();) {
-                    Representation next = (Representation) it.next();
+                for (Iterator<Representation> it = reps.iterator(); it.hasNext();) {
+                    Representation next = it.next();
                     if (next.represents(FileObject.class)) {
                         it.remove();
                     }                               
diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AdvancedActionPanel.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AdvancedActionPanel.java
index 7a893fa..b011ea5 100644
--- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AdvancedActionPanel.java
+++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AdvancedActionPanel.java
@@ -96,9 +96,9 @@
         assert script != null : "No file found for " + project;
         String initialTargets = (String) script.getAttribute(ATTR_TARGETS);
         SortedSet<String> relevantTargets = new TreeSet<>(Collator.getInstance());
-        Iterator it = allTargets.iterator();
+        Iterator<TargetLister.Target> it = allTargets.iterator();
         while (it.hasNext()) {
-            TargetLister.Target target = (TargetLister.Target) it.next();
+            TargetLister.Target target = it.next();
             if (!target.isOverridden() && !target.isInternal()) {
                 relevantTargets.add(target.getName());
                 if (defaultTarget == null && target.isDefault()) {
@@ -253,9 +253,9 @@
         String description = "";
         if (targetsL.size() == 1) {
             String targetName = (String) targetsL.get(0);
-            Iterator it = allTargets.iterator();
+            Iterator<TargetLister.Target> it = allTargets.iterator();
             while (it.hasNext()) {
-                TargetLister.Target target = (TargetLister.Target) it.next();
+                TargetLister.Target target = it.next();
                 if (!target.isOverridden() && target.getName().equals(targetName)) {
                     description = target.getElement().getAttribute("description"); // NOI18N
                     // may still be "" if not defined
diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java
index d6e6d28..aaa3878 100644
--- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java
+++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/AntDebugger.java
@@ -895,9 +895,9 @@
                 }
                 try {
                     Set targets = TargetLister.getTargets (ant);
-                    Iterator it = targets.iterator ();
+                    Iterator<TargetLister.Target> it = targets.iterator ();
                     while (it.hasNext ()) {
-                        TargetLister.Target t = (TargetLister.Target) it.next ();
+                        TargetLister.Target t = it.next();
                         nameToTarget.put (t.getName (), t);
                     }
                 } catch (IOException ioex) {
diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java
index ffa0cc7..d7f051b 100644
--- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java
+++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/DebuggerAntLogger.java
@@ -60,9 +60,9 @@
     
     
     static DebuggerAntLogger getDefault () {
-        Iterator it = Lookup.getDefault ().lookupAll (AntLogger.class).iterator ();
+        Iterator<? extends AntLogger> it = Lookup.getDefault().lookupAll(AntLogger.class).iterator();
         while (it.hasNext ()) {
-            AntLogger al = (AntLogger) it.next ();
+            AntLogger al = it.next();
             if (al instanceof DebuggerAntLogger) {
                 return (DebuggerAntLogger) al;
             }
diff --git a/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java b/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
index 0e47a5c..ae698d6 100644
--- a/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
+++ b/java/api.maven/src/org/netbeans/api/maven/archetype/ArchetypeWizards.java
@@ -88,6 +88,10 @@
         return org.netbeans.modules.maven.api.archetype.ArchetypeWizards.definedArchetype(groupId, artifactId, version, repository, title);
     }
 
+    // possiblly expose the new method with Map<String, String> defaultProps here
+    // and an API for others to consume
+    // alas, with all the versioning stuff...
+
     private static org.netbeans.modules.maven.api.archetype.ProjectInfo convertProjectInfo(ProjectInfo pi) {
         return new org.netbeans.modules.maven.api.archetype.ProjectInfo(pi.getGroupId(), pi.getArtifactId(), pi.getVersion(), pi.getPackageName());
     }
diff --git a/java/beans/src/org/netbeans/modules/beans/beaninfo/BIEditorSupport.java b/java/beans/src/org/netbeans/modules/beans/beaninfo/BIEditorSupport.java
index abf99a5..f7a7918 100644
--- a/java/beans/src/org/netbeans/modules/beans/beaninfo/BIEditorSupport.java
+++ b/java/beans/src/org/netbeans/modules/beans/beaninfo/BIEditorSupport.java
@@ -266,11 +266,11 @@
     }
     
     private static void detachStatusListeners() {
-        Iterator iter = fsToStatusListener.entrySet().iterator();
+        Iterator<Map.Entry<FileSystem, FileStatusListener>> iter = fsToStatusListener.entrySet().iterator();
         while (iter.hasNext()) {
-            Map.Entry entry = (Map.Entry)iter.next();
-            FileSystem fs = (FileSystem)entry.getKey();
-            FileStatusListener fsl = (FileStatusListener)entry.getValue();
+            Map.Entry<FileSystem, FileStatusListener> entry = iter.next();
+            FileSystem fs = entry.getKey();
+            FileStatusListener fsl = entry.getValue();
             fs.removeFileStatusListener(fsl);
         }
         fsToStatusListener.clear();
diff --git a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/DBElementsCollection.java b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/DBElementsCollection.java
index c6d9a5c..9ed86ea 100644
--- a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/DBElementsCollection.java
+++ b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/DBElementsCollection.java
@@ -28,19 +28,23 @@
  */
 public class DBElementsCollection implements DBElementProperties {
 
-    /** Object to fire info about changes to */
+    /**
+     * Object to fire info about changes to
+     */
     DBElementImpl owner;
-
     DBElement[] _elms;
 
-    /** Array template for typed returns */
+    /**
+     * Array template for typed returns
+     */
     private Object[] _template;
 
-    //workaround for bug #4396371
-    //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
-    protected static transient HashSet instances = new HashSet();
-    
-	public DBElementsCollection () {
+    // NOTE - After doing research, not sure this comment still applys? Remove it?
+    // workaround for bug #4396371
+    // http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
+    protected static transient Set<String> instances = new HashSet<>();
+
+    public DBElementsCollection() {
         this(null, null);
     }
 
diff --git a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/IndexElementImpl.java b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/IndexElementImpl.java
index c7319f1..0fdfb36 100644
--- a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/IndexElementImpl.java
+++ b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/IndexElementImpl.java
@@ -37,20 +37,22 @@
     }
 
     public IndexElementImpl(TableElementImpl tei, String name, boolean unique) {
-		super(name);
-		columns = new DBElementsCollection(tei, new ColumnElement[0]);
+        super(name);
+        columns = new DBElementsCollection(tei, new ColumnElement[0]);
+
+        // NOTE - After doing research, not sure this comment still applys? Remove it?
+        // workaround for bug #4396371
+        // http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
+        String hc = String.valueOf(columns.hashCode());
         
-        //workaround for bug #4396371
-        //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
-        Object hc = String.valueOf(columns.hashCode());
         while (DBElementsCollection.instances.contains(hc)) {
-    		columns = new DBElementsCollection(tei, new ColumnElement[0]);
+            columns = new DBElementsCollection(tei, new ColumnElement[0]);
             hc = String.valueOf(columns.hashCode());
         }
         DBElementsCollection.instances.add(hc);
 
-		this.tei = tei;
-		_unique = unique;
+        this.tei = tei;
+        _unique = unique;
     }
   
     /** Get the unique flag of the index.
diff --git a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/KeyElementImpl.java b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/KeyElementImpl.java
index 1784b6e..fa27b62 100644
--- a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/KeyElementImpl.java
+++ b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/KeyElementImpl.java
@@ -33,17 +33,19 @@
 	/** Creates new KeyElementImpl with the specified name */
     public KeyElementImpl (String name) {
         super(name);
-		columns = initializeCollection();
+        columns = initializeCollection();
 
-        //workaround for bug #4396371
-        //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
-        Object hc = String.valueOf(columns.hashCode());
+        // NOTE - After doing research, not sure this comment still applys? Remove it?
+        // workaround for bug #4396371
+        // http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
+        String hc = String.valueOf(columns.hashCode());
+
         while (DBElementsCollection.instances.contains(hc)) {
-    		columns = initializeCollection();
+            columns = initializeCollection();
             hc = String.valueOf(columns.hashCode());
         }
         DBElementsCollection.instances.add(hc);
-	}
+    }
 
     protected DBElementsCollection initializeCollection() {
         return new DBElementsCollection(this, new ColumnElement[0]);
diff --git a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/SchemaElementImpl.java b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/SchemaElementImpl.java
index 5970223..a318a27 100644
--- a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/SchemaElementImpl.java
+++ b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/SchemaElementImpl.java
@@ -62,39 +62,41 @@
   
     public SchemaElementImpl(ConnectionProvider cp) {
         tables = new DBElementsCollection(this, new TableElement[0]);
-        
-        //workaround for bug #4396371
-        //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
-        Object hc = String.valueOf(tables.hashCode());
+
+        // NOTE - After doing research, not sure this comment still applys? Remove it?
+        // workaround for bug #4396371
+        // http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
+        String hc = String.valueOf(tables.hashCode());
+
         while (DBElementsCollection.instances.contains(hc)) {
             tables = new DBElementsCollection(this, new TableElement[0]);
             hc = String.valueOf(tables.hashCode());
         }
         DBElementsCollection.instances.add(hc);
-        
-		if (cp != null) {
-			try {
-				String schema;
 
-				dmd = cp.getDatabaseMetaData();
+        if (cp != null) {
+            try {
+                String schema;
 
-				_url = dmd.getURL();
-				_username = dmd.getUserName();
-//				schema = dmd.getUserName();
-				schema = cp.getSchema();
-				_schema = schema == null ? DBIdentifier.create("") : DBIdentifier.create(schema); //NOI18N
-				catalog = cp.getConnection().getCatalog();
-				_catalog = catalog == null ? DBIdentifier.create("") : DBIdentifier.create(catalog); //NOI18N
-				_driver = cp.getDriver();
-				_databaseProductName = dmd.getDatabaseProductName().trim();
-				_databaseProductVersion = dmd.getDatabaseProductVersion();
-				_driverName = dmd.getDriverName();
-				_driverVersion = dmd.getDriverVersion();
-			} catch (Exception exc) {
-				exc.printStackTrace();
-			}
-		}
-        
+                dmd = cp.getDatabaseMetaData();
+
+                _url = dmd.getURL();
+                _username = dmd.getUserName();
+//		schema = dmd.getUserName();
+                schema = cp.getSchema();
+                _schema = schema == null ? DBIdentifier.create("") : DBIdentifier.create(schema); //NOI18N
+                catalog = cp.getConnection().getCatalog();
+                _catalog = catalog == null ? DBIdentifier.create("") : DBIdentifier.create(catalog); //NOI18N
+                _driver = cp.getDriver();
+                _databaseProductName = dmd.getDatabaseProductName().trim();
+                _databaseProductVersion = dmd.getDatabaseProductVersion();
+                _driverName = dmd.getDriverName();
+                _driverVersion = dmd.getDriverVersion();
+            } catch (Exception exc) {
+                exc.printStackTrace();
+            }
+        }
+
         stop = false;
     }
   
diff --git a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/TableElementImpl.java b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/TableElementImpl.java
index d87212d..57d99d8 100644
--- a/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/TableElementImpl.java
+++ b/java/dbschema/src/org/netbeans/modules/dbschema/jdbcimpl/TableElementImpl.java
@@ -45,48 +45,50 @@
 
     /** Creates new TableElementImpl */
     public TableElementImpl(String table) {
-		super(table);
-		columns = new DBElementsCollection(this, new ColumnElement[0]);
-        //workaround for bug #4396371
-        //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
-        Object hc = String.valueOf(columns.hashCode());
+        super(table);
+        columns = new DBElementsCollection(this, new ColumnElement[0]);
+
+        // NOTE - After doing research, not sure this comment still applys? Remove it?
+        // workaround for bug #4396371
+        // http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
+        String hc = String.valueOf(columns.hashCode());
         while (DBElementsCollection.instances.contains(hc)) {
-    		columns = new DBElementsCollection(this, new ColumnElement[0]);
+            columns = new DBElementsCollection(this, new ColumnElement[0]);
             hc = String.valueOf(columns.hashCode());
         }
         DBElementsCollection.instances.add(hc);
-        
-		indexes = new DBElementsCollection(this, new IndexElement[0]);
+
+        indexes = new DBElementsCollection(this, new IndexElement[0]);
         //workaround for bug #4396371
         //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
         hc = String.valueOf(indexes.hashCode());
         while (DBElementsCollection.instances.contains(hc)) {
-    		indexes = new DBElementsCollection(this, new IndexElement[0]);
+            indexes = new DBElementsCollection(this, new IndexElement[0]);
             hc = String.valueOf(indexes.hashCode());
         }
         DBElementsCollection.instances.add(hc);
-        
-		keys = new DBElementsCollection(this, new KeyElement[0]);
+
+        keys = new DBElementsCollection(this, new KeyElement[0]);
         //workaround for bug #4396371
         //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
         hc = String.valueOf(keys.hashCode());
         while (DBElementsCollection.instances.contains(hc)) {
-    		keys = new DBElementsCollection(this, new KeyElement[0]);
+            keys = new DBElementsCollection(this, new KeyElement[0]);
             hc = String.valueOf(keys.hashCode());
         }
         DBElementsCollection.instances.add(hc);
-        
-		columnPairs = new DBElementsCollection(this, new ColumnPairElement[0]);
+
+        columnPairs = new DBElementsCollection(this, new ColumnPairElement[0]);
         //workaround for bug #4396371
         //http://andorra.eng:8080/cgi-bin/ws.exe/bugtraq/bug.hts?where=bugid_value%3D4396371
         hc = String.valueOf(columnPairs.hashCode());
         while (DBElementsCollection.instances.contains(hc)) {
-    		columnPairs = new DBElementsCollection(this, new ColumnPairElement[0]);
+            columnPairs = new DBElementsCollection(this, new ColumnPairElement[0]);
             hc = String.valueOf(columnPairs.hashCode());
         }
         DBElementsCollection.instances.add(hc);
         
-		this.table = table;
+        this.table = table;
     }
     
     /** Get the name of this element.
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/DebugManagerHandler.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/DebugManagerHandler.java
index a6b2e81..385b411 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/DebugManagerHandler.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/DebugManagerHandler.java
@@ -33,6 +33,8 @@
 import com.sun.jdi.Value;
 import com.sun.jdi.VirtualMachine;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.beans.PropertyVetoException;
 import java.io.IOException;
 import java.util.Arrays;
@@ -64,6 +66,7 @@
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleAccess;
 import static org.netbeans.modules.debugger.jpda.truffle.access.TruffleAccess.BASIC_CLASS_NAME;
 import org.netbeans.modules.debugger.jpda.truffle.breakpoints.TruffleBreakpointsHandler;
+import org.netbeans.modules.debugger.jpda.truffle.options.TruffleOptions;
 import org.netbeans.modules.javascript2.debug.breakpoints.JSLineBreakpoint;
 import org.openide.util.Exceptions;
 
@@ -78,8 +81,10 @@
     private static final String ACCESSOR_LOOP_RUNNING_FIELD = "accessLoopRunning";  // NOI18N
     private static final String ACCESSOR_SET_UP_DEBUG_MANAGER_FOR = "setUpDebugManagerFor"; // NOI18N
     private static final String ACCESSOR_SET_UP_DEBUG_MANAGER_FOR_SGN =
-            "(L"+Object.class.getName().replace('.', '/')+";Z)"+                // NOI18N
+            "(L"+Object.class.getName().replace('.', '/')+";ZZ)"+                // NOI18N
             "Lorg/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleDebugManager;"; // NOI18N
+    private static final String ACCESSOR_SET_INCLUDE_INTERNAL = "setIncludeInternal"; // NOI18N
+    private static final String ACCESSOR_SET_INCLUDE_INTERNAL_SGN = "(Z)V"; // NOI18N
     
     private static final Map<JPDADebugger, Boolean> dbgStepInto = Collections.synchronizedMap(new WeakHashMap<JPDADebugger, Boolean>());
 
@@ -90,10 +95,12 @@
     private final Object accessorClassLock = new Object();
     //private ObjectReference debugManager;
     private final TruffleBreakpointsHandler breakpointsHandler;
+    private final PropertyChangeListener optionsChangeListener = new OptionsChangeListener();
     
     public DebugManagerHandler(JPDADebugger debugger) {
         this.debugger = debugger;
         this.breakpointsHandler = new TruffleBreakpointsHandler(debugger);
+        TruffleOptions.onLanguageDeveloperModeChange(optionsChangeListener);
     }
     
     static void execStepInto(JPDADebugger debugger, boolean doStepInto) {
@@ -127,13 +134,14 @@
             if (vm == null) {
                 return ;
             }
+            BooleanValue includeInternal = vm.mirrorOf(TruffleOptions.isLanguageDeveloperMode());
             BooleanValue doStepInto = vm.mirrorOf(isStepInto());
             Method debugManagerMethod = ClassTypeWrapper.concreteMethodByName(
                     accessorClass,
                     ACCESSOR_SET_UP_DEBUG_MANAGER_FOR,
                     ACCESSOR_SET_UP_DEBUG_MANAGER_FOR_SGN);
             ThreadReference tr = thread.getThreadReference();
-            List<Value> dmArgs = Arrays.asList(engine, doStepInto);
+            List<Value> dmArgs = Arrays.asList(engine, includeInternal, doStepInto);
             LOG.log(Level.FINE, "Setting engine and step into = {0}", isStepInto());
             Object ret = ClassTypeWrapper.invokeMethod(accessorClass, tr, debugManagerMethod, dmArgs, ObjectReference.INVOKE_SINGLE_THREADED);
             if (ret instanceof ObjectReference) {   // Can be null when an existing debug manager is reused.
@@ -286,4 +294,47 @@
     void breakpointRemoved(JSLineBreakpoint jsLineBreakpoint) {
         breakpointsHandler.breakpointRemoved(jsLineBreakpoint);
     }
+
+    private final class OptionsChangeListener implements PropertyChangeListener {
+
+        @Override
+        public void propertyChange(PropertyChangeEvent evt) {
+            if (accessorClass == null) {
+                // No accessor
+                return ;
+            }
+            if (TruffleOptions.PROPERTY_LANG_DEV_MODE.equals(evt.getPropertyName())) {
+                JPDADebuggerImpl debuggerImpl = (JPDADebuggerImpl) debugger;
+                debuggerImpl.getRequestProcessor().post(() -> {
+                    VirtualMachine vm = debuggerImpl.getVirtualMachine();
+                    if (vm == null) {
+                        return ;
+                    }
+                    BooleanValue includeInternal = vm.mirrorOf(TruffleOptions.isLanguageDeveloperMode());
+                    try {
+                        Method debugManagerMethod = ClassTypeWrapper.concreteMethodByName(
+                                accessorClass,
+                                ACCESSOR_SET_INCLUDE_INTERNAL,
+                                ACCESSOR_SET_INCLUDE_INTERNAL_SGN);
+                        TruffleAccess.methodCallingAccess(debugger, new TruffleAccess.MethodCallsAccess() {
+                            @Override
+                            public void callMethods(JPDAThread thread) throws InvocationException {
+                                ThreadReference tr = ((JPDAThreadImpl) thread).getThreadReference();
+                                List<Value> dmArgs = Arrays.asList(includeInternal);
+                                LOG.log(Level.FINE, "Setting includeInternal to {0}", includeInternal.value());
+                                try {
+                                    ClassTypeWrapper.invokeMethod(accessorClass, tr, debugManagerMethod, dmArgs, ObjectReference.INVOKE_SINGLE_THREADED);
+                                } catch (Exception ex) {
+                                    Exceptions.printStackTrace(ex);
+                                }
+                            }
+                        });
+                    } catch (ClassNotPreparedExceptionWrapper | InternalExceptionWrapper | VMDisconnectedExceptionWrapper ex) {
+                        Exceptions.printStackTrace(ex);
+                    }
+                });
+            }
+        }
+        
+    }
 }
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/LanguageName.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/LanguageName.java
new file mode 100644
index 0000000..889a2d5
--- /dev/null
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/LanguageName.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.debugger.jpda.truffle;
+
+import java.util.Objects;
+
+/**
+ *
+ * @author Martin
+ */
+public final class LanguageName {
+
+    public static final LanguageName NONE = new LanguageName("", "");
+
+    private final String id;
+    private final String name;
+
+    private LanguageName(String id, String name) {
+        this.id = id;
+        this.name = name;
+    }
+
+    public static LanguageName parse(String string) {
+        string = string.trim();
+        if (string.isEmpty()) {
+            return NONE;
+        }
+        int i = string.indexOf(" ");
+        assert i > 0 : string;
+        return new LanguageName(string.substring(0, i), string.substring(i + 1));
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(this.id);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final LanguageName other = (LanguageName) obj;
+        return this.id.equals(other.id);
+    }
+
+}
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleAccess.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleAccess.java
index 386d565..7450372 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleAccess.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleAccess.java
@@ -57,6 +57,7 @@
 import org.netbeans.modules.debugger.jpda.expr.JDIVariable;
 import org.netbeans.modules.debugger.jpda.models.JPDAClassTypeImpl;
 import org.netbeans.modules.debugger.jpda.models.JPDAThreadImpl;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
 import org.netbeans.modules.debugger.jpda.truffle.RemoteServices;
 import org.netbeans.modules.debugger.jpda.truffle.TruffleDebugManager;
 import org.netbeans.modules.debugger.jpda.truffle.actions.StepActionProvider;
@@ -90,7 +91,7 @@
     private static final String VAR_SRC_URI = "uri";                            // NOI18N
     private static final String VAR_SRC_NAME = "name";                          // NOI18N
     private static final String VAR_SRC_PATH = "path";                          // NOI18N
-    private static final String VAR_SRC_LINE = "line";                          // NOI18N
+    private static final String VAR_SRC_SOURCESECTION = "sourceSection";        // NOI18N
     private static final String VAR_SRC_CODE = "code";
     private static final String VAR_STACK_TRACE = "stackTrace";
     private static final String VAR_TOP_FRAME = "topFrame";                     // NOI18N
@@ -231,7 +232,7 @@
             TruffleStackFrame topFrame = new TruffleStackFrame(debugger, thread, 0, frame, topFrameDescription, null/*code*/, scopes, thisObject, true);
             TruffleStackInfo stack = new TruffleStackInfo(debugger, thread, stackTrace);
             return new CurrentPCInfo(haltedInfo.stepCmd, thread, sp, scopes, topFrame, stack, depth -> {
-                return getTruffleAST(debugger, (JPDAThreadImpl) thread, depth, sp.getLine(), stack);
+                return getTruffleAST(debugger, (JPDAThreadImpl) thread, depth, sp, stack);
             });
         } catch (AbsentInformationException | IllegalStateException ex) {
             Exceptions.printStackTrace(ex);
@@ -239,7 +240,7 @@
         }
     }
 
-    private static TruffleNode getTruffleAST(JPDADebugger debugger, JPDAThreadImpl thread, int depth, int topLine, TruffleStackInfo stack) {
+    private static TruffleNode getTruffleAST(JPDADebugger debugger, JPDAThreadImpl thread, int depth, SourcePosition topPosition, TruffleStackInfo stack) {
         JPDAClassType debugAccessor = TruffleDebugManager.getDebugAccessorJPDAClass(debugger);
         Lock lock = thread.accessLock.writeLock();
         lock.lock();
@@ -273,8 +274,17 @@
                                                       METHOD_GET_AST_SGN,
                                                       new Variable[] { debugger.createMirrorVar(depth, true) });
             Variable[] astInfo = ((ObjectVariable) ast).getFields(0, Integer.MAX_VALUE);
-            int line = (depth == 0) ? topLine : stack.getStackFrames(true)[depth].getSourcePosition().getLine();
-            return TruffleNode.newBuilder().nodes((String) astInfo[0].createMirrorObject()).currentLine(line).build();
+            SourcePosition position;
+            if (depth == 0) {
+                position = topPosition;
+            } else {
+                TruffleStackFrame[] stackFrames = stack.getStackFrames(true);
+                if (depth >= stackFrames.length) {
+                    return null;
+                }
+                position = stackFrames[depth].getSourcePosition();
+            }
+            return TruffleNode.newBuilder().nodes((String) astInfo[0].createMirrorObject()).currentPosition(position).build();
         } catch (InvalidExpressionException | InvalidObjectException | NoSuchMethodException ex) {
             Exceptions.printStackTrace(ex);
             return null;
@@ -292,7 +302,7 @@
             return null;
         }
         long id = (Long) varSrcId.createMirrorObject();
-        int line = (Integer) sourcePositionVar.getField(VAR_SRC_LINE).createMirrorObject();
+        String sourceSection = (String) sourcePositionVar.getField(VAR_SRC_SOURCESECTION).createMirrorObject();
         Source src = Source.getExistingSource(debugger, id);
         if (src == null) {
             String name = (String) sourcePositionVar.getField(VAR_SRC_NAME).createMirrorObject();
@@ -301,7 +311,7 @@
             StringReference codeRef = (StringReference) ((JDIVariable) sourcePositionVar.getField(VAR_SRC_CODE)).getJDIValue();
             src = Source.getSource(debugger, id, name, path, uri, codeRef);
         }
-        return new SourcePosition(debugger, id, src, line);
+        return new SourcePosition(debugger, id, src, sourceSection);
     }
     
     private static TruffleScope[] createScopes(JPDADebugger debugger, ObjectVariable varsArrVar) {
@@ -335,21 +345,27 @@
     private static int fillVars(JPDADebugger debugger, TruffleVariable[] vars, Field[] varsArr, int i) {
         for (int vi = 0; vi < vars.length; vi++) {
             String name = (String) varsArr[i++].createMirrorObject();
+            LanguageName language = LanguageName.parse((String) varsArr[i++].createMirrorObject());
             String type = (String) varsArr[i++].createMirrorObject();
             boolean readable = (Boolean) varsArr[i++].createMirrorObject();
             boolean writable = (Boolean) varsArr[i++].createMirrorObject();
             boolean internal = (Boolean) varsArr[i++].createMirrorObject();
             String valueStr = (String) varsArr[i++].createMirrorObject();
+            ObjectVariable valueSourceDef = (ObjectVariable) varsArr[i++];
             Supplier<SourcePosition> valueSource = parseSourceLazy(debugger,
-                                                                   varsArr[i++],
+                                                                   valueSourceDef,
                                                                    (JDIVariable) varsArr[i++]);
+            ObjectVariable typeSourceDef = (ObjectVariable) varsArr[i++];
             Supplier<SourcePosition> typeSource = parseSourceLazy(debugger,
-                                                                  varsArr[i++],
+                                                                  typeSourceDef,
                                                                   (JDIVariable) varsArr[i++]);
             ObjectVariable value = (ObjectVariable) varsArr[i++];
-            vars[vi] = new TruffleStackVariable(debugger, name, type, readable,
+            vars[vi] = new TruffleStackVariable(debugger, name, language, type, readable,
                                                 writable, internal, valueStr,
-                                                valueSource, typeSource, value);
+                                                valueSourceDef.getUniqueID() != 0L,
+                                                valueSource,
+                                                typeSourceDef.getUniqueID() != 0L,
+                                                typeSource, value);
         }
         return i;
     }
@@ -392,7 +408,7 @@
         String sourceName;
         String sourcePath;
         URI sourceURI;
-        int sourceLine;
+        String sourceSection;
         try {
             int i1 = 0;
             int i2 = sourceDef.indexOf('\n', i1);
@@ -411,12 +427,16 @@
                 throw new IllegalStateException("Bad URI: "+sourceDef.substring(i1, i2), usex);
             }
             i1 = i2 + 1;
-            sourceLine = Integer.parseInt(sourceDef.substring(i1));
+            i2 = sourceDef.indexOf('\n', i1);
+            if (i2 < 0) {
+                i2 = sourceDef.length();
+            }
+            sourceSection = sourceDef.substring(i1, i2);
         } catch (IndexOutOfBoundsException ioob) {
             throw new IllegalStateException("var source definition='"+sourceDef+"'", ioob);
         }
         Source src = Source.getSource(debugger, sourceId, sourceName, sourcePath, sourceURI, codeRef);
-        return new SourcePosition(debugger, sourceId, src, sourceLine);
+        return new SourcePosition(debugger, sourceId, src, sourceSection);
     }
     
     public static TruffleScope[] createFrameScopes(final JPDADebugger debugger,
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleStrataProvider.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleStrataProvider.java
index a50f8bb..8a50fed 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleStrataProvider.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/access/TruffleStrataProvider.java
@@ -60,10 +60,10 @@
 
     @Override
     public int getStrataLineNumber(CallStackFrameImpl csf, String stratum) {
-        if (TRUFFLE_STRATUM.equals(stratum)) {
+        if (TRUFFLE_STRATUM.equals(stratum) && isInTruffleAccessPoint(csf)) {
             CurrentPCInfo currentPCInfo = TruffleAccess.getCurrentPCInfo(csf.getThread());
             if (currentPCInfo != null) {
-                return currentPCInfo.getSourcePosition().getLine();
+                return currentPCInfo.getSourcePosition().getStartLine();
             }
         }
         return csf.getLineNumber(stratum);
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/TruffleNode.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/TruffleNode.java
index 0eaeea1..134534a 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/TruffleNode.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/TruffleNode.java
@@ -19,6 +19,8 @@
 
 package org.netbeans.modules.debugger.jpda.truffle.ast;
 
+import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
+
 /**
  * A representation of Truffle Node class.
  */
@@ -34,6 +36,7 @@
     private final String tags;
     private final TruffleNode[] ch;
     private boolean current;
+    private boolean currentEncapsulating;
 
     public TruffleNode(String className, String description, String sourceURI, int l1, int c1, int l2, int c2, String tags, int numCh) {
         this.className = className;
@@ -101,6 +104,10 @@
         return current;
     }
 
+    public boolean isCurrentEncapsulating() {
+        return currentEncapsulating;
+    }
+
     public static Builder newBuilder() {
         return new Builder();
     }
@@ -108,7 +115,7 @@
     public static class Builder {
 
         private TruffleNode node;
-        private int currentLine;
+        private SourcePosition currentPosition;
 
         private Builder() {}
 
@@ -119,29 +126,26 @@
         }
 
         public TruffleNode build() {
-            if (currentLine > 0) {
-                markCurrent(node, currentLine);
+            if (currentPosition != null) {
+                markCurrent(node, currentPosition);
             }
             return node;
         }
 
         /** Mark all node paths which are currently being executed as current. */
-        private boolean markCurrent(TruffleNode node, int currentLine) {
-            if (node.getChildren().length == 0) {
-                if (node.getStartLine() <= currentLine && currentLine <= node.getEndLine()) {
-                    node.current = true;
-                    return true;
-                } else {
-                    return false;
-                }
+        private static boolean markCurrent(TruffleNode node, SourcePosition currentPosition) {
+            if (node.getStartLine() == currentPosition.getStartLine() && node.getEndLine() == currentPosition.getEndLine() &&
+                    node.getStartColumn() == currentPosition.getStartColumn() && node.getEndColumn() == currentPosition.getEndColumn()) {
+                node.current = true;
+                return true;
             } else {
                 boolean isSomeCurrent = false;
                 for (TruffleNode ch : node.getChildren()) {
-                    if (markCurrent(ch, currentLine)) {
+                    if (markCurrent(ch, currentPosition)) {
                         isSomeCurrent = true;
                     }
                 }
-                node.current = isSomeCurrent;
+                node.currentEncapsulating = isSomeCurrent;
                 return isSomeCurrent;
             }
         }
@@ -180,8 +184,8 @@
             return node;
         }
 
-        public Builder currentLine(int line) {
-            this.currentLine = line;
+        public Builder currentPosition(SourcePosition position) {
+            this.currentPosition = position;
             return this;
         }
 
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTNodeModel.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTNodeModel.java
index 87a4317..5596c1f 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTNodeModel.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTNodeModel.java
@@ -46,19 +46,17 @@
             String label = ast.getClassSimpleName();
             String tags = ast.getTags();
             if (!tags.isEmpty()) {
-                label = '[' + tags + "] " + label;
+                label = '(' + tags + ") " + label;
             }
             int l1 = ast.getStartLine();
             if (l1 >= 0) {
                 int c1 = ast.getStartColumn();
                 int l2 = ast.getEndLine();
                 int c2 = ast.getEndColumn();
-                label += " <"+l1+":"+c1+"-"+l2+":"+c2+">";
+                label += " ["+l1+":"+c1+"-"+l2+":"+c2+"]";
             }
-            if (ast.getChildren().length == 0) {
-                if (ast.isCurrent()) {
-                    label = "<html><b>" + label + "</b></html>";
-                }
+            if (ast.isCurrent()) {
+                label = "<html><b>" + label + "</b></html>";
             }
             return label;
         } else {
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTTreeExpansionModel.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTTreeExpansionModel.java
index 85792b5..8dc3f20 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTTreeExpansionModel.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/ast/model/ASTTreeExpansionModel.java
@@ -42,7 +42,7 @@
     public boolean isExpanded(Object node) throws UnknownTypeException {
         if (node instanceof TruffleNode) {
             TruffleNode ast = (TruffleNode) node;
-            return ast.isCurrent();
+            return ast.isCurrentEncapsulating() || ast.isCurrent();
         } else {
             return false;
         }
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/breakpoints/TruffleBreakpointsHandler.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/breakpoints/TruffleBreakpointsHandler.java
index d9df0bb..f658577 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/breakpoints/TruffleBreakpointsHandler.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/breakpoints/TruffleBreakpointsHandler.java
@@ -245,11 +245,14 @@
             }
         }
         bp.addPropertyChangeListener(breakpointsChangeListener);
-        List<Value> values = bpRef[0].getValues();
         Set<ObjectReference> breakpoints = new HashSet<>();
-        for (Value v : values) {
-            if (v instanceof ObjectReference) {
-                breakpoints.add((ObjectReference) v);
+        ArrayReference bpArray = bpRef[0];
+        if (bpArray != null) {
+            List<Value> values = bpArray.getValues();
+            for (Value v : values) {
+                if (v instanceof ObjectReference) {
+                    breakpoints.add((ObjectReference) v);
+                }
             }
         }
         if (!breakpoints.isEmpty()) {
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/TruffleStackFrame.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/TruffleStackFrame.java
index d3e6c44..6ef5d69 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/TruffleStackFrame.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/TruffleStackFrame.java
@@ -30,9 +30,9 @@
 import org.netbeans.api.debugger.jpda.JPDADebugger;
 import org.netbeans.api.debugger.jpda.JPDAThread;
 import org.netbeans.api.debugger.jpda.ObjectVariable;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
 import org.netbeans.modules.debugger.jpda.truffle.access.CurrentPCInfo;
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleAccess;
-import org.netbeans.modules.debugger.jpda.truffle.actions.StepActionProvider;
 import org.netbeans.modules.debugger.jpda.truffle.source.Source;
 import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleScope;
@@ -51,13 +51,14 @@
     private final int depth;
     private final ObjectVariable frameInstance;
     private final String methodName;
+    private final LanguageName language;
     private final String sourceLocation;
     
     private final int    sourceId;
     private final String sourceName;
     private final String sourcePath;
     private final URI    sourceURI;
-    private final int    sourceLine;
+    private final String sourceSection;
     private final StringReference codeRef;
     private TruffleScope[] scopes;
     private final ObjectVariable thisObject;
@@ -89,6 +90,9 @@
             methodName = frameDefinition.substring(i1, i2);
             i1 = i2 + 1;
             i2 = frameDefinition.indexOf('\n', i1);
+            language = LanguageName.parse(frameDefinition.substring(i1, i2));
+            i1 = i2 + 1;
+            i2 = frameDefinition.indexOf('\n', i1);
             sourceLocation = frameDefinition.substring(i1, i2);
             i1 = i2 + 1;
             i2 = frameDefinition.indexOf('\n', i1);
@@ -109,11 +113,11 @@
             i1 = i2 + 1;
             if (includeInternal) {
                 i2 = frameDefinition.indexOf('\n', i1);
-                sourceLine = Integer.parseInt(frameDefinition.substring(i1, i2));
+                sourceSection = frameDefinition.substring(i1, i2);
                 i1 = i2 + 1;
                 internalFrame = Boolean.valueOf(frameDefinition.substring(i1));
             } else {
-                sourceLine = Integer.parseInt(frameDefinition.substring(i1));
+                sourceSection = frameDefinition.substring(i1);
             }
         } catch (IndexOutOfBoundsException ioob) {
             throw new IllegalStateException("frameDefinition='"+frameDefinition+"'", ioob);
@@ -140,6 +144,10 @@
         return methodName;
     }
 
+    public LanguageName getLanguage() {
+        return language;
+    }
+
     public String getSourceLocation() {
         return sourceLocation;
     }
@@ -157,7 +165,7 @@
         if (src == null) {
             src = Source.getSource(debugger, sourceId, sourceName, sourcePath, sourceURI, codeRef);
         }
-        SourcePosition sp = new SourcePosition(debugger, sourceId, src, sourceLine);
+        SourcePosition sp = new SourcePosition(debugger, sourceId, src, sourceSection);
         return sp;
     }
     
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleActionsProvider.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleActionsProvider.java
index 18a80fb..dc0acf1 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleActionsProvider.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleActionsProvider.java
@@ -107,7 +107,7 @@
             public void run () {
                 EditorContextBridge.getContext().showSource (
                     sourcePosition.getSource().getUrl().toExternalForm(),
-                    sourcePosition.getLine(),
+                    sourcePosition.getStartLine(),
                     f.getDebugger()
                 );
             }
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleTreeModel.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleTreeModel.java
index 2a62257..d5451fa 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleTreeModel.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleTreeModel.java
@@ -47,7 +47,7 @@
                              types={ TreeModelFilter.class })
 public class DebuggingTruffleTreeModel implements TreeModelFilter {
     
-    private static final Predicate<String> PREDICATE1 = Pattern.compile("^((com|org)\\.\\p{Alpha}*\\.truffle|(com|org)\\.graalvm)\\..*$").asPredicate();
+    private static final Predicate<String> PREDICATE1 = Pattern.compile("^((com|org)\\.\\p{Alpha}*\\.truffle|(com|org)(\\.graalvm|\\.truffleruby))\\..*$").asPredicate();
     private static final String FILTER1 = "com.[A-z]*.truffle.";                     // NOI18N
     private static final String FILTER2 = "com.oracle.graal.";                  // NOI18N
     private static final String FILTER3 = "org.netbeans.modules.debugger.jpda.backend.";    // NOI18N
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/source/SourcePosition.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/source/SourcePosition.java
index 8a553a0..4e702a0 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/source/SourcePosition.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/source/SourcePosition.java
@@ -28,20 +28,44 @@
 
     private final long id;
     private final Source src;
-    private final int line;
+    private final int startLine;
+    private final int startColumn;
+    private final int endLine;
+    private final int endColumn;
     
-    public SourcePosition(JPDADebugger debugger, long id, Source src, int line) {
+    public SourcePosition(JPDADebugger debugger, long id, Source src, String sourceSection) {
         this.id = id;
         this.src = src;
-        this.line = line;
+        int i1 = 0, i2 = sourceSection.indexOf(',');
+        this.startLine = Integer.parseInt(sourceSection.substring(i1, i2));
+        i1 = i2 + 1;
+        i2 = sourceSection.indexOf(',', i1);
+        this.startColumn = Integer.parseInt(sourceSection.substring(i1, i2));
+        i1 = i2 + 1;
+        i2 = sourceSection.indexOf(',', i1);
+        this.endLine = Integer.parseInt(sourceSection.substring(i1, i2));
+        i1 = i2 + 1;
+        this.endColumn = Integer.parseInt(sourceSection.substring(i1));
     }
 
     public Source getSource() {
         return src;
     }
-    
-    public int getLine() {
-        return line;
+
+    public int getStartLine() {
+        return startLine;
     }
 
+    public int getStartColumn() {
+        return startColumn;
+    }
+
+    public int getEndLine() {
+        return endLine;
+    }
+
+    public int getEndColumn() {
+        return endColumn;
+    }
+    
 }
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleStackVariable.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleStackVariable.java
index ce5e8fd..62903ba 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleStackVariable.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleStackVariable.java
@@ -22,17 +22,21 @@
 import java.util.function.Supplier;
 import org.netbeans.api.debugger.jpda.JPDADebugger;
 import org.netbeans.api.debugger.jpda.ObjectVariable;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
 import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
 
 public class TruffleStackVariable implements TruffleVariable {
     
     private final JPDADebugger debugger;
     private final String name;
+    private final LanguageName language;
     private String type;
     private final boolean readable;
     private final boolean writable;
     private final boolean internal;
     private String valueStr;
+    private boolean hasValueSource;
+    private boolean hasTypeSource;
     private Supplier<SourcePosition> valueSourceSupp;
     private Supplier<SourcePosition> typeSourceSupp;
     private SourcePosition valueSource;
@@ -40,18 +44,21 @@
     private ObjectVariable guestObj;
     private boolean leaf;
     
-    public TruffleStackVariable(JPDADebugger debugger, String name, String type,
-                                boolean readable, boolean writable, boolean internal,
-                                 String valueStr, Supplier<SourcePosition> valueSource,
-                                Supplier<SourcePosition> typeSource,
+    public TruffleStackVariable(JPDADebugger debugger, String name, LanguageName language,
+                                String type, boolean readable, boolean writable, boolean internal,
+                                String valueStr, boolean hasValueSource, Supplier<SourcePosition> valueSource,
+                                boolean hasTypeSource, Supplier<SourcePosition> typeSource,
                                 ObjectVariable truffleObj) {
         this.debugger = debugger;
         this.name = name;
+        this.language = language;
         this.type = type;
         this.readable = readable;
         this.writable = writable;
         this.internal = internal;
         this.valueStr = valueStr;
+        this.hasValueSource = hasValueSource;
+        this.hasTypeSource = hasTypeSource;
         this.valueSourceSupp = valueSource;
         this.typeSourceSupp = typeSource;
         this.guestObj = truffleObj;
@@ -64,6 +71,11 @@
     }
 
     @Override
+    public LanguageName getLanguage() {
+        return language;
+    }
+
+    @Override
     public String getType() {
         return type;
     }
@@ -90,6 +102,9 @@
 
     @Override
     public ObjectVariable setValue(JPDADebugger debugger, String newExpression) {
+        if (this.valueStr.equals(newExpression)) {
+            return null;
+        }
         ObjectVariable newGuestObject = TruffleVariableImpl.setValue(debugger, guestObj, newExpression);
         if (newGuestObject != null) {
             this.guestObj = newGuestObject;
@@ -97,6 +112,8 @@
             this.type = newVar.getType();
             this.valueStr = newVar.getValue().toString();
             this.valueSource = this.typeSource = null;
+            this.hasValueSource = newVar.hasValueSource();
+            this.hasTypeSource = newVar.hasTypeSource();
             this.valueSourceSupp = () -> newVar.getValueSource();
             this.typeSourceSupp = () -> newVar.getTypeSource();
             this.leaf = TruffleVariableImpl.isLeaf(guestObj);
@@ -105,6 +122,11 @@
     }
 
     @Override
+    public boolean hasValueSource() {
+        return hasValueSource;
+    }
+
+    @Override
     public synchronized SourcePosition getValueSource() {
         if (valueSource == null) {
             valueSource = valueSourceSupp.get();
@@ -113,6 +135,11 @@
     }
 
     @Override
+    public boolean hasTypeSource() {
+        return hasTypeSource;
+    }
+
+    @Override
     public synchronized SourcePosition getTypeSource() {
         if (typeSource == null) {
             typeSource = typeSourceSupp.get();
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariable.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariable.java
index 9b58279..3674c42 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariable.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariable.java
@@ -21,6 +21,7 @@
 
 import org.netbeans.api.debugger.jpda.JPDADebugger;
 import org.netbeans.api.debugger.jpda.ObjectVariable;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
 import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
 
 /**
@@ -29,7 +30,9 @@
 public interface TruffleVariable {
     
     String getName();
-    
+
+    LanguageName getLanguage();
+
     String getType();
 
     boolean isReadable();
@@ -40,8 +43,12 @@
     
     Object getValue();
     
+    boolean hasValueSource();
+    
     SourcePosition getValueSource();
     
+    boolean hasTypeSource();
+    
     SourcePosition getTypeSource();
     
     boolean isLeaf();
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariableImpl.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariableImpl.java
index f9a45de..3ec8ad4 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariableImpl.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/TruffleVariableImpl.java
@@ -26,6 +26,7 @@
 import org.netbeans.api.debugger.jpda.ObjectVariable;
 import org.netbeans.api.debugger.jpda.Variable;
 import org.netbeans.modules.debugger.jpda.models.AbstractVariable;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
 import org.netbeans.modules.debugger.jpda.truffle.access.CurrentPCInfo;
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleAccess;
 import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
@@ -35,6 +36,7 @@
     
     private static final String GUEST_OBJECT_TYPE = "org.netbeans.modules.debugger.jpda.backend.truffle.GuestObject";   // NOI18N
     private static final String FIELD_NAME = "name";                            // NOI18N
+    private static final String FIELD_LANGUAGE = "language";                    // NOI18N
     private static final String FIELD_TYPE = "type";                            // NOI18N
     private static final String FIELD_READABLE = "readable";                    // NOI18N
     private static final String FIELD_WRITABLE = "writable";                    // NOI18N
@@ -50,29 +52,36 @@
     
     private final ObjectVariable guestObject;
     private final String name;
+    private final LanguageName language;
     private final String type;
     private final String displayValue;
     private final boolean readable;
     private final boolean writable;
     private final boolean internal;
     private final boolean leaf;
+    private final boolean hasValueSource;
+    private final boolean hasTypeSource;
     private SourcePosition valueSource;
     private SourcePosition typeSource;
     
     private TruffleVariableImpl(ObjectVariable guestObject, String name,
-                                String type, String displayValue,
+                                LanguageName language, String type, String displayValue,
                                 boolean readable, boolean writable, boolean internal,
+                                boolean hasValueSource, boolean hasTypeSource,
                                 boolean leaf) {
         this.guestObject = guestObject;
         this.name = name;
+        this.language = language;
         this.type = type;
         this.displayValue = displayValue;
         this.readable = readable;
         this.writable = writable;
         this.internal = internal;
+        this.hasValueSource = hasValueSource;
+        this.hasTypeSource = hasTypeSource;
         this.leaf = leaf;
     }
-    
+
     public static TruffleVariableImpl get(Variable var) {
         if (GUEST_OBJECT_TYPE.equals(var.getType())) {
             ObjectVariable truffleObj = (ObjectVariable) var;
@@ -84,6 +93,12 @@
             }
             String name = (String) f.createMirrorObject();
 
+            f = truffleObj.getField(FIELD_LANGUAGE);
+            if (f == null) {
+                return null;
+            }
+            LanguageName language = LanguageName.parse((String) f.createMirrorObject());
+
             f = truffleObj.getField(FIELD_TYPE);
             if (f == null) {
                 return null;
@@ -120,8 +135,13 @@
                 internal = (Boolean) f.createMirrorObject();
             }
 
+            f = truffleObj.getField(FIELD_VALUE_SOURCE);
+            boolean hasValueSource = ((ObjectVariable) f).getUniqueID() != 0L;
+            f = truffleObj.getField(FIELD_TYPE_SOURCE);
+            boolean hasTypeSource = ((ObjectVariable) f).getUniqueID() != 0L;
+
             boolean leaf = isLeaf(truffleObj);
-            return new TruffleVariableImpl(truffleObj, name, type, dispVal, readable, writable, internal, leaf);
+            return new TruffleVariableImpl(truffleObj, name, language, type, dispVal, readable, writable, internal, hasValueSource, hasTypeSource, leaf);
         } else {
             return null;
         }
@@ -145,6 +165,11 @@
     }
 
     @Override
+    public LanguageName getLanguage() {
+        return language;
+    }
+
+    @Override
     public String getType() {
         return type;
     }
@@ -175,6 +200,9 @@
 
     @Override
     public ObjectVariable setValue(JPDADebugger debugger, String newExpression) {
+        if (this.displayValue.equals(newExpression)) {
+            return null;
+        }
         return setValue(debugger, guestObject, newExpression);
     }
 
@@ -196,6 +224,11 @@
     }
 
     @Override
+    public boolean hasValueSource() {
+        return hasValueSource;
+    }
+
+    @Override
     public synchronized SourcePosition getValueSource() {
         if (valueSource == null) {
             Field f = getFieldChecked(FIELD_VALUE_SOURCE, guestObject);
@@ -205,6 +238,11 @@
     }
 
     @Override
+    public boolean hasTypeSource() {
+        return hasTypeSource;
+    }
+
+    @Override
     public synchronized SourcePosition getTypeSource() {
         if (typeSource == null) {
             Field f = getFieldChecked(FIELD_TYPE_SOURCE, guestObject);
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesActionsProviderFilter.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesActionsProviderFilter.java
index 0abf393..ab37af7 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesActionsProviderFilter.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesActionsProviderFilter.java
@@ -23,7 +23,9 @@
 import javax.swing.Action;
 import javax.swing.SwingUtilities;
 
+import org.netbeans.api.debugger.jpda.JPDADebugger;
 import org.netbeans.modules.debugger.jpda.EditorContextBridge;
+import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl;
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleStrataProvider;
 import org.netbeans.modules.debugger.jpda.truffle.source.SourcePosition;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariable;
@@ -37,6 +39,7 @@
 import org.openide.DialogDisplayer;
 import org.openide.NotifyDescriptor;
 import org.openide.util.NbBundle;
+import org.openide.util.RequestProcessor;
 
 @DebuggerServiceRegistrations({
     @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/LocalsView",  types=NodeActionsProviderFilter.class),
@@ -45,9 +48,11 @@
     @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/WatchesView", types=NodeActionsProviderFilter.class),
 })
 public class TruffleVariablesActionsProviderFilter implements NodeActionsProviderFilter {
-    
+
+    private final RequestProcessor rp;
+
     public TruffleVariablesActionsProviderFilter(ContextProvider contextProvider) {
-        System.err.println("new TruffleVariablesActionsProviderFilter()");
+        this.rp = ((JPDADebuggerImpl) contextProvider.lookupFirst(null, JPDADebugger.class)).getRequestProcessor();
     }
 
     @NbBundle.Messages("CTL_GoToSource=Go to source")
@@ -61,7 +66,7 @@
             @Override
             public void perform (final Object[] nodes) {
                 TruffleVariable var = (TruffleVariable) nodes[0];
-                showSource(var.getValueSource());
+                rp.post(() -> showSource(var.getValueSource()));
             }
         },
         Models.MULTISELECTION_TYPE_EXACTLY_ONE
@@ -78,7 +83,7 @@
             @Override
             public void perform (final Object[] nodes) {
                 TruffleVariable var = (TruffleVariable) nodes[0];
-                showSource(var.getTypeSource());
+                rp.post(() -> showSource(var.getTypeSource()));
             }
         },
         Models.MULTISELECTION_TYPE_EXACTLY_ONE
@@ -86,19 +91,18 @@
 
     @Override
     public void performDefaultAction(NodeActionsProvider original, Object node) throws UnknownTypeException {
-        boolean shown = false;
         if (node instanceof TruffleVariable) {
             TruffleVariable var = (TruffleVariable) node;
-            SourcePosition source = var.getValueSource();
-            if (source == null) {
-                source = var.getTypeSource();
-            }
-            if (source != null) {
-                showSource(source);
-                shown = true;
-            }
-        }
-        if (!shown) {
+            rp.post(() -> {
+                SourcePosition source = var.getValueSource();
+                if (source == null) {
+                    source = var.getTypeSource();
+                }
+                if (source != null) {
+                    showSource(source);
+                }
+            });
+        } else {
             original.performDefaultAction(node);
         }
     }
@@ -115,23 +119,23 @@
         }
         if (node instanceof TruffleVariable) {
             TruffleVariable var = (TruffleVariable) node;
-            SourcePosition valueSource = var.getValueSource();
-            SourcePosition typeSource = var.getTypeSource();
-            if (valueSource != null || typeSource != null) {
+            boolean hasValueSource = var.hasValueSource();
+            boolean hasTypeSource = var.hasTypeSource();
+            if (hasValueSource || hasTypeSource) {
                 int l = actions.length;
-                if (valueSource != null) {
+                if (hasValueSource) {
                     l++;
                 }
-                if (typeSource != null) {
+                if (hasTypeSource) {
                     l++;
                 }
                 Action[] newActions = new Action[l];
                 System.arraycopy(actions, 0, newActions, 0, actions.length);
                 l = actions.length;
-                if (valueSource != null) {
+                if (hasValueSource) {
                     newActions[l++] = GO_TO_VALUE_SOURCE_ACTION;
                 }
-                if (typeSource != null) {
+                if (hasTypeSource) {
                     newActions[l++] = GO_TO_TYPE_SOURCE_ACTION;
                 }
                 actions = newActions;
@@ -145,7 +149,7 @@
     @NbBundle.Messages({"# {0} - The file path", "MSG_NoSourceFile=Cannot find source file {0}."})
     private void showSource(SourcePosition source) {
         URL url = source.getSource().getUrl();
-        int lineNumber = source.getLine();
+        int lineNumber = source.getStartLine();
         SwingUtilities.invokeLater (() -> {
             boolean success = EditorContextBridge.getContext().showSource(url.toExternalForm(), lineNumber, null);
             if (!success) {
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTableModel.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTableModel.java
index 69b2bad..edb8f61 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTableModel.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTableModel.java
@@ -19,13 +19,19 @@
 
 package org.netbeans.modules.debugger.jpda.truffle.vars.models;
 
+import java.awt.Color;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
+import javax.swing.JTable;
+import javax.swing.UIManager;
 
 import org.netbeans.api.debugger.jpda.JPDADebugger;
-import org.netbeans.api.debugger.jpda.JPDAWatch;
 import org.netbeans.api.debugger.jpda.Variable;
+import org.netbeans.modules.debugger.jpda.truffle.LanguageName;
+import org.netbeans.modules.debugger.jpda.truffle.access.CurrentPCInfo;
+import org.netbeans.modules.debugger.jpda.truffle.access.TruffleAccess;
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleStrataProvider;
+import org.netbeans.modules.debugger.jpda.truffle.frames.TruffleStackFrame;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleScope;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariable;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleVariableImpl;
@@ -47,10 +53,10 @@
 import org.netbeans.spi.viewmodel.UnknownTypeException;
 
 @DebuggerServiceRegistrations({
-    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/LocalsView",  types = TableModelFilter.class),
-    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/ResultsView", types = TableModelFilter.class),
-    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/ToolTipView", types = TableModelFilter.class),
-    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/WatchesView", types = TableModelFilter.class)
+    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/LocalsView",  types = {TableModelFilter.class, TableHTMLModelFilter.class}),
+    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/ResultsView", types = {TableModelFilter.class, TableHTMLModelFilter.class}),
+    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/ToolTipView", types = {TableModelFilter.class, TableHTMLModelFilter.class}),
+    @DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/WatchesView", types = {TableModelFilter.class, TableHTMLModelFilter.class})
 })
 public class TruffleVariablesTableModel implements TableModelFilter, TableHTMLModelFilter {
     
@@ -61,23 +67,22 @@
         debugger = contextProvider.lookupFirst(null, JPDADebugger.class);
     }
 
+    private static TruffleVariable getTruffleVariable(Object node) {
+        if (node instanceof Variable) {
+            return TruffleVariableImpl.get((Variable) node);
+        } else if (node instanceof TruffleVariable) {
+            return (TruffleVariable) node;
+        } else {
+            return null;
+        }
+    }
+
     @Override
     public Object getValueAt(TableModel original, Object node, String columnID) throws UnknownTypeException {
         if (node instanceof TruffleScope) {
             return "";
         }
-        TruffleVariable tv = null;
-        if (node instanceof JPDAWatch) {// && !isEnabled((JPDAWatch) node)) {
-            Object orig = original.getValueAt(node, columnID); // Call in any case because of error displaying
-            if (node instanceof Variable) {
-                tv = TruffleVariableImpl.get((Variable) node);
-            }
-            if (tv == null) {
-                return orig;
-            }
-        } else if (node instanceof TruffleVariable) {
-            tv = (TruffleVariable) node;
-        }
+        TruffleVariable tv = getTruffleVariable(node);
         if (tv != null) {
             switch (columnID) {
                 case LOCALS_TYPE_COLUMN_ID:
@@ -128,13 +133,34 @@
     @Override
     public boolean hasHTMLValueAt(TableHTMLModel original, Object node, String columnID) throws UnknownTypeException {
         if (node instanceof TruffleVariable) {
-            return false;
+            switch (columnID) {
+                case LOCALS_TYPE_COLUMN_ID:
+                case WATCH_TYPE_COLUMN_ID:
+                    return true;
+            }
         }
         return original.hasHTMLValueAt(node, columnID);
     }
 
     @Override
     public String getHTMLValueAt(TableHTMLModel original, Object node, String columnID) throws UnknownTypeException {
+            switch (columnID) {
+                case LOCALS_TYPE_COLUMN_ID:
+                case WATCH_TYPE_COLUMN_ID:
+                    TruffleVariable tv = getTruffleVariable(node);
+                    if (tv != null) {
+                        LanguageName frameLanguage = LanguageName.NONE;
+                        CurrentPCInfo currentPCInfo = TruffleAccess.getCurrentPCInfo(debugger.getCurrentThread());
+                        if (currentPCInfo != null) {
+                            TruffleStackFrame selectedStackFrame = currentPCInfo.getSelectedStackFrame();
+                            frameLanguage = selectedStackFrame.getLanguage();
+                        }
+                        LanguageName valueLanguage = tv.getLanguage();
+                        if (!LanguageName.NONE.equals(valueLanguage) && !frameLanguage.equals(valueLanguage)) {
+                            return toHTML(valueLanguage.getName(), tv.getType());
+                        }
+                    }
+        }
         return original.getHTMLValueAt(node, columnID);
     }
 
@@ -148,4 +174,32 @@
         listeners.remove(l);
     }
 
+    public static String toHTML(String id, String text) {
+        if (text == null) return null;
+        StringBuilder sb = new StringBuilder ();
+        sb.append("<html>");
+        Color color = UIManager.getColor("Table.foreground");
+        if (color == null) {
+            color = new JTable().getForeground();
+        }
+        sb.append("<font color=\"#");
+        String hexColor = Integer.toHexString ((color.getRGB () & 0xffffff));
+        for (int i = hexColor.length(); i < 6; i++) {
+            sb.append("0"); // Prepend zeros to length of 6
+        }
+        sb.append(hexColor);
+        sb.append("\">");
+        
+        sb.append("<font color=\"#808080\">[");
+        sb.append(id);
+        sb.append("]</font> ");
+        
+        text = text.replaceAll("&", "&amp;");
+        text = text.replaceAll("<", "&lt;");
+        text = text.replaceAll(">", "&gt;");
+        sb.append(text);
+        sb.append("</font>");
+        sb.append("</html>");
+        return sb.toString ();
+    }
 }
diff --git a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTreeModel.java b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTreeModel.java
index cf9f119..66c135c 100644
--- a/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTreeModel.java
+++ b/java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/vars/models/TruffleVariablesTreeModel.java
@@ -23,7 +23,6 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.netbeans.api.debugger.jpda.JPDADebugger;
-import org.netbeans.api.debugger.jpda.JPDAWatch;
 import org.netbeans.api.debugger.jpda.Variable;
 import org.netbeans.modules.debugger.jpda.truffle.access.TruffleStrataProvider;
 import org.netbeans.modules.debugger.jpda.truffle.vars.TruffleScope;
@@ -62,7 +61,7 @@
 
     @Override
     public Object[] getChildren(TreeModel original, Object parent, int from, int to) throws UnknownTypeException {
-        if (parent instanceof JPDAWatch) {
+        if (parent instanceof Variable) {
             TruffleVariable tv = TruffleVariableImpl.get((Variable) parent);
             if (tv != null) {
                 parent = tv;
diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugSLTest.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugSLTest.java
index dc3ab84..94e0f43 100644
--- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugSLTest.java
+++ b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/DebugSLTest.java
@@ -130,7 +130,7 @@
             assertNotNull("No top frame", topFrame);
             SourcePosition sourcePosition = topFrame.getSourcePosition();
             assertEquals("Bad source", "Meaning of world.sl", sourcePosition.getSource().getName());
-            assertEquals("Bad line", lineNo, sourcePosition.getLine());
+            assertEquals("Bad line", lineNo, sourcePosition.getStartLine());
             assertEquals("Bad method name", methodName, topFrame.getMethodName());
             
             support.doContinue();
@@ -178,7 +178,7 @@
             assertNotNull("No top frame", topFrame);
             SourcePosition sourcePosition = topFrame.getSourcePosition();
             assertEquals("Bad source", "TestApp.sl", sourcePosition.getSource().getName());
-            assertEquals("Bad line", lb.getLineNumber(), sourcePosition.getLine());
+            assertEquals("Bad line", lb.getLineNumber(), sourcePosition.getStartLine());
             assertEquals("Bad method name", "main", topFrame.getMethodName());
             
             support.doContinue();
diff --git a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/testapps/SLApp.java b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/testapps/SLApp.java
index 15cabd4..4d1e9f6 100644
--- a/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/testapps/SLApp.java
+++ b/java/debugger.jpda.truffle/test/unit/src/org/netbeans/modules/debugger/jpda/truffle/testapps/SLApp.java
@@ -44,7 +44,7 @@
             "}\n",
             "Meaning of world.sl").build();
         
-        Context context = Context.newBuilder().out(os).build();
+        Context context = Context.newBuilder().allowAllAccess(true).out(os).build();
         Value result = context.eval(src);                           // LBREAKPOINT
 
         assertEquals("Expected result", 42L, result.asLong());
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/FrameInfo.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/FrameInfo.java
index 7e53dea..61c7167 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/FrameInfo.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/FrameInfo.java
@@ -20,6 +20,7 @@
 package org.netbeans.modules.debugger.jpda.backend.truffle;
 
 import com.oracle.truffle.api.debug.DebugStackFrame;
+import com.oracle.truffle.api.nodes.LanguageInfo;
 import com.oracle.truffle.api.nodes.RootNode;
 import com.oracle.truffle.api.source.SourceSection;
 import java.lang.reflect.InvocationTargetException;
@@ -40,7 +41,7 @@
 
     FrameInfo(DebugStackFrame topStackFrame, Iterable<DebugStackFrame> stackFrames) {
         SourceSection topSS = topStackFrame.getSourceSection();
-        SourcePosition position = JPDATruffleDebugManager.getPosition(topSS);
+        SourcePosition position = new SourcePosition(topSS);
         ArrayList<DebugStackFrame> stackFramesArray = new ArrayList<>();
         for (DebugStackFrame sf : stackFrames) {
             if (sf == topStackFrame) {
@@ -55,10 +56,13 @@
         }
         frame = topStackFrame;
         stackTrace = stackFramesArray.toArray(new DebugStackFrame[stackFramesArray.size()]);
+        LanguageInfo sfLang = topStackFrame.getLanguage();
         topFrame = topStackFrame.getName() + "\n" +
+                   ((sfLang != null) ? sfLang.getId() + " " + sfLang.getName() : "") + "\n" +
                    DebuggerVisualizer.getSourceLocation(topSS) + "\n" +
                    position.id + "\n" + position.name + "\n" + position.path + "\n" +
-                   position.uri.toString() + "\n" + position.line + "\n" + isInternal(topStackFrame);
+                   position.uri.toString() + "\n" + position.sourceSection +/* "," + position.startColumn + "," +
+                   position.endLine + "," + position.endColumn +*/ "\n" + isInternal(topStackFrame);
         topVariables = JPDATruffleAccessor.getVariables(topStackFrame);
     }
     
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/GuestObject.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/GuestObject.java
index 6d3f6a5..8b159a1 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/GuestObject.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/GuestObject.java
@@ -21,12 +21,11 @@
 
 import com.oracle.truffle.api.debug.DebugStackFrame;
 import com.oracle.truffle.api.debug.DebugValue;
+import com.oracle.truffle.api.nodes.LanguageInfo;
 import com.oracle.truffle.api.source.SourceSection;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
+
 import java.util.Collection;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * A guest language object.
@@ -37,6 +36,7 @@
 
     final DebugValue value;
     final String name;
+    final String language;
     final String type;
     final String displayValue;
     final boolean readable;
@@ -50,6 +50,14 @@
     final SourcePosition typeSourcePosition;
 
     GuestObject(DebugValue value) {
+        LanguageInfo originalLanguage = value.getOriginalLanguage();
+        // Setup the object with a language-specific value
+        if (originalLanguage != null) {
+            value = value.asInLanguage(originalLanguage);
+            this.language = originalLanguage.getId() + " " + originalLanguage.getName();
+        } else {
+            this.language = "";
+        }
         this.value = value;
         this.name = value.getName();
         //System.err.println("new GuestObject("+name+")");
@@ -62,36 +70,34 @@
             LangErrors.exception("Value "+name+" .getMetaObject()", ex);
         }
         String typeStr = "";
-        if (metaObject != null) {
-            try {
-                typeStr = metaObject.as(String.class);
-            } catch (ThreadDeath td) {
-                throw td;
-            } catch (Throwable ex) {
-                LangErrors.exception("Meta object of "+name+" .as(String.class)", ex);
+        try {
+            // New in GraalVM 20.1.0
+            typeStr = (String) DebugValue.class.getMethod("getMetaSimpleName").invoke(value);
+        } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException exc) {
+            if (metaObject != null) {
+                try {
+                    typeStr = metaObject.as(String.class);
+                } catch (ThreadDeath td) {
+                    throw td;
+                } catch (Throwable ex) {
+                    LangErrors.exception("Meta object of "+name+" .as(String.class)", ex);
+                }
             }
         }
         this.type = typeStr;
         //this.object = value;
         String valueStr = null;
         try {
-            valueStr = value.as(String.class);
+            try {
+                // New in GraalVM 20.1.0
+                valueStr = (String) DebugValue.class.getMethod("toDisplayString").invoke(value);
+            } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException exc) {
+                valueStr = value.as(String.class);
+            }
         } catch (ThreadDeath td) {
             throw td;
         } catch (Throwable ex) {
-            LangErrors.exception("Value "+name+" .as(String.class)", ex);
-        }
-        if (valueStr == null) {
-            // Hack for R:
-            try {
-                Method getMethod = DebugValue.class.getDeclaredMethod("get");
-                getMethod.setAccessible(true);
-                Object realValue = getMethod.invoke(value);
-                valueStr = Objects.toString(realValue);
-            } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException |
-                     NoSuchMethodException | SecurityException ex) {
-                LangErrors.exception("Value "+name+" get() invocation", ex);
-            }
+            LangErrors.exception("Value "+name+" .toDisplayString", ex);
         }
         this.displayValue = valueStr;
         //System.err.println("  have display value "+valueStr);
@@ -138,8 +144,8 @@
         try {
             SourceSection sourceLocation = value.getSourceLocation();
             //System.err.println("\nSOURCE of "+value.getName()+" is: "+sourceLocation);
-            if (sourceLocation != null) {
-                sp = JPDATruffleDebugManager.getPosition(sourceLocation);
+            if (sourceLocation != null && sourceLocation.isAvailable()) {
+                sp = new SourcePosition(sourceLocation);
             }
         } catch (ThreadDeath td) {
             throw td;
@@ -152,8 +158,8 @@
             try {
                 SourceSection sourceLocation = metaObject.getSourceLocation();
                 //System.err.println("\nSOURCE of metaobject "+metaObject+" is: "+sourceLocation);
-                if (sourceLocation != null) {
-                    sp = JPDATruffleDebugManager.getPosition(sourceLocation);
+                if (sourceLocation != null && sourceLocation.isAvailable()) {
+                    sp = new SourcePosition(sourceLocation);
                 }
             } catch (ThreadDeath td) {
                 throw td;
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleAccessor.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleAccessor.java
index 26f624a..af6d364 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleAccessor.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleAccessor.java
@@ -26,7 +26,8 @@
 import com.oracle.truffle.api.debug.Debugger;
 import com.oracle.truffle.api.debug.DebuggerSession;
 import com.oracle.truffle.api.debug.SuspendedEvent;
-//import com.oracle.truffle.api.vm.PolyglotEngine;
+import com.oracle.truffle.api.nodes.LanguageInfo;
+
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -111,7 +112,7 @@
         }
     }
     
-    static JPDATruffleDebugManager setUpDebugManagerFor(/*Engine*/Object engineObj, boolean doStepInto) {
+    static JPDATruffleDebugManager setUpDebugManagerFor(/*Engine*/Object engineObj, boolean includeInternal, boolean doStepInto) {
         trace("setUpDebugManagerFor("+engineObj+", "+doStepInto+")");
         Engine engine = (Engine) engineObj;
         Debugger debugger;
@@ -126,13 +127,24 @@
                 return null;
             }
         }
-        JPDATruffleDebugManager tdm = new JPDATruffleDebugManager(debugger, doStepInto);
+        JPDATruffleDebugManager tdm = new JPDATruffleDebugManager(debugger, includeInternal, doStepInto);
         synchronized (debugManagers) {
             debugManagers.put(debugger, tdm);
         }
         return tdm;
     }
     
+    static void setIncludeInternal(boolean includeInternal) {
+        synchronized (debugManagers) {
+            for (JPDATruffleDebugManager tdm : debugManagers.values()) {
+                DebuggerSession debuggerSession = tdm.getDebuggerSession();
+                if (debuggerSession != null) {
+                    debuggerSession.setSteppingFilter(JPDATruffleDebugManager.createSteppingFilter(includeInternal));
+                }
+            }
+        }
+    }
+
     static int executionHalted(JPDATruffleDebugManager tdm,
                                SourcePosition position,
                                boolean haltedBefore,
@@ -200,6 +212,10 @@
             }
             frameInfos.append(sfName);
             frameInfos.append('\n');
+            LanguageInfo sfLang = sf.getLanguage();
+            String sfLangId = (sfLang != null) ? sfLang.getId() + " " + sfLang.getName() : "";
+            frameInfos.append(sfLangId);
+            frameInfos.append('\n');
             frameInfos.append(DebuggerVisualizer.getSourceLocation(sf.getSourceSection()));
             frameInfos.append('\n');
             /*if (fi.getCallNode() == null) {
@@ -210,7 +226,7 @@
                 System.err.println("frameInfos = "+frameInfos);
                 *//*
             }*/
-            SourcePosition position = JPDATruffleDebugManager.getPosition(sf.getSourceSection());
+            SourcePosition position = new SourcePosition(sf.getSourceSection());
             frameInfos.append(createPositionIdentificationString(position));
             if (includeInternal) {
                 frameInfos.append('\n');
@@ -220,12 +236,6 @@
             frameInfos.append("\n\n");
             
             codes[j] = position.code;
-            /*
-             TODO Find "this"
-            Frame f = fi.getFrame(FrameInstance.FrameAccess.READ_ONLY, false);
-            if (f instanceof VirtualFrame) {
-                thiss[i] = JSFrameUtil.getThisObj((VirtualFrame) f);
-            }*/
             j++;
         }
         if (j < n) {
@@ -246,7 +256,7 @@
         str.append('\n');
         str.append(position.uri.toString());
         str.append('\n');
-        str.append(position.line);
+        str.append(position.sourceSection);
         return str.toString();
     }
 
@@ -293,7 +303,8 @@
                 }
                 Iterable<DebugValue> varsIt = scope.getDeclaredValues();
                 Iterator<DebugValue> vars = varsIt.iterator();
-                if ((args == null || !args.hasNext()) && !vars.hasNext()) {
+                DebugValue receiver = scope.isFunctionScope() ? scope.getReceiver() : null;
+                if ((args == null || !args.hasNext()) && !vars.hasNext() && receiver == null) {
                     // An empty scope, skip it
                     scope = scope.getParent();
                     continue;
@@ -314,6 +325,9 @@
                 while (vars.hasNext()) {
                     variables.add(vars.next());
                 }
+                if (receiver != null) {
+                    variables.add(receiver);
+                }
                 elements.add(variables.size());
                 if (arguments != null) {
                     for (DebugValue v : arguments) {
@@ -377,6 +391,12 @@
             while (vars.hasNext()) {
                 variables.add(vars.next());
             }
+            if (scope.isFunctionScope()) {
+                DebugValue receiver = scope.getReceiver();
+                if (receiver != null) {
+                    variables.add(receiver);
+                }
+            }
             elements.add(variables.size());
             if (arguments != null) {
                 for (DebugValue v : arguments) {
@@ -394,11 +414,12 @@
         return elements.toArray();
     }
 
-    // Store 11 elements: <name>, <type>, <readable>, <writable>, <internal>, <String value>,
+    // Store 12 elements: <name>, <language>, <type>, <readable>, <writable>, <internal>, <String value>,
     //                    <var source>, <VS code>, <type source>, <TS code>, <DebugValue>
     static void addValueElement(DebugValue value, List<Object> elements) {
         GuestObject tobj = new GuestObject(value);
         elements.add(tobj.name);
+        elements.add(tobj.language);
         elements.add(tobj.type);
         elements.add(tobj.readable);
         elements.add(tobj.writable);
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleDebugManager.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleDebugManager.java
index 98ecfa7..f3fd297 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleDebugManager.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/JPDATruffleDebugManager.java
@@ -26,8 +26,7 @@
 import com.oracle.truffle.api.debug.SuspendedCallback;
 import com.oracle.truffle.api.debug.SuspendedEvent;
 import com.oracle.truffle.api.debug.SuspensionFilter;
-import com.oracle.truffle.api.source.Source;
-import com.oracle.truffle.api.source.SourceSection;
+
 import java.lang.ref.Reference;
 import java.lang.ref.WeakReference;
 
@@ -41,16 +40,20 @@
     private final Reference<DebuggerSession> session;
     private final ThreadLocal<SuspendedEvent> suspendedEvents = new ThreadLocal<>();
 
-    public JPDATruffleDebugManager(Debugger debugger, boolean doStepInto) {
+    public JPDATruffleDebugManager(Debugger debugger, boolean includeInternal, boolean doStepInto) {
         this.debugger = new WeakReference<>(debugger);
         DebuggerSession debuggerSession = debugger.startSession(this);
-        debuggerSession.setSteppingFilter(SuspensionFilter.newBuilder().ignoreLanguageContextInitialization(true).build());
+        debuggerSession.setSteppingFilter(createSteppingFilter(includeInternal));
         if (doStepInto) {
             debuggerSession.suspendNextExecution();
         }
         this.session = new WeakReference<>(debuggerSession);
     }
-    
+
+    static SuspensionFilter createSteppingFilter(boolean includeInternal) {
+        return SuspensionFilter.newBuilder().ignoreLanguageContextInitialization(true).includeInternal(includeInternal).build();
+    }
+
     Debugger getDebugger() {
         return debugger.get();
     }
@@ -63,18 +66,6 @@
         return suspendedEvents.get();
     }
     
-    static SourcePosition getPosition(SourceSection sourceSection) {
-        int line = sourceSection.getStartLine();
-        Source source = sourceSection.getSource();
-        String name = source.getName();
-        String path = source.getPath();
-        if (path == null) {
-            path = name;
-        }
-        String code = source.getCharacters().toString();
-        return new SourcePosition(source, name, path, line, code);
-    }
-
     void dispose() {
         DebuggerSession ds = session.get();
         if (ds != null) {
@@ -116,7 +107,7 @@
         }
         suspendedEvents.set(event);
         try {
-            SourcePosition position = getPosition(event.getSourceSection());
+            SourcePosition position = new SourcePosition(event.getSourceSection());
             int stepCmd = JPDATruffleAccessor.executionHalted(
                     this, position,
                     event.getSuspendAnchor() == SuspendAnchor.BEFORE,
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/SourcePosition.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/SourcePosition.java
index 5552ba6..d4321b0 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/SourcePosition.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/SourcePosition.java
@@ -20,6 +20,8 @@
 package org.netbeans.modules.debugger.jpda.backend.truffle;
 
 import com.oracle.truffle.api.source.Source;
+import com.oracle.truffle.api.source.SourceSection;
+
 import java.net.URI;
 import java.util.Map;
 import java.util.WeakHashMap;
@@ -36,16 +38,21 @@
     final long id;
     final String name;
     final String path;
-    final int line;
+    final String sourceSection;
     final String code;
     final URI uri;
 
-    public SourcePosition(Source source, String name, String path, int line, String code) {
+    public SourcePosition(SourceSection sourceSection) {
+        Source source = sourceSection.getSource();
         this.id = getId(source);
-        this.name = name;
-        this.path = path;
-        this.line = line;
-        this.code = code;
+        this.name = source.getName();
+        String sourcePath = source.getPath();
+        if (sourcePath == null) {
+            sourcePath = name;
+        }
+        this.path = sourcePath;
+        this.sourceSection = sourceSection.getStartLine() + "," + sourceSection.getStartColumn() + "," + sourceSection.getEndLine() + "," + sourceSection.getEndColumn();
+        this.code = source.getCharacters().toString();
         this.uri = source.getURI();
     }
 
diff --git a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/TruffleAST.java b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/TruffleAST.java
index 997e64f..64131f9 100644
--- a/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/TruffleAST.java
+++ b/java/debugger.jpda.truffle/truffle-backend/org/netbeans/modules/debugger/jpda/backend/truffle/TruffleAST.java
@@ -26,12 +26,13 @@
 import com.oracle.truffle.api.frame.FrameInstance;
 import com.oracle.truffle.api.frame.FrameInstanceVisitor;
 import com.oracle.truffle.api.frame.FrameSlot;
+import com.oracle.truffle.api.instrumentation.InstrumentableNode;
 import com.oracle.truffle.api.instrumentation.StandardTags;
+import com.oracle.truffle.api.instrumentation.Tag;
 import com.oracle.truffle.api.nodes.Node;
 import com.oracle.truffle.api.nodes.NodeUtil;
 import com.oracle.truffle.api.nodes.RootNode;
 import com.oracle.truffle.api.source.SourceSection;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -132,23 +133,19 @@
         }
         // TAGS:
         try {
-            java.lang.reflect.Method isTaggedWithMethod = Node.class.getDeclaredMethod("isTaggedWith", Class.class);
-            isTaggedWithMethod.setAccessible(true);
             StringBuilder tags = new StringBuilder();
-            if ((Boolean) isTaggedWithMethod.invoke(node, StandardTags.RootTag.class)) {
-                tags.append("Root");
-            }
-            if ((Boolean) isTaggedWithMethod.invoke(node, StandardTags.CallTag.class)) {
-                if (tags.length() > 0) {
-                    tags.append(' ');
+            if (node instanceof InstrumentableNode) {
+                InstrumentableNode inode = (InstrumentableNode) node;
+                for (Class<?> tag : StandardTags.class.getDeclaredClasses()) {
+                    if (Tag.class.isAssignableFrom(tag)) {
+                        if (inode.hasTag(tag.asSubclass(Tag.class))) {
+                            if (tags.length() > 0) {
+                                tags.append(',');
+                            }
+                            tags.append(tag.getSimpleName());
+                        }
+                    }
                 }
-                tags.append("Call");
-            }
-            if ((Boolean) isTaggedWithMethod.invoke(node, StandardTags.StatementTag.class)) {
-                if (tags.length() > 0) {
-                    tags.append(' ');
-                }
-                tags.append("Statement");
             }
             nodes.append(tags);
         } catch (Throwable t) {
diff --git a/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java b/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java
index 6c3c381..98ca2da 100644
--- a/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java
+++ b/java/debugger.jpda/src/org/netbeans/modules/debugger/jpda/breakpoints/LineBreakpointImpl.java
@@ -46,7 +46,9 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
@@ -72,7 +74,6 @@
 import org.netbeans.api.java.source.TreeUtilities;
 import org.netbeans.modules.debugger.jpda.EditorContextBridge;
 import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl;
-import org.netbeans.modules.debugger.jpda.SourcePath;
 import org.netbeans.modules.debugger.jpda.expr.JDIVariable;
 import org.netbeans.modules.debugger.jpda.jdi.ClassNotPreparedExceptionWrapper;
 import org.netbeans.modules.debugger.jpda.jdi.InternalExceptionWrapper;
@@ -92,6 +93,11 @@
 import org.openide.filesystems.URLMapper;
 import org.openide.util.Exceptions;
 import org.openide.util.NbBundle;
+import java.util.LinkedHashMap;
+import java.util.Optional;
+import static java.util.stream.Collectors.collectingAndThen;
+import static java.util.stream.Collectors.groupingBy;
+import static java.util.stream.Collectors.minBy;
 
 
 
@@ -337,24 +343,27 @@
                     continue;
                 }
                 // Submit the breakpoint for the lowest location on the line only:
-                Location location = locations.get(0);
-                com.sun.jdi.Method m0 = location.method();
-                for (int li = 1; li < locations.size(); li++) {
-                    Location l = locations.get(li);
-                    if (l.codeIndex() < location.codeIndex()) {
-                        if (l.method().equals(m0)) {
-                            // Assure that we're still in the same method
-                            location = l;
-                        }
-                    }
-                }
+                /* If location contains multiple event breakpoint for the same line 
+                (e.g lambda expression along with any function calling 
+                map(n -> foo(
+                        boo(n)))) 
+                then take the lowest location from each type of event*/
+                Collection<Location> lowestLocationList = locations
+                        .stream()
+                        .collect(groupingBy(loc->loc.method().toString(),
+                                LinkedHashMap::new,
+                                collectingAndThen(minBy(Comparator.comparingLong(Location::codeIndex)), 
+                                        Optional::get))).values();
+                
                 try {
-                    BreakpointRequest br = EventRequestManagerWrapper.
-                        createBreakpointRequest (getEventRequestManager (), location);
-                    setFilters(br);
-                    addEventRequest (br);
-                    submitted = true;
-                    //System.out.println("Breakpoint " + br + location + "created");
+                    for (Iterator it = lowestLocationList.iterator(); it.hasNext();) {
+                        Location loc = (Location) it.next();
+                        BreakpointRequest brl = EventRequestManagerWrapper.
+                                createBreakpointRequest(getEventRequestManager(), loc);
+                        setFilters(brl);
+                        addEventRequest(brl);
+                        submitted = true;
+                    }
                 } catch (VMDisconnectedExceptionWrapper e) {
                 } catch (InternalExceptionWrapper e) {
                 } catch (ObjectCollectedExceptionWrapper e) {
@@ -362,7 +371,7 @@
                     Exceptions.printStackTrace(irse);
                 } catch (RequestNotSupportedException rnsex) {
                     setValidity(Breakpoint.VALIDITY.INVALID, NbBundle.getMessage(ClassBasedBreakpoint.class, "MSG_RequestNotSupported"));
-                    return ;
+                    return;
                 }
             } // for
             if (counter == 0) {
diff --git a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionLambdaBreakpointTest.java b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionLambdaBreakpointTest.java
new file mode 100644
index 0000000..2542b89
--- /dev/null
+++ b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionLambdaBreakpointTest.java
@@ -0,0 +1,203 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.netbeans.api.debugger.jpda;
+
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import junit.framework.Test;
+import static junit.framework.TestCase.assertEquals;
+import static junit.framework.TestCase.assertNotNull;
+import static junit.framework.TestCase.assertTrue;
+import org.netbeans.api.debugger.DebuggerManager;
+import org.netbeans.api.debugger.jpda.event.JPDABreakpointEvent;
+import org.netbeans.api.debugger.jpda.event.JPDABreakpointListener;
+import org.netbeans.junit.NbTestCase;
+
+/**
+ * Tests lambda expression stepping action
+ *
+ * @author aksinsin
+ */
+public class ExpressionLambdaBreakpointTest extends NbTestCase {
+
+    private static final String TEST_APP_PATH = System.getProperty ("test.dir.src") + 
+        "org/netbeans/api/debugger/jpda/testapps/ExpressionLambdaBreakpointApp.java";
+    
+    private JPDASupport support;
+    
+    public ExpressionLambdaBreakpointTest (String s) {
+        super (s);
+    }
+
+    public static Test suite() {
+        return JPDASupport.createTestSuite(ExpressionLambdaBreakpointTest.class);
+    }
+    
+    public void testLambdaBreakpoints() throws Exception {
+        try {
+            Utils.BreakPositions bp = Utils.getBreakPositions(TEST_APP_PATH);
+            LineBreakpoint[] lb = bp.getBreakpoints().toArray(new LineBreakpoint[0]);
+            DebuggerManager dm = DebuggerManager.getDebuggerManager ();
+            for (int i = 0; i < lb.length; i++) {
+                dm.addBreakpoint (lb[i]);
+            }
+
+            TestBreakpointListener[] tb = new TestBreakpointListener[lb.length];
+            for (int i = 0; i < lb.length; i++) {
+                tb[i] = new TestBreakpointListener (lb[i]);
+                lb[i].addJPDABreakpointListener (tb[i]);
+            }
+            support = JPDASupport.attach (
+                "org.netbeans.api.debugger.jpda.testapps.ExpressionLambdaBreakpointApp"
+            );
+            
+            JPDADebugger debugger = support.getDebugger();
+            int lambdaBpLineHitCount = 6; //total list vaues + 1
+            for (int j = 0; j < lambdaBpLineHitCount; j++) {
+                support.waitState (JPDADebugger.STATE_STOPPED);  // j-th breakpoint hit
+                assertEquals (
+                    "Debugger stopped at wrong line for breakpoint", 
+                    lb[0].getLineNumber (), 
+                    debugger.getCurrentCallStackFrame ().getLineNumber (null)
+                );
+                
+                if (j == 0) {
+                    support.stepOver();
+                    assertEquals (
+                    "Debugger stopped at wrong line for breakpoint", 
+                    lb[0].getLineNumber ()+ 1, 
+                    debugger.getCurrentCallStackFrame ().getLineNumber (null)
+                );
+                }
+                support.doContinue();
+            }
+            
+            
+            support.waitState (JPDADebugger.STATE_STOPPED);
+            
+            for (int i = 0; i < tb.length; i++) {
+                tb[i].checkResult ();
+            }
+            for (int i = 0; i < tb.length; i++) {
+                dm.removeBreakpoint (lb[i]);
+            }
+            Map<String, Variable> variablesByName = getVariablesByName(debugger.getCurrentCallStackFrame ().getLocalVariables());
+            assertTrue("Wrong computation value of lambda expression filter",checkMirrorValues(variablesByName, new Object[]{"a","b","c"}));
+            
+            support.doContinue ();
+            support.waitState (JPDADebugger.STATE_DISCONNECTED);
+        } finally {
+            if (support != null) support.doFinish ();
+        }
+    }
+
+    private static Map<String, Variable> getVariablesByName(LocalVariable[] vars) {
+        Map<String, Variable> map = new LinkedHashMap<>();
+        for (LocalVariable lv : vars) {
+            assertTrue("Not mutable", lv instanceof MutableVariable);
+            map.put(lv.getName(), lv);
+        }
+        return map;
+    }
+    
+    private boolean checkMirrorValues(Map<String, Variable>  mirrorValues, Object[] actualValues){
+        String variableNameKey = "nonEmptyListCollection";
+        if(mirrorValues.containsKey(variableNameKey)){
+            Variable get = mirrorValues.get(variableNameKey);
+            List<String> list = (List)get.createMirrorObject();
+            return list.equals(Arrays.asList(actualValues));
+        }
+        return false;
+    }
+    private class TestBreakpointListener implements JPDABreakpointListener {
+
+        private LineBreakpoint  lineBreakpoint;
+        private int             conditionResult;
+
+        private JPDABreakpointEvent event;
+        private AssertionError      failure;
+
+        public TestBreakpointListener (LineBreakpoint lineBreakpoint) {
+            this (lineBreakpoint, JPDABreakpointEvent.CONDITION_NONE);
+        }
+
+        public TestBreakpointListener (
+            LineBreakpoint lineBreakpoint, 
+            int conditionResult
+        ) {
+            this.lineBreakpoint = lineBreakpoint;
+            this.conditionResult = conditionResult;
+        }
+
+        @Override
+        public void breakpointReached (JPDABreakpointEvent event) {
+            try {
+                checkEvent (event);
+            } catch (AssertionError e) {
+                failure = e;
+            } catch (Throwable e) {
+                failure = new AssertionError (e);
+            }
+        }
+
+        private void checkEvent (JPDABreakpointEvent event) {
+            this.event = event;
+            assertEquals (
+                "Breakpoint event: Wrong source breakpoint", 
+                lineBreakpoint, 
+                event.getSource ()
+            );
+            assertNotNull (
+                "Breakpoint event: Context thread is null", 
+                event.getThread ()
+            );
+
+            int result = event.getConditionResult ();
+            if ( result == JPDABreakpointEvent.CONDITION_FAILED && 
+                 conditionResult != JPDABreakpointEvent.CONDITION_FAILED
+            )
+                failure = new AssertionError (event.getConditionException ());
+            else 
+            if (result != conditionResult)
+                failure = new AssertionError (
+                    "Unexpected breakpoint condition result: " + result
+                );
+        }
+
+        public void checkResult () {
+            if (event == null) {
+                CallStackFrame f = support.getDebugger ().
+                    getCurrentCallStackFrame ();
+                int ln = -1;
+                if (f != null) {
+                    ln = f.getLineNumber (null);
+                }
+                throw new AssertionError (
+                    "Breakpoint was not hit (listener was not notified) " + ln
+                );
+            }
+            if (failure != null) throw failure;
+        }
+        
+    }
+    
+}
diff --git a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java
index 4a6f09b..5ab5e69 100644
--- a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java
+++ b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java
@@ -169,6 +169,20 @@
                 "intValue",
                 new Object[] {"497916032", "684193024", "248958016", "933151070"}
             );
+            stepCheck (
+                ActionsManager.ACTION_STEP_OPERATION, 
+                "org.netbeans.api.debugger.jpda.testapps.ExpressionStepApp", 
+                line+7, 25,
+                "m2",
+                new Object[] {"497916032", "684193024","248958016","933151070","933151070"}
+            );
+            stepCheck (
+                ActionsManager.ACTION_STEP_OPERATION, 
+                "org.netbeans.api.debugger.jpda.testapps.ExpressionStepApp", 
+                line+6, 17,
+                "m1",
+                new Object[] {"1483152216"}
+            );
             
             support.doContinue ();
             support.waitState (JPDADebugger.STATE_DISCONNECTED);
diff --git a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionLambdaBreakpointApp.java b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionLambdaBreakpointApp.java
new file mode 100644
index 0000000..e9577dd
--- /dev/null
+++ b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionLambdaBreakpointApp.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.api.debugger.jpda.testapps;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Sample lambda expression breakpoints application.
+ * @author aksinsin
+ */
+public class ExpressionLambdaBreakpointApp {
+
+    public static void main(String... args) {
+        
+        List<String> nonEmptyListCollection = Arrays.stream(new String[]{"a", "", "b", "", "c"})
+                .filter(s -> !s.isEmpty())          // LBREAKPOINT
+                .collect(Collectors.toList());
+        System.out.println(nonEmptyListCollection); // LBREAKPOINT
+    }
+}
diff --git a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java
index 8775911..d16a8a4 100644
--- a/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java
+++ b/java/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java
@@ -33,6 +33,8 @@
         ExpressionStepApp exs = new ExpressionStepApp();
         x = exs.m1(exs.m2((int) x));
         x = exs.m3(exs.m1(exs.m2((int) x)), exs.m1((int) x)).intValue();
+        x = exs.m1(
+                    exs.m2((int)x));
         System.out.println(x);
     }
 
diff --git a/java/j2ee.core.utilities/src/org/netbeans/modules/j2ee/core/api/support/java/method/MethodModelSupport.java b/java/j2ee.core.utilities/src/org/netbeans/modules/j2ee/core/api/support/java/method/MethodModelSupport.java
index d746ec4..87db7c1 100644
--- a/java/j2ee.core.utilities/src/org/netbeans/modules/j2ee/core/api/support/java/method/MethodModelSupport.java
+++ b/java/j2ee.core.utilities/src/org/netbeans/modules/j2ee/core/api/support/java/method/MethodModelSupport.java
@@ -213,9 +213,9 @@
                     annotationTree = genUtils.createAnnotation(annotation.getType());
                 } else {
                     List<ExpressionTree> annotationArgs = new ArrayList<ExpressionTree>();
-                    Iterator it = annotation.getArguments().entrySet().iterator();
+                    Iterator<Map.Entry<String, Object>> it = annotation.getArguments().entrySet().iterator();
                     while (it.hasNext()) {
-                        Map.Entry pairs = (Map.Entry)it.next();
+                        Map.Entry<String, Object> pairs = it.next();
                         annotationArgs.add(genUtils.createAnnotationArgument((String) pairs.getKey(),pairs.getValue()));
                     }
                     annotationTree = genUtils.createAnnotation(annotation.getType(), annotationArgs);
diff --git a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/ActionFilterNode.java b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/ActionFilterNode.java
index 7489ee2..323ec8d 100644
--- a/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/ActionFilterNode.java
+++ b/java/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/ActionFilterNode.java
@@ -534,8 +534,8 @@
            // and ensures the project will be saved.
             boolean found = false;
             final List<ClassPathSupport.Item> resources = getClassPathItems();
-            for (Iterator i = resources.iterator(); i.hasNext();) {
-                ClassPathSupport.Item item = (ClassPathSupport.Item)i.next();
+            for (Iterator<ClassPathSupport.Item> i = resources.iterator(); i.hasNext();) {
+                ClassPathSupport.Item item = i.next();
                 if (entryId.equals(CommonProjectUtils.getAntPropertyName(item.getReference()))) {
                     lastRef.set(item.getReference());
                     i.remove();
diff --git a/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java b/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java
index b30f824..1c0ba04 100644
--- a/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java
+++ b/java/java.api.common/test/unit/src/org/netbeans/modules/java/api/common/classpath/ModuleClassPathsTest.java
@@ -46,6 +46,7 @@
 import java.util.zip.ZipEntry;
 import javax.lang.model.element.ModuleElement;
 import javax.swing.event.ChangeListener;
+import org.junit.Assume;
 import org.netbeans.api.annotations.common.CheckForNull;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullAllowed;
@@ -63,11 +64,14 @@
 import org.netbeans.modules.java.api.common.TestJavaPlatform;
 import org.netbeans.modules.java.api.common.TestProject;
 import org.netbeans.modules.java.api.common.project.ProjectProperties;
+import org.netbeans.modules.java.classpath.SimpleClassPathImplementation;
 import org.netbeans.modules.java.j2seplatform.platformdefinition.Util;
 import org.netbeans.modules.java.source.BootClassPathUtil;
 import org.netbeans.modules.parsing.api.indexing.IndexingManager;
 import org.netbeans.spi.java.classpath.ClassPathFactory;
+import org.netbeans.spi.java.classpath.ClassPathImplementation;
 import org.netbeans.spi.java.classpath.ClassPathProvider;
+import org.netbeans.spi.java.classpath.PathResourceImplementation;
 import org.netbeans.spi.java.queries.CompilerOptionsQueryImplementation;
 import org.netbeans.spi.project.support.ant.AntProjectHelper;
 import org.netbeans.spi.project.support.ant.EditableProperties;
@@ -178,6 +182,44 @@
         assertEquals(expectedURLs, resURLs);
     }
 
+    public void testModuleInfoInJDK8Project() throws IOException {
+        assertNotNull(src);
+        createModuleInfo(src, "ModuleInfoDebris"); //NOI18N
+        setSourceLevel(tp, "1.8");   //NOI18N
+        final ClassPath base = systemModules == null ? ClassPath.EMPTY : systemModules;
+        final ClassPathImplementation mcp = ModuleClassPaths.createModuleInfoBasedPath(
+            base,
+            src,
+            base,
+            ClassPath.EMPTY,
+            null,
+            null
+        );
+        List<? extends PathResourceImplementation> resources = mcp.getResources();
+        assertEquals("No resources found as module-info.java is ignored: " + resources, 0, resources.size());
+    }
+
+    public void testModuleInfoInJDK11Project() throws IOException {
+        if (systemModules == null) {
+            System.out.println("No jdk 9 home configured.");    //NOI18N
+            return;
+        }
+
+        assertNotNull(src);
+        createModuleInfo(src, "ModuleInfoUsed"); //NOI18N
+        final ClassPath base = systemModules;
+        final ClassPathImplementation mcp = ModuleClassPaths.createModuleInfoBasedPath(
+            base,
+            src,
+            base,
+            ClassPath.EMPTY,
+            null,
+            null
+        );
+        List<? extends PathResourceImplementation> one = mcp.getResources();
+        assertEquals("One resource found as module-info.java is used: " + one, 1, one.size());
+    }
+
     public void testModuleInfoBasedCp_SystemModules_in_NamedModule() throws IOException {
         if (systemModules == null) {
             System.out.println("No jdk 9 home configured.");    //NOI18N
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructor.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructor.pass
new file mode 100644
index 0000000..b0c8cb8
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructor.pass
@@ -0,0 +1,152 @@
+public Test() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public List<String> getList() - generate
+public double getSomething() - generate
+public String getText() - generate
+public int getTime() - generate
+public native int hashCode() - override
+public void setList(List<String> list) - generate
+public void setSomething(double something) - generate
+public void setText(String text) - generate
+public void setTime(int time) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructorInnerClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructorInnerClass.pass
new file mode 100644
index 0000000..3b966af
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorNonDefaultConstructorInnerClass.pass
@@ -0,0 +1,150 @@
+public X() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public byte getA() - generate
+public Map<String, Set<String>> getMap1() - generate
+public Map<String, Set<String>> getMap2() - generate
+public native int hashCode() - override
+public void setA(byte a) - generate
+public void setMap1(Map<String, Set<String>> map1) - generate
+public void setMap2(Map<String, Set<String>> map2) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTest.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTest.pass
new file mode 100644
index 0000000..d3c955b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTest.pass
@@ -0,0 +1,153 @@
+public Test() - generate
+public Test(int time, List<String> list) - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public List<String> getList() - generate
+public double getSomething() - generate
+public String getText() - generate
+public int getTime() - generate
+public native int hashCode() - override
+public void setList(List<String> list) - generate
+public void setSomething(double something) - generate
+public void setText(String text) - generate
+public void setTime(int time) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTestInnerClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTestInnerClass.pass
new file mode 100644
index 0000000..991767b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorTestInnerClass.pass
@@ -0,0 +1,151 @@
+public X() - generate
+public X(byte a, Map<String, Set<String>> map1) - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public byte getA() - generate
+public Map<String, Set<String>> getMap1() - generate
+public Map<String, Set<String>> getMap2() - generate
+public native int hashCode() - override
+public void setA(byte a) - generate
+public void setMap1(Map<String, Set<String>> map1) - generate
+public void setMap2(Map<String, Set<String>> map2) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructors.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructors.pass
new file mode 100644
index 0000000..ffc7a75
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructors.pass
@@ -0,0 +1,151 @@
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public List<String> getList() - generate
+public double getSomething() - generate
+public String getText() - generate
+public int getTime() - generate
+public native int hashCode() - override
+public void setList(List<String> list) - generate
+public void setSomething(double something) - generate
+public void setText(String text) - generate
+public void setTime(int time) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructorsInnerClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructorsInnerClass.pass
new file mode 100644
index 0000000..7b4bfe2
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithConstructorsInnerClass.pass
@@ -0,0 +1,149 @@
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public byte getA() - generate
+public Map<String, Set<String>> getMap1() - generate
+public Map<String, Set<String>> getMap2() - generate
+public native int hashCode() - override
+public void setA(byte a) - generate
+public void setMap1(Map<String, Set<String>> map1) - generate
+public void setMap2(Map<String, Set<String>> map2) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructor.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructor.pass
new file mode 100644
index 0000000..a270c0b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructor.pass
@@ -0,0 +1,152 @@
+public Test(int time, List<String> list) - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public List<String> getList() - generate
+public double getSomething() - generate
+public String getText() - generate
+public int getTime() - generate
+public native int hashCode() - override
+public void setList(List<String> list) - generate
+public void setSomething(double something) - generate
+public void setText(String text) - generate
+public void setTime(int time) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructorInnerClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructorInnerClass.pass
new file mode 100644
index 0000000..d7f9fd8
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/CreateConstructorWithDefaultConstructorInnerClass.pass
@@ -0,0 +1,150 @@
+public X(byte a, Map<String, Set<String>> map1) - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public byte getA() - generate
+public Map<String, Set<String>> getMap1() - generate
+public Map<String, Set<String>> getMap2() - generate
+public native int hashCode() - override
+public void setA(byte a) - generate
+public void setMap1(Map<String, Set<String>> map1) - generate
+public void setMap2(Map<String, Set<String>> map2) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+HashMap
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+List
+Long
+Map
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Set
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+X
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractList.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractList.pass
new file mode 100644
index 0000000..65b226d
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractList.pass
@@ -0,0 +1,173 @@
+public boolean add(Object arg0) - override
+public void add(int arg0, Object arg1) - override
+public boolean addAll(Collection arg0) - override
+public boolean addAll(int arg0, Collection arg1) - override
+public void clear() - override
+protected native Object clone() - override
+public boolean contains(Object arg0) - override
+public boolean containsAll(Collection arg0) - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public default void forEach(Consumer arg0) - override
+public abstract Object get(int arg0) - implement
+public int getModCount() - generate
+public int hashCode() - override
+public int indexOf(Object arg0) - override
+public boolean isEmpty() - override
+public Iterator iterator() - override
+public int lastIndexOf(Object arg0) - override
+public ListIterator listIterator() - override
+public ListIterator listIterator(int arg0) - override
+public default Stream parallelStream() - override
+public boolean remove(Object arg0) - override
+public Object remove(int arg0) - override
+public boolean removeAll(Collection arg0) - override
+public default boolean removeIf(Predicate arg0) - override
+protected void removeRange(int arg0, int arg1) - override
+public default void replaceAll(UnaryOperator arg0) - override
+public boolean retainAll(Collection arg0) - override
+public Object set(int arg0, Object arg1) - override
+public void setModCount(int modCount) - generate
+public abstract int size() - implement
+public default void sort(Comparator arg0) - override
+public default Spliterator spliterator() - override
+public default Stream stream() - override
+public List subList(int arg0, int arg1) - override
+public Object[] toArray() - override
+public default Object[] toArray(IntFunction arg0) - override
+public Object[] toArray(Object[] arg0) - override
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractList
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractListAbstract.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractListAbstract.pass
new file mode 100644
index 0000000..f224f70
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/OverrideAbstractListAbstract.pass
@@ -0,0 +1,175 @@
+public boolean add(Object arg0) - override
+public void add(int arg0, Object arg1) - override
+public boolean addAll(Collection arg0) - override
+public boolean addAll(int arg0, Collection arg1) - override
+public void clear() - override
+protected native Object clone() - override
+public boolean contains(Object arg0) - override
+public boolean containsAll(Collection arg0) - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public default void forEach(Consumer arg0) - override
+public abstract Object get(int arg0) - implement
+public abstract Object get(int arg0) - override
+public int getModCount() - generate
+public int hashCode() - override
+public int indexOf(Object arg0) - override
+public boolean isEmpty() - override
+public Iterator iterator() - override
+public int lastIndexOf(Object arg0) - override
+public ListIterator listIterator() - override
+public ListIterator listIterator(int arg0) - override
+public default Stream parallelStream() - override
+public boolean remove(Object arg0) - override
+public Object remove(int arg0) - override
+public boolean removeAll(Collection arg0) - override
+public default boolean removeIf(Predicate arg0) - override
+protected void removeRange(int arg0, int arg1) - override
+public default void replaceAll(UnaryOperator arg0) - override
+public boolean retainAll(Collection arg0) - override
+public Object set(int arg0, Object arg1) - override
+public void setModCount(int modCount) - generate
+public abstract int size() - implement
+public abstract int size() - override
+public default void sort(Comparator arg0) - override
+public default Spliterator spliterator() - override
+public default Stream stream() - override
+public List subList(int arg0, int arg1) - override
+public Object[] toArray() - override
+public default Object[] toArray(IntFunction arg0) - override
+public Object[] toArray(Object[] arg0) - override
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractList
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/UnimplementedMethod.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/UnimplementedMethod.pass
new file mode 100644
index 0000000..626f016
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/UnimplementedMethod.pass
@@ -0,0 +1,139 @@
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public native int hashCode() - override
+public abstract void run() - implement
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterFor.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterFor.pass
new file mode 100644
index 0000000..07869a1
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterFor.pass
@@ -0,0 +1,152 @@
+int a
+int i
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+char
+class
+continue
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterForEach.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterForEach.pass
new file mode 100644
index 0000000..28e67e9
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/blockContentAfterForEach.pass
@@ -0,0 +1,152 @@
+int a
+Byte b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+char
+class
+continue
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypes.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypes.pass
new file mode 100644
index 0000000..83cdeb7
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypes.pass
@@ -0,0 +1,110 @@
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypesAndSmartInt.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypesAndSmartInt.pass
new file mode 100644
index 0000000..93333b4
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/declaredTypesAndSmartInt.pass
@@ -0,0 +1,114 @@
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/emptyVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/emptyVar.pass
new file mode 100644
index 0000000..e047e2d
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/emptyVar.pass
@@ -0,0 +1,137 @@
+int a
+boolean b
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a, boolean b)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockContent.pass
new file mode 100644
index 0000000..3d75281
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockContent.pass
@@ -0,0 +1,150 @@
+public boolean b
+public int field
+public Number num
+public static int staticField
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockTypesAndLocalMembers.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockTypesAndLocalMembers.pass
new file mode 100644
index 0000000..3b79c76
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/initBlockTypesAndLocalMembers.pass
@@ -0,0 +1,148 @@
+public boolean b
+public boolean equals(Object arg0)
+false
+true
+public static final Boolean Boolean.FALSE
+public static final Boolean Boolean.TRUE
+public static boolean Boolean.getBoolean(String arg0)
+public static boolean Boolean.logicalAnd(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalOr(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalXor(boolean arg0, boolean arg1)
+public static boolean Boolean.parseBoolean(String arg0)
+public static Boolean Boolean.valueOf(String arg0)
+public static Boolean Boolean.valueOf(boolean arg0)
+public int field
+public Number num
+public static int staticField
+protected native Object clone()
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+float
+int
+long
+new
+null
+short
+super
+this
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypes.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypes.pass
new file mode 100644
index 0000000..47c2178
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypes.pass
@@ -0,0 +1,137 @@
+public boolean equals(Object arg0) - override
+public native int hashCode() - override
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+default
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypesWithoutDefaultAbstractAndStatic.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypesWithoutDefaultAbstractAndStatic.pass
new file mode 100644
index 0000000..6b51aca
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/interfaceMemberModifiersAndTypesWithoutDefaultAbstractAndStatic.pass
@@ -0,0 +1,131 @@
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangClasses.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangClasses.pass
new file mode 100644
index 0000000..5eaa17d
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangClasses.pass
@@ -0,0 +1,76 @@
+AbstractMethodError
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+BootstrapMethodError
+Character
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+InternalError
+InterruptedException
+LayerInstantiationException
+LinkageError
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Package
+Process
+ProcessBuilder
+Record
+ReflectiveOperationException
+Runtime
+RuntimeException
+SecurityException
+SecurityManager
+StackOverflowError
+StackWalker
+StringIndexOutOfBoundsException
+System
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangContentAndTestClass.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangContentAndTestClass.pass
new file mode 100644
index 0000000..83cdeb7
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/javaLangContentAndTestClass.pass
@@ -0,0 +1,110 @@
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContent.pass
new file mode 100644
index 0000000..4ac72ec
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContent.pass
@@ -0,0 +1,138 @@
+String[] args
+String s
+Test t
+public static void main(String[] args)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContentWithLocalVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContentWithLocalVar.pass
new file mode 100644
index 0000000..2bce90f
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaBodyContentWithLocalVar.pass
@@ -0,0 +1,139 @@
+String[] args
+int i
+String s
+Test t
+public static void main(String[] args)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaExpression.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaExpression.pass
new file mode 100644
index 0000000..617998a
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaExpression.pass
@@ -0,0 +1,128 @@
+String[] args
+<any> s
+Test t
+public static void main(String[] args)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Bar
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaOutsideMethodBodyContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaOutsideMethodBodyContent.pass
new file mode 100644
index 0000000..76560b4
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaOutsideMethodBodyContent.pass
@@ -0,0 +1,149 @@
+String s
+int t
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypes.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypes.pass
new file mode 100644
index 0000000..11ad034
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypes.pass
@@ -0,0 +1,120 @@
+boolean
+byte
+char
+double
+final
+float
+int
+long
+short
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesExcludingVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesExcludingVar.pass
new file mode 100644
index 0000000..0e88238
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesExcludingVar.pass
@@ -0,0 +1,121 @@
+boolean
+byte
+char
+double
+final
+float
+int
+long
+short
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+TestAnnotation
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar.pass
new file mode 100644
index 0000000..6008702
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar.pass
@@ -0,0 +1,128 @@
+Foo
+String[] args
+Test t
+public static void main(String[] args)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+var
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+TestAnnotation
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar1.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar1.pass
new file mode 100644
index 0000000..f600801
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaParameterTypesIncludingVar1.pass
@@ -0,0 +1,121 @@
+boolean
+byte
+char
+double
+float
+int
+long
+short
+var
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+TestAnnotation
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt.pass
new file mode 100644
index 0000000..5b48354
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt.pass
@@ -0,0 +1,162 @@
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+String[] args
+String s
+Test t
+public static void main(String[] args)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt2.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt2.pass
new file mode 100644
index 0000000..0882dbb
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/lambdaSmartInt2.pass
@@ -0,0 +1,163 @@
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+String[] args
+String s
+Test t
+public static void main(String[] args)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Bar
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+Foo
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutPublic.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutPublic.pass
new file mode 100644
index 0000000..3e34a10
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutPublic.pass
@@ -0,0 +1,130 @@
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutStatic.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutStatic.pass
new file mode 100644
index 0000000..fe32891
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersAndTypesWithoutStatic.pass
@@ -0,0 +1,132 @@
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements.pass
new file mode 100644
index 0000000..511d0a9
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements.pass
@@ -0,0 +1,139 @@
+public Test() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public native int hashCode() - override
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements2.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements2.pass
new file mode 100644
index 0000000..3a81d2b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements2.pass
@@ -0,0 +1,140 @@
+public Test() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public native int hashCode() - override
+public abstract void run() - implement
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements3.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements3.pass
new file mode 100644
index 0000000..782430b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements3.pass
@@ -0,0 +1,141 @@
+public Test() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public int getField() - generate
+public native int hashCode() - override
+public void setField(int field) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements4.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements4.pass
new file mode 100644
index 0000000..7e2c2af
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/memberModifiersTypesAndGenElements4.pass
@@ -0,0 +1,147 @@
+public Test() - generate
+protected native Object clone() - override
+public boolean equals(Object arg0) - override
+protected void finalize() - override
+public int getField() - generate
+public Number getNum() - generate
+public int getStaticField() - generate
+public native int hashCode() - override
+public boolean isB() - generate
+public void setB(boolean b) - generate
+public void setField(int field) - generate
+public void setNum(Number num) - generate
+public void setStaticField(int staticField) - generate
+public String toString() - override
+abstract
+boolean
+byte
+char
+class
+double
+enum
+final
+float
+int
+interface
+long
+native
+private
+protected
+public
+short
+static
+strictfp
+synchronized
+transient
+void
+volatile
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContent.pass
new file mode 100644
index 0000000..8756ef2
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContent.pass
@@ -0,0 +1,149 @@
+int a
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCase.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCase.pass
new file mode 100644
index 0000000..b5243d4
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCase.pass
@@ -0,0 +1,152 @@
+int a
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+case
+char
+class
+default
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCaseAndVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCaseAndVar.pass
new file mode 100644
index 0000000..938a1b8
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterCaseAndVar.pass
@@ -0,0 +1,153 @@
+int a
+boolean b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+case
+char
+class
+default
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterDefault.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterDefault.pass
new file mode 100644
index 0000000..cdd89f9
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterDefault.pass
@@ -0,0 +1,150 @@
+int a
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterFor.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterFor.pass
new file mode 100644
index 0000000..753eb3a
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterFor.pass
@@ -0,0 +1,149 @@
+int a
+int i
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+char
+continue
+do
+double
+float
+for
+if
+int
+long
+new
+return
+short
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterForEach.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterForEach.pass
new file mode 100644
index 0000000..77369ee
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAfterForEach.pass
@@ -0,0 +1,149 @@
+int a
+Byte b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+break
+byte
+char
+continue
+do
+double
+float
+for
+if
+int
+long
+new
+return
+short
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAndLocalVar.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAndLocalVar.pass
new file mode 100644
index 0000000..9f92a4a
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/methodBodyContentAndLocalVar.pass
@@ -0,0 +1,150 @@
+int a
+boolean b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+super
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/parameterTypes.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/parameterTypes.pass
new file mode 100644
index 0000000..698745c
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/parameterTypes.pass
@@ -0,0 +1,119 @@
+boolean
+byte
+char
+double
+final
+float
+int
+long
+short
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/resourceInit.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/resourceInit.pass
new file mode 100644
index 0000000..cb695b6
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/resourceInit.pass
@@ -0,0 +1,139 @@
+File f
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(File f)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+File
+FileWriter
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/returnTypes.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/returnTypes.pass
new file mode 100644
index 0000000..361fe39
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/returnTypes.pass
@@ -0,0 +1,121 @@
+boolean
+byte
+char
+double
+float
+int
+long
+short
+void
+X
+Y
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockContent.pass
new file mode 100644
index 0000000..9f46039
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockContent.pass
@@ -0,0 +1,134 @@
+public static int staticField
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockTypesAndLocalMembers.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockTypesAndLocalMembers.pass
new file mode 100644
index 0000000..44983a6
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/staticBlockTypesAndLocalMembers.pass
@@ -0,0 +1,158 @@
+public static int staticField
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/systemOutContent.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/systemOutContent.pass
new file mode 100644
index 0000000..5e8ddf0
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/systemOutContent.pass
@@ -0,0 +1,42 @@
+public PrintStream append(CharSequence arg0)
+public PrintStream append(char arg0)
+public PrintStream append(CharSequence arg0, int arg1, int arg2)
+public boolean checkError()
+public void close()
+public boolean equals(Object arg0)
+public void flush()
+public PrintStream format(String arg0, Object... arg1)
+public PrintStream format(Locale arg0, String arg1, Object... arg2)
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void print(Object arg0)
+public void print(String arg0)
+public void print(boolean arg0)
+public void print(char arg0)
+public void print(char[] arg0)
+public void print(double arg0)
+public void print(float arg0)
+public void print(int arg0)
+public void print(long arg0)
+public PrintStream printf(String arg0, Object... arg1)
+public PrintStream printf(Locale arg0, String arg1, Object... arg2)
+public void println()
+public void println(Object arg0)
+public void println(String arg0)
+public void println(boolean arg0)
+public void println(char arg0)
+public void println(char[] arg0)
+public void println(double arg0)
+public void println(float arg0)
+public void println(int arg0)
+public void println(long arg0)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+public void write(byte[] arg0)
+public void write(int arg0)
+public void write(byte[] arg0, int arg1, int arg2)
+public void writeBytes(byte[] arg0)
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers.pass
new file mode 100644
index 0000000..1379335
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers.pass
@@ -0,0 +1,137 @@
+int hashCode() - parameters
+public static int staticField
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers1.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers1.pass
new file mode 100644
index 0000000..f833b18
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndLocalMembers1.pass
@@ -0,0 +1,137 @@
+public int field
+public static int staticField
+public native int hashCode()
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndStaticLocalMembers.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndStaticLocalMembers.pass
new file mode 100644
index 0000000..17c6d1c
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesAndStaticLocalMembers.pass
@@ -0,0 +1,157 @@
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars.pass
new file mode 100644
index 0000000..79a171b
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars.pass
@@ -0,0 +1,145 @@
+public boolean equals(Object arg0)
+public final native Class<?> getClass()
+public native int hashCode()
+public static int length(String s)
+public default String name()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars1.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars1.pass
new file mode 100644
index 0000000..8f69ebe
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesInterfaceMembersAndVars1.pass
@@ -0,0 +1,144 @@
+public boolean equals(Object arg0)
+public final native Class<?> getClass()
+public native int hashCode()
+public default String name()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+this
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalFieldsAndVars.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalFieldsAndVars.pass
new file mode 100644
index 0000000..b4a5110
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalFieldsAndVars.pass
@@ -0,0 +1,122 @@
+int a
+public String field
+boolean
+byte
+char
+double
+float
+int
+long
+short
+super
+this
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartInt.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartInt.pass
new file mode 100644
index 0000000..c5e5877
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartInt.pass
@@ -0,0 +1,171 @@
+public static int staticField
+public native int hashCode()
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartNumber.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartNumber.pass
new file mode 100644
index 0000000..ad9d14e
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartNumber.pass
@@ -0,0 +1,141 @@
+public int field
+public static int staticField
+public native int hashCode()
+AtomicInteger
+AtomicLong
+BigDecimal
+BigInteger
+Byte
+Double
+Float
+Integer
+Long
+Number
+Short
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartPrimitives.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartPrimitives.pass
new file mode 100644
index 0000000..7dda2a7
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndSmartPrimitives.pass
@@ -0,0 +1,384 @@
+public static int staticField
+public native int hashCode()
+public static final int Byte.BYTES
+public static final int Character.BYTES
+public static final int Double.BYTES
+public static final int Float.BYTES
+public static final int Integer.BYTES
+public static final int Long.BYTES
+public static final int Short.BYTES
+public static final byte Character.COMBINING_SPACING_MARK
+public static final byte Character.CONNECTOR_PUNCTUATION
+public static final byte Character.CONTROL
+public static final byte Character.CURRENCY_SYMBOL
+public static final byte Character.DASH_PUNCTUATION
+public static final byte Character.DECIMAL_DIGIT_NUMBER
+public static final byte Character.DIRECTIONALITY_ARABIC_NUMBER
+public static final byte Character.DIRECTIONALITY_BOUNDARY_NEUTRAL
+public static final byte Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
+public static final byte Character.DIRECTIONALITY_FIRST_STRONG_ISOLATE
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
+public static final byte Character.DIRECTIONALITY_NONSPACING_MARK
+public static final byte Character.DIRECTIONALITY_OTHER_NEUTRALS
+public static final byte Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR
+public static final byte Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
+public static final byte Character.DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
+public static final byte Character.DIRECTIONALITY_SEGMENT_SEPARATOR
+public static final byte Character.DIRECTIONALITY_UNDEFINED
+public static final byte Character.DIRECTIONALITY_WHITESPACE
+public static final byte Character.ENCLOSING_MARK
+public static final byte Character.END_PUNCTUATION
+public static final byte Character.FINAL_QUOTE_PUNCTUATION
+public static final byte Character.FORMAT
+public static final byte Character.INITIAL_QUOTE_PUNCTUATION
+public static final byte Character.LETTER_NUMBER
+public static final byte Character.LINE_SEPARATOR
+public static final byte Character.LOWERCASE_LETTER
+public static final byte Character.MATH_SYMBOL
+public static final int Character.MAX_CODE_POINT
+public static final int Double.MAX_EXPONENT
+public static final int Float.MAX_EXPONENT
+public static final char Character.MAX_HIGH_SURROGATE
+public static final char Character.MAX_LOW_SURROGATE
+public static final int Character.MAX_RADIX
+public static final char Character.MAX_SURROGATE
+public static final byte Byte.MAX_VALUE
+public static final char Character.MAX_VALUE
+public static final double Double.MAX_VALUE
+public static final float Float.MAX_VALUE
+public static final int Integer.MAX_VALUE
+public static final long Long.MAX_VALUE
+public static final short Short.MAX_VALUE
+public static final int Character.MIN_CODE_POINT
+public static final int Double.MIN_EXPONENT
+public static final int Float.MIN_EXPONENT
+public static final char Character.MIN_HIGH_SURROGATE
+public static final char Character.MIN_LOW_SURROGATE
+public static final double Double.MIN_NORMAL
+public static final float Float.MIN_NORMAL
+public static final int Character.MIN_RADIX
+public static final int Character.MIN_SUPPLEMENTARY_CODE_POINT
+public static final char Character.MIN_SURROGATE
+public static final byte Byte.MIN_VALUE
+public static final char Character.MIN_VALUE
+public static final double Double.MIN_VALUE
+public static final float Float.MIN_VALUE
+public static final int Integer.MIN_VALUE
+public static final long Long.MIN_VALUE
+public static final short Short.MIN_VALUE
+public static final byte Character.MODIFIER_LETTER
+public static final byte Character.MODIFIER_SYMBOL
+public static final double Double.NEGATIVE_INFINITY
+public static final float Float.NEGATIVE_INFINITY
+public static final byte Character.NON_SPACING_MARK
+public static final double Double.NaN
+public static final float Float.NaN
+public static final byte Character.OTHER_LETTER
+public static final byte Character.OTHER_NUMBER
+public static final byte Character.OTHER_PUNCTUATION
+public static final byte Character.OTHER_SYMBOL
+public static final byte Character.PARAGRAPH_SEPARATOR
+public static final double Double.POSITIVE_INFINITY
+public static final float Float.POSITIVE_INFINITY
+public static final byte Character.PRIVATE_USE
+public static final int Byte.SIZE
+public static final int Character.SIZE
+public static final int Double.SIZE
+public static final int Float.SIZE
+public static final int Integer.SIZE
+public static final int Long.SIZE
+public static final int Short.SIZE
+public static final byte Character.SPACE_SEPARATOR
+public static final byte Character.START_PUNCTUATION
+public static final byte Character.SURROGATE
+public static final byte Character.TITLECASE_LETTER
+public static final byte Character.UNASSIGNED
+public static final byte Character.UPPERCASE_LETTER
+public static int Integer.bitCount(int arg0)
+public static int Long.bitCount(long arg0)
+public static int Character.charCount(int arg0)
+public static int Character.codePointAt(CharSequence arg0, int arg1)
+public static int Character.codePointAt(char[] arg0, int arg1)
+public static int Character.codePointAt(char[] arg0, int arg1, int arg2)
+public static int Character.codePointBefore(CharSequence arg0, int arg1)
+public static int Character.codePointBefore(char[] arg0, int arg1)
+public static int Character.codePointBefore(char[] arg0, int arg1, int arg2)
+public static int Character.codePointCount(CharSequence arg0, int arg1, int arg2)
+public static int Character.codePointCount(char[] arg0, int arg1, int arg2)
+public static int Character.codePointOf(String arg0)
+public static int Byte.compare(byte arg0, byte arg1)
+public static int Character.compare(char arg0, char arg1)
+public static int Double.compare(double arg0, double arg1)
+public static int Float.compare(float arg0, float arg1)
+public static int Integer.compare(int arg0, int arg1)
+public static int Long.compare(long arg0, long arg1)
+public static int Short.compare(short arg0, short arg1)
+public static int Byte.compareUnsigned(byte arg0, byte arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static int Long.compareUnsigned(long arg0, long arg1)
+public static int Short.compareUnsigned(short arg0, short arg1)
+public static Byte Byte.decode(String arg0)
+public static Integer Integer.decode(String arg0)
+public static Long Long.decode(String arg0)
+public static Short Short.decode(String arg0)
+public static int Character.digit(char arg0, int arg1)
+public static int Character.digit(int arg0, int arg1)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static long Long.divideUnsigned(long arg0, long arg1)
+public static long Double.doubleToLongBits(double arg0)
+public static native long Double.doubleToRawLongBits(double arg0)
+public static int Float.floatToIntBits(float arg0)
+public static native int Float.floatToRawIntBits(float arg0)
+public static char Character.forDigit(int arg0, int arg1)
+public static byte Character.getDirectionality(char arg0)
+public static byte Character.getDirectionality(int arg0)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static Long Long.getLong(String arg0)
+public static Long Long.getLong(String arg0, Long arg1)
+public static Long Long.getLong(String arg0, long arg1)
+public static int Character.getNumericValue(char arg0)
+public static int Character.getNumericValue(int arg0)
+public static int Character.getType(char arg0)
+public static int Character.getType(int arg0)
+public static int Byte.hashCode(byte arg0)
+public static int Character.hashCode(char arg0)
+public static int Double.hashCode(double arg0)
+public static int Float.hashCode(float arg0)
+public static int Integer.hashCode(int arg0)
+public static int Long.hashCode(long arg0)
+public static int Short.hashCode(short arg0)
+public static char Character.highSurrogate(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static long Long.highestOneBit(long arg0)
+public static native float Float.intBitsToFloat(int arg0)
+public static native double Double.longBitsToDouble(long arg0)
+public static char Character.lowSurrogate(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static long Long.lowestOneBit(long arg0)
+public static double Double.max(double arg0, double arg1)
+public static float Float.max(float arg0, float arg1)
+public static int Integer.max(int arg0, int arg1)
+public static long Long.max(long arg0, long arg1)
+public static double Double.min(double arg0, double arg1)
+public static float Float.min(float arg0, float arg1)
+public static int Integer.min(int arg0, int arg1)
+public static long Long.min(long arg0, long arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Long.numberOfLeadingZeros(long arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Long.numberOfTrailingZeros(long arg0)
+public static int Character.offsetByCodePoints(CharSequence arg0, int arg1, int arg2)
+public static int Character.offsetByCodePoints(char[] arg0, int arg1, int arg2, int arg3, int arg4)
+public static byte Byte.parseByte(String arg0)
+public static byte Byte.parseByte(String arg0, int arg1)
+public static double Double.parseDouble(String arg0)
+public static float Float.parseFloat(String arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static long Long.parseLong(String arg0)
+public static long Long.parseLong(String arg0, int arg1)
+public static long Long.parseLong(CharSequence arg0, int arg1, int arg2, int arg3)
+public static short Short.parseShort(String arg0)
+public static short Short.parseShort(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static long Long.parseUnsignedLong(String arg0)
+public static long Long.parseUnsignedLong(String arg0, int arg1)
+public static long Long.parseUnsignedLong(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static long Long.remainderUnsigned(long arg0, long arg1)
+public static int Integer.reverse(int arg0)
+public static long Long.reverse(long arg0)
+public static char Character.reverseBytes(char arg0)
+public static int Integer.reverseBytes(int arg0)
+public static long Long.reverseBytes(long arg0)
+public static short Short.reverseBytes(short arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static long Long.rotateLeft(long arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static long Long.rotateRight(long arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Long.signum(long arg0)
+public static double Double.sum(double arg0, double arg1)
+public static float Float.sum(float arg0, float arg1)
+public static int Integer.sum(int arg0, int arg1)
+public static long Long.sum(long arg0, long arg1)
+public static int Character.toChars(int arg0, char[] arg1, int arg2)
+public static int Character.toCodePoint(char arg0, char arg1)
+public static char Character.toLowerCase(char arg0)
+public static int Character.toLowerCase(int arg0)
+public static char Character.toTitleCase(char arg0)
+public static int Character.toTitleCase(int arg0)
+public static int Byte.toUnsignedInt(byte arg0)
+public static int Short.toUnsignedInt(short arg0)
+public static long Byte.toUnsignedLong(byte arg0)
+public static long Integer.toUnsignedLong(int arg0)
+public static long Short.toUnsignedLong(short arg0)
+public static char Character.toUpperCase(char arg0)
+public static int Character.toUpperCase(int arg0)
+public static Byte Byte.valueOf(String arg0)
+public static Double Double.valueOf(String arg0)
+public static Float Float.valueOf(String arg0)
+public static Integer Integer.valueOf(String arg0)
+public static Long Long.valueOf(String arg0)
+public static Short Short.valueOf(String arg0)
+public static Byte Byte.valueOf(byte arg0)
+public static Character Character.valueOf(char arg0)
+public static Double Double.valueOf(double arg0)
+public static Float Float.valueOf(float arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Long Long.valueOf(long arg0)
+public static Short Short.valueOf(short arg0)
+public static Byte Byte.valueOf(String arg0, int arg1)
+public static Integer Integer.valueOf(String arg0, int arg1)
+public static Long Long.valueOf(String arg0, int arg1)
+public static Short Short.valueOf(String arg0, int arg1)
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars.pass
new file mode 100644
index 0000000..90c57e4
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars.pass
@@ -0,0 +1,139 @@
+int a
+boolean b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars1.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars1.pass
new file mode 100644
index 0000000..afb9706
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars1.pass
@@ -0,0 +1,135 @@
+int a
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+float
+int
+long
+new
+short
+super
+this
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars2.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars2.pass
new file mode 100644
index 0000000..9a5f57f
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersAndVars2.pass
@@ -0,0 +1,139 @@
+int a
+int i
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartBoolean.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartBoolean.pass
new file mode 100644
index 0000000..d1a5e61
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartBoolean.pass
@@ -0,0 +1,148 @@
+public boolean equals(Object arg0)
+false
+true
+public static final Boolean Boolean.FALSE
+public static final Boolean Boolean.TRUE
+public static boolean Boolean.getBoolean(String arg0)
+public static boolean Boolean.logicalAnd(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalOr(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalXor(boolean arg0, boolean arg1)
+public static boolean Boolean.parseBoolean(String arg0)
+public static Boolean Boolean.valueOf(String arg0)
+public static Boolean Boolean.valueOf(boolean arg0)
+int a
+int i
+public String field
+protected native Object clone()
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+float
+int
+long
+new
+null
+short
+super
+this
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartEnumAndInt.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartEnumAndInt.pass
new file mode 100644
index 0000000..9f98ccc
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartEnumAndInt.pass
@@ -0,0 +1,174 @@
+int a
+public native int hashCode()
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static T Enum.valueOf(Class<T> arg0, String arg1)
+public static Integer Integer.valueOf(String arg0, int arg1)
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartInt.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartInt.pass
new file mode 100644
index 0000000..d4b4c43
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartInt.pass
@@ -0,0 +1,173 @@
+int a
+public native int hashCode()
+public static final int Integer.BYTES
+public static final int Integer.MAX_VALUE
+public static final int Integer.MIN_VALUE
+public static final int Integer.SIZE
+public static int Integer.bitCount(int arg0)
+public static int Integer.compare(int arg0, int arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static Integer Integer.decode(String arg0)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static int Integer.hashCode(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static int Integer.max(int arg0, int arg1)
+public static int Integer.min(int arg0, int arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static int Integer.reverse(int arg0)
+public static int Integer.reverseBytes(int arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Integer.sum(int arg0, int arg1)
+public static Integer Integer.valueOf(String arg0)
+public static Integer Integer.valueOf(int arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public String toString()
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartString.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartString.pass
new file mode 100644
index 0000000..a570e8c
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmartString.pass
@@ -0,0 +1,169 @@
+void String() - parameters
+void String(String arg0) - parameters
+void String(StringBuffer arg0) - parameters
+void String(StringBuilder arg0) - parameters
+void String(byte[] arg0) - parameters
+void String(char[] arg0) - parameters
+void String(byte[] arg0, Charset arg1) - parameters
+void String(byte[] arg0, String arg1) - parameters
+void String(byte[] arg0, int arg1) - parameters
+void String(byte[] arg0, int arg1, int arg2) - parameters
+void String(char[] arg0, int arg1, int arg2) - parameters
+void String(int[] arg0, int arg1, int arg2) - parameters
+void String(byte[] arg0, int arg1, int arg2, Charset arg3) - parameters
+void String(byte[] arg0, int arg1, int arg2, String arg3) - parameters
+void String(byte[] arg0, int arg1, int arg2, int arg3) - parameters
+public String field
+public String toString()
+public static String String.copyValueOf(char[] arg0)
+public static String String.copyValueOf(char[] arg0, int arg1, int arg2)
+public static String String.format(String arg0, Object... arg1)
+public static String String.format(Locale arg0, String arg1, Object... arg2)
+public static String String.join(CharSequence arg0, CharSequence... arg1)
+public static String String.join(CharSequence arg0, Iterable<? extends CharSequence> arg1)
+public static String String.valueOf(Object arg0)
+public static String String.valueOf(boolean arg0)
+public static String String.valueOf(char arg0)
+public static String String.valueOf(char[] arg0)
+public static String String.valueOf(double arg0)
+public static String String.valueOf(float arg0)
+public static String String.valueOf(int arg0)
+public static String String.valueOf(long arg0)
+public static String String.valueOf(char[] arg0, int arg1, int arg2)
+int a
+boolean b
+protected native Object clone()
+public boolean equals(Object arg0)
+protected void finalize()
+public final native Class<?> getClass()
+public native int hashCode()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+false
+float
+int
+long
+new
+null
+short
+super
+this
+true
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmarts.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmarts.pass
new file mode 100644
index 0000000..9b2e17e
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesLocalMembersVarsAndSmarts.pass
@@ -0,0 +1,472 @@
+void println() - parameters
+void println(Object arg0) - parameters
+void println(String arg0) - parameters
+void println(boolean arg0) - parameters
+void println(char arg0) - parameters
+void println(char[] arg0) - parameters
+void println(double arg0) - parameters
+void println(float arg0) - parameters
+void println(int arg0) - parameters
+void println(long arg0) - parameters
+int a
+boolean b
+public String field
+protected native Object clone()
+public boolean equals(Object arg0)
+public final native Class<?> getClass()
+public native int hashCode()
+public String toString()
+false
+super
+this
+true
+public static final int Character.BYTES
+public static final int Double.BYTES
+public static final int Float.BYTES
+public static final int Integer.BYTES
+public static final int Long.BYTES
+public static final Comparator<String> String.CASE_INSENSITIVE_ORDER
+public static final byte Character.COMBINING_SPACING_MARK
+public static final byte Character.CONNECTOR_PUNCTUATION
+public static final byte Character.CONTROL
+public static final byte Character.CURRENCY_SYMBOL
+public static final byte Character.DASH_PUNCTUATION
+public static final byte Character.DECIMAL_DIGIT_NUMBER
+public static final byte Character.DIRECTIONALITY_ARABIC_NUMBER
+public static final byte Character.DIRECTIONALITY_BOUNDARY_NEUTRAL
+public static final byte Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
+public static final byte Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
+public static final byte Character.DIRECTIONALITY_FIRST_STRONG_ISOLATE
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE
+public static final byte Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
+public static final byte Character.DIRECTIONALITY_NONSPACING_MARK
+public static final byte Character.DIRECTIONALITY_OTHER_NEUTRALS
+public static final byte Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR
+public static final byte Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
+public static final byte Character.DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE
+public static final byte Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
+public static final byte Character.DIRECTIONALITY_SEGMENT_SEPARATOR
+public static final byte Character.DIRECTIONALITY_UNDEFINED
+public static final byte Character.DIRECTIONALITY_WHITESPACE
+public static final byte Character.ENCLOSING_MARK
+public static final byte Character.END_PUNCTUATION
+public static final Boolean Boolean.FALSE
+public static final byte Character.FINAL_QUOTE_PUNCTUATION
+public static final byte Character.FORMAT
+public static final byte Character.INITIAL_QUOTE_PUNCTUATION
+public static final byte Character.LETTER_NUMBER
+public static final byte Character.LINE_SEPARATOR
+public static final byte Character.LOWERCASE_LETTER
+public static final byte Character.MATH_SYMBOL
+public static final int Character.MAX_CODE_POINT
+public static final int Double.MAX_EXPONENT
+public static final int Float.MAX_EXPONENT
+public static final char Character.MAX_HIGH_SURROGATE
+public static final char Character.MAX_LOW_SURROGATE
+public static final int Character.MAX_RADIX
+public static final char Character.MAX_SURROGATE
+public static final char Character.MAX_VALUE
+public static final double Double.MAX_VALUE
+public static final float Float.MAX_VALUE
+public static final int Integer.MAX_VALUE
+public static final long Long.MAX_VALUE
+public static final int Character.MIN_CODE_POINT
+public static final int Double.MIN_EXPONENT
+public static final int Float.MIN_EXPONENT
+public static final char Character.MIN_HIGH_SURROGATE
+public static final char Character.MIN_LOW_SURROGATE
+public static final double Double.MIN_NORMAL
+public static final float Float.MIN_NORMAL
+public static final int Character.MIN_RADIX
+public static final int Character.MIN_SUPPLEMENTARY_CODE_POINT
+public static final char Character.MIN_SURROGATE
+public static final char Character.MIN_VALUE
+public static final double Double.MIN_VALUE
+public static final float Float.MIN_VALUE
+public static final int Integer.MIN_VALUE
+public static final long Long.MIN_VALUE
+public static final byte Character.MODIFIER_LETTER
+public static final byte Character.MODIFIER_SYMBOL
+public static final double Double.NEGATIVE_INFINITY
+public static final float Float.NEGATIVE_INFINITY
+public static final byte Character.NON_SPACING_MARK
+public static final double Double.NaN
+public static final float Float.NaN
+public static final byte Character.OTHER_LETTER
+public static final byte Character.OTHER_NUMBER
+public static final byte Character.OTHER_PUNCTUATION
+public static final byte Character.OTHER_SYMBOL
+public static final byte Character.PARAGRAPH_SEPARATOR
+public static final double Double.POSITIVE_INFINITY
+public static final float Float.POSITIVE_INFINITY
+public static final byte Character.PRIVATE_USE
+public static final int Character.SIZE
+public static final int Double.SIZE
+public static final int Float.SIZE
+public static final int Integer.SIZE
+public static final int Long.SIZE
+public static final byte Character.SPACE_SEPARATOR
+public static final byte Character.START_PUNCTUATION
+public static final byte Character.SURROGATE
+public static final byte Character.TITLECASE_LETTER
+public static final Boolean Boolean.TRUE
+public static final Class<Boolean> Boolean.TYPE
+public static final Class<Character> Character.TYPE
+public static final Class<Double> Double.TYPE
+public static final Class<Float> Float.TYPE
+public static final Class<Integer> Integer.TYPE
+public static final Class<Long> Long.TYPE
+public static final byte Character.UNASSIGNED
+public static final byte Character.UPPERCASE_LETTER
+public static int Integer.bitCount(int arg0)
+public static int Long.bitCount(long arg0)
+public static int Character.charCount(int arg0)
+public static int Character.codePointAt(CharSequence arg0, int arg1)
+public static int Character.codePointAt(char[] arg0, int arg1)
+public static int Character.codePointAt(char[] arg0, int arg1, int arg2)
+public static int Character.codePointBefore(CharSequence arg0, int arg1)
+public static int Character.codePointBefore(char[] arg0, int arg1)
+public static int Character.codePointBefore(char[] arg0, int arg1, int arg2)
+public static int Character.codePointCount(CharSequence arg0, int arg1, int arg2)
+public static int Character.codePointCount(char[] arg0, int arg1, int arg2)
+public static int Character.codePointOf(String arg0)
+public static int Boolean.compare(boolean arg0, boolean arg1)
+public static int Character.compare(char arg0, char arg1)
+public static int Double.compare(double arg0, double arg1)
+public static int Float.compare(float arg0, float arg1)
+public static int Integer.compare(int arg0, int arg1)
+public static int Long.compare(long arg0, long arg1)
+public static int Integer.compareUnsigned(int arg0, int arg1)
+public static int Long.compareUnsigned(long arg0, long arg1)
+public static String String.copyValueOf(char[] arg0)
+public static String String.copyValueOf(char[] arg0, int arg1, int arg2)
+public static Integer Integer.decode(String arg0)
+public static Long Long.decode(String arg0)
+public static int Character.digit(char arg0, int arg1)
+public static int Character.digit(int arg0, int arg1)
+public static int Integer.divideUnsigned(int arg0, int arg1)
+public static long Long.divideUnsigned(long arg0, long arg1)
+public static long Double.doubleToLongBits(double arg0)
+public static native long Double.doubleToRawLongBits(double arg0)
+public static int Float.floatToIntBits(float arg0)
+public static native int Float.floatToRawIntBits(float arg0)
+public static char Character.forDigit(int arg0, int arg1)
+public static String String.format(String arg0, Object... arg1)
+public static String String.format(Locale arg0, String arg1, Object... arg2)
+public static boolean Boolean.getBoolean(String arg0)
+public static byte Character.getDirectionality(char arg0)
+public static byte Character.getDirectionality(int arg0)
+public static Integer Integer.getInteger(String arg0)
+public static Integer Integer.getInteger(String arg0, Integer arg1)
+public static Integer Integer.getInteger(String arg0, int arg1)
+public static Long Long.getLong(String arg0)
+public static Long Long.getLong(String arg0, Long arg1)
+public static Long Long.getLong(String arg0, long arg1)
+public static String Character.getName(int arg0)
+public static int Character.getNumericValue(char arg0)
+public static int Character.getNumericValue(int arg0)
+public static int Character.getType(char arg0)
+public static int Character.getType(int arg0)
+public static int Boolean.hashCode(boolean arg0)
+public static int Character.hashCode(char arg0)
+public static int Double.hashCode(double arg0)
+public static int Float.hashCode(float arg0)
+public static int Integer.hashCode(int arg0)
+public static int Long.hashCode(long arg0)
+public static char Character.highSurrogate(int arg0)
+public static int Integer.highestOneBit(int arg0)
+public static long Long.highestOneBit(long arg0)
+public static native float Float.intBitsToFloat(int arg0)
+public static boolean Character.isAlphabetic(int arg0)
+public static boolean Character.isBmpCodePoint(int arg0)
+public static boolean Character.isDefined(char arg0)
+public static boolean Character.isDefined(int arg0)
+public static boolean Character.isDigit(char arg0)
+public static boolean Character.isDigit(int arg0)
+public static boolean Double.isFinite(double arg0)
+public static boolean Float.isFinite(float arg0)
+public static boolean Character.isHighSurrogate(char arg0)
+public static boolean Character.isISOControl(char arg0)
+public static boolean Character.isISOControl(int arg0)
+public static boolean Character.isIdentifierIgnorable(char arg0)
+public static boolean Character.isIdentifierIgnorable(int arg0)
+public static boolean Character.isIdeographic(int arg0)
+public static boolean Double.isInfinite(double arg0)
+public static boolean Float.isInfinite(float arg0)
+public static boolean Character.isJavaIdentifierPart(char arg0)
+public static boolean Character.isJavaIdentifierPart(int arg0)
+public static boolean Character.isJavaIdentifierStart(char arg0)
+public static boolean Character.isJavaIdentifierStart(int arg0)
+public static boolean Character.isJavaLetter(char arg0)
+public static boolean Character.isJavaLetterOrDigit(char arg0)
+public static boolean Character.isLetter(char arg0)
+public static boolean Character.isLetter(int arg0)
+public static boolean Character.isLetterOrDigit(char arg0)
+public static boolean Character.isLetterOrDigit(int arg0)
+public static boolean Character.isLowSurrogate(char arg0)
+public static boolean Character.isLowerCase(char arg0)
+public static boolean Character.isLowerCase(int arg0)
+public static boolean Character.isMirrored(char arg0)
+public static boolean Character.isMirrored(int arg0)
+public static boolean Double.isNaN(double arg0)
+public static boolean Float.isNaN(float arg0)
+public static boolean Character.isSpace(char arg0)
+public static boolean Character.isSpaceChar(char arg0)
+public static boolean Character.isSpaceChar(int arg0)
+public static boolean Character.isSupplementaryCodePoint(int arg0)
+public static boolean Character.isSurrogate(char arg0)
+public static boolean Character.isSurrogatePair(char arg0, char arg1)
+public static boolean Character.isTitleCase(char arg0)
+public static boolean Character.isTitleCase(int arg0)
+public static boolean Character.isUnicodeIdentifierPart(char arg0)
+public static boolean Character.isUnicodeIdentifierPart(int arg0)
+public static boolean Character.isUnicodeIdentifierStart(char arg0)
+public static boolean Character.isUnicodeIdentifierStart(int arg0)
+public static boolean Character.isUpperCase(char arg0)
+public static boolean Character.isUpperCase(int arg0)
+public static boolean Character.isValidCodePoint(int arg0)
+public static boolean Character.isWhitespace(char arg0)
+public static boolean Character.isWhitespace(int arg0)
+public static String String.join(CharSequence arg0, CharSequence... arg1)
+public static String String.join(CharSequence arg0, Iterable<? extends CharSequence> arg1)
+public static boolean Boolean.logicalAnd(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalOr(boolean arg0, boolean arg1)
+public static boolean Boolean.logicalXor(boolean arg0, boolean arg1)
+public static native double Double.longBitsToDouble(long arg0)
+public static char Character.lowSurrogate(int arg0)
+public static int Integer.lowestOneBit(int arg0)
+public static long Long.lowestOneBit(long arg0)
+public static double Double.max(double arg0, double arg1)
+public static float Float.max(float arg0, float arg1)
+public static int Integer.max(int arg0, int arg1)
+public static long Long.max(long arg0, long arg1)
+public static double Double.min(double arg0, double arg1)
+public static float Float.min(float arg0, float arg1)
+public static int Integer.min(int arg0, int arg1)
+public static long Long.min(long arg0, long arg1)
+public static int Integer.numberOfLeadingZeros(int arg0)
+public static int Long.numberOfLeadingZeros(long arg0)
+public static int Integer.numberOfTrailingZeros(int arg0)
+public static int Long.numberOfTrailingZeros(long arg0)
+public static int Character.offsetByCodePoints(CharSequence arg0, int arg1, int arg2)
+public static int Character.offsetByCodePoints(char[] arg0, int arg1, int arg2, int arg3, int arg4)
+public static boolean Boolean.parseBoolean(String arg0)
+public static double Double.parseDouble(String arg0)
+public static float Float.parseFloat(String arg0)
+public static int Integer.parseInt(String arg0)
+public static int Integer.parseInt(String arg0, int arg1)
+public static int Integer.parseInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static long Long.parseLong(String arg0)
+public static long Long.parseLong(String arg0, int arg1)
+public static long Long.parseLong(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.parseUnsignedInt(String arg0)
+public static int Integer.parseUnsignedInt(String arg0, int arg1)
+public static int Integer.parseUnsignedInt(CharSequence arg0, int arg1, int arg2, int arg3)
+public static long Long.parseUnsignedLong(String arg0)
+public static long Long.parseUnsignedLong(String arg0, int arg1)
+public static long Long.parseUnsignedLong(CharSequence arg0, int arg1, int arg2, int arg3)
+public static int Integer.remainderUnsigned(int arg0, int arg1)
+public static long Long.remainderUnsigned(long arg0, long arg1)
+public static int Integer.reverse(int arg0)
+public static long Long.reverse(long arg0)
+public static char Character.reverseBytes(char arg0)
+public static int Integer.reverseBytes(int arg0)
+public static long Long.reverseBytes(long arg0)
+public static int Integer.rotateLeft(int arg0, int arg1)
+public static long Long.rotateLeft(long arg0, int arg1)
+public static int Integer.rotateRight(int arg0, int arg1)
+public static long Long.rotateRight(long arg0, int arg1)
+public static int Integer.signum(int arg0)
+public static int Long.signum(long arg0)
+public static double Double.sum(double arg0, double arg1)
+public static float Float.sum(float arg0, float arg1)
+public static int Integer.sum(int arg0, int arg1)
+public static long Long.sum(long arg0, long arg1)
+public static String Integer.toBinaryString(int arg0)
+public static String Long.toBinaryString(long arg0)
+public static char[] Character.toChars(int arg0)
+public static int Character.toChars(int arg0, char[] arg1, int arg2)
+public static int Character.toCodePoint(char arg0, char arg1)
+public static String Double.toHexString(double arg0)
+public static String Float.toHexString(float arg0)
+public static String Integer.toHexString(int arg0)
+public static String Long.toHexString(long arg0)
+public static char Character.toLowerCase(char arg0)
+public static int Character.toLowerCase(int arg0)
+public static String Integer.toOctalString(int arg0)
+public static String Long.toOctalString(long arg0)
+public static String Boolean.toString(boolean arg0)
+public static String Character.toString(char arg0)
+public static String Double.toString(double arg0)
+public static String Float.toString(float arg0)
+public static String Character.toString(int arg0)
+public static String Integer.toString(int arg0)
+public static String Long.toString(long arg0)
+public static String Integer.toString(int arg0, int arg1)
+public static String Long.toString(long arg0, int arg1)
+public static char Character.toTitleCase(char arg0)
+public static int Character.toTitleCase(int arg0)
+public static long Integer.toUnsignedLong(int arg0)
+public static String Integer.toUnsignedString(int arg0)
+public static String Long.toUnsignedString(long arg0)
+public static String Integer.toUnsignedString(int arg0, int arg1)
+public static String Long.toUnsignedString(long arg0, int arg1)
+public static char Character.toUpperCase(char arg0)
+public static int Character.toUpperCase(int arg0)
+public static String String.valueOf(Object arg0)
+public static Boolean Boolean.valueOf(String arg0)
+public static Double Double.valueOf(String arg0)
+public static Float Float.valueOf(String arg0)
+public static Integer Integer.valueOf(String arg0)
+public static Long Long.valueOf(String arg0)
+public static Boolean Boolean.valueOf(boolean arg0)
+public static String String.valueOf(boolean arg0)
+public static Character Character.valueOf(char arg0)
+public static String String.valueOf(char arg0)
+public static String String.valueOf(char[] arg0)
+public static Double Double.valueOf(double arg0)
+public static String String.valueOf(double arg0)
+public static Float Float.valueOf(float arg0)
+public static String String.valueOf(float arg0)
+public static Integer Integer.valueOf(int arg0)
+public static String String.valueOf(int arg0)
+public static Long Long.valueOf(long arg0)
+public static String String.valueOf(long arg0)
+public static Integer Integer.valueOf(String arg0, int arg1)
+public static Long Long.valueOf(String arg0, int arg1)
+public static String String.valueOf(char[] arg0, int arg1, int arg2)
+protected void finalize()
+public final native void notify()
+public final native void notifyAll()
+public void op(int a)
+public final void wait()
+public final native void wait(long arg0)
+public final void wait(long arg0, int arg1)
+boolean
+byte
+char
+double
+float
+int
+long
+new
+null
+short
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesStaticInterfaceMembersAndVars.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesStaticInterfaceMembersAndVars.pass
new file mode 100644
index 0000000..1d06276
--- /dev/null
+++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/14/typesStaticInterfaceMembersAndVars.pass
@@ -0,0 +1,135 @@
+String s
+public static int length(String s)
+assert
+boolean
+byte
+char
+class
+do
+double
+final
+float
+for
+if
+int
+long
+new
+return
+short
+strictfp
+switch
+synchronized
+throw
+try
+void
+while
+AbstractMethodError
+Appendable
+ArithmeticException
+ArrayIndexOutOfBoundsException
+ArrayStoreException
+AssertionError
+AutoCloseable
+Boolean
+BootstrapMethodError
+Byte
+CharSequence
+Character
+Class
+ClassCastException
+ClassCircularityError
+ClassFormatError
+ClassLoader
+ClassNotFoundException
+ClassValue
+CloneNotSupportedException
+Cloneable
+Comparable
+Compiler
+Deprecated
+Double
+Enum
+EnumConstantNotPresentException
+Error
+Exception
+ExceptionInInitializerError
+Float
+FunctionalInterface
+IllegalAccessError
+IllegalAccessException
+IllegalArgumentException
+IllegalCallerException
+IllegalMonitorStateException
+IllegalStateException
+IllegalThreadStateException
+IncompatibleClassChangeError
+IndexOutOfBoundsException
+InheritableThreadLocal
+InstantiationError
+InstantiationException
+Integer
+InternalError
+InterruptedException
+Iterable
+LayerInstantiationException
+LinkageError
+Long
+Math
+Module
+ModuleLayer
+NegativeArraySizeException
+NoClassDefFoundError
+NoSuchFieldError
+NoSuchFieldException
+NoSuchMethodError
+NoSuchMethodException
+NullPointerException
+Number
+NumberFormatException
+Object
+OutOfMemoryError
+Override
+Package
+Process
+ProcessBuilder
+ProcessHandle
+Readable
+Record
+ReflectiveOperationException
+Runnable
+Runtime
+RuntimeException
+RuntimePermission
+SafeVarargs
+SecurityException
+SecurityManager
+Short
+StackOverflowError
+StackTraceElement
+StackWalker
+StrictMath
+String
+StringBuffer
+StringBuilder
+StringIndexOutOfBoundsException
+SuppressWarnings
+System
+Test
+Thread
+ThreadDeath
+ThreadGroup
+ThreadLocal
+Throwable
+TypeNotPresentException
+UnknownError
+UnsatisfiedLinkError
+UnsupportedClassVersionError
+UnsupportedOperationException
+VerifyError
+VirtualMachineError
+Void
+com
+java
+javax
+org
+sun
diff --git a/java/java.editor.base/src/org/netbeans/modules/java/editor/base/semantic/SemanticHighlighterBase.java b/java/java.editor.base/src/org/netbeans/modules/java/editor/base/semantic/SemanticHighlighterBase.java
index 51bf0a4..00d3687 100644
--- a/java/java.editor.base/src/org/netbeans/modules/java/editor/base/semantic/SemanticHighlighterBase.java
+++ b/java/java.editor.base/src/org/netbeans/modules/java/editor/base/semantic/SemanticHighlighterBase.java
@@ -1230,15 +1230,17 @@
                         long end = start + 1;
                         ExecutableElement invokedMethod = (ExecutableElement) invoked;
                         pos = Math.min(pos, invokedMethod.getParameters().size() - 1);
-                        boolean shouldBeAdded = true;
-                        if (tree.getKind() == Kind.IDENTIFIER &&
-                                invokedMethod.getParameters().get(pos).getSimpleName().equals(
-                                        IdentifierTree.class.cast(tree).getName())) {
-                            shouldBeAdded = false;
-                        }
-                        if (shouldBeAdded) {
-                            preText.put(new int[] {(int) start, (int) end},
-                                        invokedMethod.getParameters().get(pos).getSimpleName() + ":");
+                        if (pos != (-1)) {
+                            boolean shouldBeAdded = true;
+                            if (tree.getKind() == Kind.IDENTIFIER &&
+                                    invokedMethod.getParameters().get(pos).getSimpleName().equals(
+                                            IdentifierTree.class.cast(tree).getName())) {
+                                shouldBeAdded = false;
+                            }
+                            if (shouldBeAdded) {
+                                preText.put(new int[] {(int) start, (int) end},
+                                            invokedMethod.getParameters().get(pos).getSimpleName() + ":");
+                            }
                         }
                     }
                 }
diff --git a/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/DetectorTest.java b/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/DetectorTest.java
index 52d3538..03cd5e6 100644
--- a/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/DetectorTest.java
+++ b/java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/DetectorTest.java
@@ -646,6 +646,24 @@
                     "[PUBLIC, METHOD], 2:46-2:53");
     }
 
+    public void testInvalidParameterList() throws Exception {
+        setShowPrependedText(true);
+        performTest("Test.java",
+                    "public class BugSemanticHighlighterBase {\n" +
+                    "    private Object testMethod(final String arg1 final String arg2) {\n" +
+                    "        return new String(\"\");\n" +
+                    "    }\n" +
+                    "}\n",
+                    "[PUBLIC, CLASS, DECLARATION], 0:13-0:39",
+                    "[PUBLIC, CLASS], 1:12-1:18",
+                    "[PRIVATE, METHOD, UNUSED, DECLARATION], 1:19-1:29",
+                    "[PUBLIC, CLASS], 1:36-1:42",
+                    "[PARAMETER, UNUSED, DECLARATION], 1:43-1:47",
+                    "[PUBLIC, CLASS], 1:54-1:60",
+                    "[PACKAGE_PRIVATE, FIELD, DECLARATION], 1:61-1:65",
+                    "[PACKAGE_PRIVATE, CONSTRUCTOR], 2:19-2:25");
+    }
+
     private void performTest(String fileName) throws Exception {
         performTest(fileName, new Performer() {
             public void compute(CompilationController parameter, Document doc, final ErrorDescriptionSetter setter) {
diff --git a/java/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersWizardPanel.java b/java/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersWizardPanel.java
index 0751edf..710b742 100644
--- a/java/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersWizardPanel.java
+++ b/java/java.freeform/src/org/netbeans/modules/java/freeform/ui/SourceFoldersWizardPanel.java
@@ -108,9 +108,9 @@
         }
         List l = (List)wizardDescriptor.getProperty(NewJavaFreeformProjectSupport.PROP_EXTRA_JAVA_SOURCE_FOLDERS);
         if (l != null) {
-            Iterator it = l.iterator();
+            Iterator<String> it = l.iterator();
             while (it.hasNext()) {
-                String path = (String)it.next();
+                String path = it.next();
                 assert it.hasNext();
                 String label = (String)it.next();
                 // try to find if the model already contains this source folder
diff --git a/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexer.java b/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexer.java
index e1a8168..24f56b1 100644
--- a/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexer.java
+++ b/java/java.hints.declarative/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexer.java
@@ -117,6 +117,52 @@
                 
                 Token<DeclarativeHintTokenId> t = testToken(inputString, whitespaceLength, false);
 
+                if (t == null && inputString.endsWith("::")) {
+                    //need to disambiguate :: as a member ref separator; and as a snippet-conditions separator
+                    int len = input.readLength();
+                    if (len > 2) {
+                        boolean colonColon = false;
+                        StringBuilder ident = new StringBuilder();
+                        boolean identFinished = false;
+                        OUTER: while (true) {
+                            int read2 = input.read();
+                            if (Character.isWhitespace(read2)) {
+                                if (ident.length() > 0) {
+                                    identFinished = true;
+                                }
+                                continue;
+                            }
+                            if (identFinished || !Character.isJavaIdentifierPart((char) read2)) {
+                                identFinished = true;
+                                switch (read2) {
+                                    case '(': case '&': case 'i': case '!':
+                                        //condition
+                                        colonColon = true;
+                                        break OUTER;
+                                    case ';':
+                                        if (input.read() == ';') {
+                                            input.backup(2);
+                                            if ("otherwise".contentEquals(ident)) {
+                                                //condition
+                                                colonColon = true;
+                                                break OUTER;
+                                            }
+                                        }
+                                    default:
+                                        //member ref
+                                        break OUTER;
+                                }
+                            } else {
+                                ident.append((char) read2);
+                            }
+                        }
+                        if (colonColon) {
+                            t = resolvePrereadText(input.readLength() - len + 2, whitespaceLength);
+                        }
+                    } else {
+                        t = fact.createToken(DeclarativeHintTokenId.DOUBLE_COLON);
+                    }
+                }
                 if (t != null) {
                     return t;
                 }
@@ -153,7 +199,7 @@
         
         for (Entry<String, DeclarativeHintTokenId> e : TOKENS.entrySet()) {
             int i = snip.indexOf(e.getKey());
-            if (i != (-1) && (snip.length() - i + 1 > backup || e.getKey().startsWith(lastImage))) {
+            if (i != (-1) && (snip.length() - i + 1 > backup || e.getKey().startsWith(lastImage)) && (e.getValue() != DeclarativeHintTokenId.COLON || !snip.substring(i).startsWith("::"))) {
                 id = e.getValue();
                 backup = snip.length() - i + 1;
                 exact = i == 0;
@@ -231,7 +277,6 @@
         Map<String, DeclarativeHintTokenId> map = new HashMap<String, DeclarativeHintTokenId>();
 
         map.put("=>", DeclarativeHintTokenId.LEADS_TO);
-        map.put("::", DeclarativeHintTokenId.DOUBLE_COLON);
         map.put("&&", DeclarativeHintTokenId.AND);
         map.put("!", DeclarativeHintTokenId.NOT);
         map.put(";;", DeclarativeHintTokenId.DOUBLE_SEMICOLON);
diff --git a/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexerTest.java b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexerTest.java
index f2a94e4..0b7cfce 100644
--- a/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexerTest.java
+++ b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/DeclarativeHintLexerTest.java
@@ -308,4 +308,47 @@
         assertFalse(ts.moveNext());
     }
 
+    @Test
+    public void testDoubleColonDisamgibuation() {
+        {
+            String text = "System.err::println;;";
+            TokenHierarchy<?> hi = TokenHierarchy.create(text, language());
+            TokenSequence<?> ts = hi.tokenSequence();
+            TestUtils.assertNextTokenEquals(ts, JAVA_SNIPPET, "System.err::println");
+            TestUtils.assertNextTokenEquals(ts, DOUBLE_SEMICOLON, ";;");
+
+            assertFalse(ts.moveNext());
+        }
+        {
+            String text = "System.err::!println();;";
+            TokenHierarchy<?> hi = TokenHierarchy.create(text, language());
+            TokenSequence<?> ts = hi.tokenSequence();
+            TestUtils.assertNextTokenEquals(ts, JAVA_SNIPPET, "System.err");
+            TestUtils.assertNextTokenEquals(ts, DOUBLE_COLON, "::");
+            TestUtils.assertNextTokenEquals(ts, NOT, "!");
+            TestUtils.assertNextTokenEquals(ts, JAVA_SNIPPET, "println()");
+            TestUtils.assertNextTokenEquals(ts, DOUBLE_SEMICOLON, ";;");
+
+            assertFalse(ts.moveNext());
+        }
+        {
+            String text = "$1.isDirectory <!suppress-warnings=isDirectory> :: $1 instanceof java.io.File ;;";
+            TokenHierarchy<?> hi = TokenHierarchy.create(text, language());
+            TokenSequence<?> ts = hi.tokenSequence();
+            TestUtils.assertNextTokenEquals(ts, VARIABLE, "$1");
+            TestUtils.assertNextTokenEquals(ts, JAVA_SNIPPET, ".isDirectory ");
+            TestUtils.assertNextTokenEquals(ts, OPTIONS, "<!suppress-warnings=isDirectory>");
+            TestUtils.assertNextTokenEquals(ts, WHITESPACE, " ");
+            TestUtils.assertNextTokenEquals(ts, DOUBLE_COLON, "::");
+            TestUtils.assertNextTokenEquals(ts, WHITESPACE, " ");
+            TestUtils.assertNextTokenEquals(ts, VARIABLE, "$1");
+            TestUtils.assertNextTokenEquals(ts, WHITESPACE, " ");
+            TestUtils.assertNextTokenEquals(ts, INSTANCEOF, "instanceof");
+            TestUtils.assertNextTokenEquals(ts, JAVA_SNIPPET, " java.io.File ");
+            TestUtils.assertNextTokenEquals(ts, DOUBLE_SEMICOLON, ";;");
+
+            assertFalse(ts.moveNext());
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.hint
similarity index 87%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.hint
index ce5fca3..af2cfb1 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.hint
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-package org.netbeans.modules.junit;
-
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
-}
+    $test.method() :: $test instanceof Test
+ => $test.method(System.err::println)
+ ;;
\ No newline at end of file
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.test
similarity index 78%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.test
index ce5fca3..0480bf3 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-member-ref.test
@@ -16,13 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-package org.netbeans.modules.junit;
-
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
+%%TestCase pos-1
+package test;
+public class Test {
+    public void method() {
+        method();
+    }
+}
+%%=>
+package test;
+public class Test {
+    public void method() {
+        method(System.err::println);
+    }
 }
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.hint
similarity index 87%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.hint
index ce5fca3..45cf033 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.hint
@@ -16,13 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-package org.netbeans.modules.junit;
-
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
-}
+    $test.method() :: $test instanceof Test
+ => $test.method(t -> System.err.println(t))
+ ;;
\ No newline at end of file
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.test
similarity index 77%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.test
index ce5fca3..9684a65 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/java.hints.declarative/test/unit/src/org/netbeans/modules/java/hints/declarative/use-undeclared-lambda.test
@@ -16,13 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-package org.netbeans.modules.junit;
-
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
+%%TestCase pos-1
+package test;
+public class Test {
+    public void method() {
+        method();
+    }
+}
+%%=>
+package test;
+public class Test {
+    public void method() {
+        method(t -> System.err.println(t));
+    }
 }
diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFix.java b/java/java.hints/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFix.java
index ec75b07..5572337 100644
--- a/java/java.hints/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFix.java
+++ b/java/java.hints/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFix.java
@@ -44,6 +44,8 @@
  */
 public class DifferentCaseKindsFix implements ErrorRule<Void> {
 
+    private static final int SWITCH_RULE_PREVIEW_JDK_VERSION = 13;
+
     private static final Set<String> ERROR_CODES = new HashSet<String>(Arrays.asList(
             "compiler.err.switch.mixing.case.types")); // NOI18N
     
@@ -54,7 +56,7 @@
 
     @Override
     public List<Fix> run(CompilationInfo info, String diagnosticKey, int offset, TreePath treePath, Data<Void> data) {
-        if (!CompilerOptionsQuery.getOptions(info.getFileObject()).getArguments().contains("--enable-preview")) {
+        if (Utilities.isJDKVersionLower(SWITCH_RULE_PREVIEW_JDK_VERSION) && !CompilerOptionsQuery.getOptions(info.getFileObject()).getArguments().contains("--enable-preview")) {
             return null;
         }
         TreePath parentPath = treePath.getParentPath();
diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java b/java/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
index 9b8f8f9..3f70b14 100644
--- a/java/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
+++ b/java/java.hints/src/org/netbeans/modules/java/hints/errors/Utilities.java
@@ -159,6 +159,7 @@
 public class Utilities {
     public  static final String JAVA_MIME_TYPE = "text/x-java";
     private static final String DEFAULT_NAME = "name";
+    private static final String UNDERSCORE = "_";
     enum SWITCH_TYPE { TRADITIONAL_SWITCH, RULE_SWITCH, SWITCH_EXPRESSION }
 
     public Utilities() {
@@ -3331,4 +3332,11 @@
         JCTree.JCAssign assignTree = (JCTree.JCAssign) jceTree.expr;
         return ((JCTree.JCIdent) assignTree.lhs).name;
     }
+
+    public static boolean isJDKVersionLower(int previewUntilJDK){
+        if(Integer.valueOf(SourceVersion.latest().name().split(UNDERSCORE)[1]).compareTo(previewUntilJDK)<=0)
+            return true;
+
+        return false;
+    }
 }
diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitch.java b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitch.java
index aa681f6..751f4b2 100644
--- a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitch.java
+++ b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitch.java
@@ -22,6 +22,7 @@
 import com.sun.source.tree.SwitchTree;
 import com.sun.source.tree.Tree;
 import com.sun.source.util.TreePath;
+import javax.lang.model.SourceVersion;
 import org.netbeans.api.java.queries.CompilerOptionsQuery;
 import org.netbeans.api.java.source.CompilationInfo;
 import org.netbeans.modules.java.hints.errors.Utilities;
@@ -43,11 +44,13 @@
     "DESC_org.netbeans.modules.java.hints.jdk.ConvertSwitchStatementToSwitchExpression=Converts to switch expression",
 })
 public class ConvertSwitchToRuleSwitch {
-    
+
+    private static final int SWITCH_RULE_PREVIEW_JDK_VERSION = 13;
+
     @TriggerTreeKind(Tree.Kind.SWITCH)
     @Messages({"ERR_ConvertSwitchToRuleSwitch=Convert switch to rule switch", "ERR_ConvertSwitchToSwitchExpression=Convert to switch expression"})
     public static ErrorDescription switch2RuleSwitch(HintContext ctx) {
-        if (!CompilerOptionsQuery.getOptions(ctx.getInfo().getFileObject()).getArguments().contains("--enable-preview"))
+        if (Utilities.isJDKVersionLower(SWITCH_RULE_PREVIEW_JDK_VERSION) && !CompilerOptionsQuery.getOptions(ctx.getInfo().getFileObject()).getArguments().contains("--enable-preview"))
             return null;
         SwitchTree st = (SwitchTree) ctx.getPath().getLeaf();
         boolean completesNormally = false;
diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToPatternInstanceOf.java b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToPatternInstanceOf.java
index 90699b4..e397ed8 100644
--- a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToPatternInstanceOf.java
+++ b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToPatternInstanceOf.java
@@ -64,7 +64,8 @@
     "ERR_ConvertToPatternInstanceOf=instanceof <pattern> can be used here",
     "FIX_ConvertToPatternInstanceOf=Use instanceof <pattern>"
 })
-@Hint(displayName="#DN_ConvertToPatternInstanceOf", description="#DESC_ConvertToPatternInstanceOf", category="rules15")
+@Hint(displayName="#DN_ConvertToPatternInstanceOf", description="#DESC_ConvertToPatternInstanceOf", category="rules15",
+        minSourceVersion = "14")
 public class ConvertToPatternInstanceOf {
     
     @TriggerPatterns({
diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFixTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFixTest.java
index b9cacff..936f8ae 100644
--- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFixTest.java
+++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/errors/DifferentCaseKindsFixTest.java
@@ -22,6 +22,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
+import javax.lang.model.SourceVersion;
 import javax.swing.event.ChangeListener;
 import org.netbeans.api.java.source.CompilationInfo;
 import org.netbeans.modules.java.hints.infrastructure.ErrorHintsTestBase;
@@ -47,9 +48,16 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        sourceLevel = "13";
         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
-        EXTRA_OPTIONS.add("--enable-preview");
+        try {
+            SourceVersion.valueOf("RELEASE_14"); //NOI18N
+        } catch (IllegalArgumentException ex) {
+            //OK, no RELEASE_14, skip test
+            sourceLevel = "13";
+            EXTRA_OPTIONS.add("--enable-preview");
+            return;
+        }
+        sourceLevel = "14";
     }
 
     @ServiceProvider(service = CompilerOptionsQueryImplementation.class, position = 100)
diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitchTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitchTest.java
index 08e171d..13e3563 100644
--- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitchTest.java
+++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertSwitchToRuleSwitchTest.java
@@ -35,7 +35,19 @@
         super(name);
     }
     
+    public static boolean isJDK14(){
+        try {
+            SourceVersion.valueOf("RELEASE_14"); //NOI18N
+        } catch (IllegalArgumentException ex) {
+            //OK, no RELEASE_14, skip test
+            return false;
+        }
+        return true;
+    }
+
     public void testSwitch2RuleSwitch() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -49,7 +61,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -68,6 +79,8 @@
     }
     
     public void testLastNotBreak() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -79,7 +92,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -96,6 +108,8 @@
     }
     
     public void testMultipleCases() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -109,7 +123,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -127,6 +140,8 @@
     }
     
     public void testFallThrough() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -139,12 +154,13 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .assertWarnings();
     }
     
     public void testMissingLastBreak() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -158,7 +174,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -176,6 +191,8 @@
     }
 
     public void testDefault() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -188,7 +205,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -208,6 +224,8 @@
     }
 
     public void testVariables1() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -227,7 +245,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -253,6 +270,8 @@
     }
 
     public void testFallThroughDefault1() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -266,12 +285,13 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .assertWarnings();
     }
 
     public void testFallThroughDefault2() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -285,12 +305,13 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .assertWarnings();
     }
 
     public void testTrailingEmptyCase() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -306,7 +327,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -327,6 +347,8 @@
     }
 
     public void testNeedsPreview() throws Exception {
+        if(ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -346,6 +368,8 @@
     }
 
     public void testBreakInside1() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -358,12 +382,13 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .assertWarnings();
     }
 
     public void testBreakInside2() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;\n" +
                        "public class Test {\n" +
@@ -378,7 +403,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("4:9-4:15:verifier:Convert switch to rule switch")
                 .applyFix()
@@ -400,6 +424,8 @@
     }
 
     public void testContinueInside1() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;\n" +
                        "public class Test {\n" +
@@ -412,12 +438,13 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .assertWarnings();
     }
 
     public void testContinueInside2() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;\n" +
                        "public class Test {\n" +
@@ -434,7 +461,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("5:13-5:19:verifier:Convert switch to rule switch")
                 .applyFix()
@@ -460,6 +486,8 @@
     //Test cases for switch expression
 
     public void testSwitch2SwitchExpression() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -474,7 +502,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -494,6 +521,8 @@
     }
 
     public void testSwitch2SwitchExpressionMultiCase() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -508,7 +537,6 @@
                        "    }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:8-3:14:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -527,6 +555,8 @@
     }
 
     public void testSwitch2SwitchExpressionMultiCase2() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -541,7 +571,6 @@
                        "    }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:8-3:14:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -560,6 +589,8 @@
     }
 
     public void testSwitch2SwitchExpressionOnlyDefault() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -571,7 +602,6 @@
                        "    }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:8-3:14:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -588,6 +618,8 @@
     }
 
     public void testSwitch2SwitchExpressionNestedInnerSwitchExpression() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -605,7 +637,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("4:9-4:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -628,6 +659,8 @@
     }
 
     public void testSwitch2SwitchExpressionReturnValue() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -639,7 +672,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("2:9-2:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -656,6 +688,8 @@
     }
 
     public void testSwitch2SwitchExpressionTypeCast() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -668,7 +702,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -686,6 +719,8 @@
     }
 
     public void testSwitch2SwitchExpressionTypeCastReturn() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -697,7 +732,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("2:9-2:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -714,6 +748,8 @@
     }
 
     public void testSwitch2SwitchExpressionNestedSwitchExpression() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -729,7 +765,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("3:9-3:15:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
@@ -750,6 +785,8 @@
     }
 
     public void testSwitch2SwitchExpressionNestedOuterSwitchStatement() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -770,7 +807,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("4:9-4:15:verifier:" + Bundle.ERR_ConvertSwitchToRuleSwitch())
                 .applyFix()
@@ -794,6 +830,8 @@
     }
 
     public void testSwitch2SwitchExpressionNestedInnerSwitchStatement() throws Exception {
+        if(!ConvertSwitchToRuleSwitchTest.isJDK14())
+            return;
         HintTest.create()
                 .input("package test;" +
                        "public class Test {\n" +
@@ -814,7 +852,6 @@
                        "     }\n" +
                        "}\n")
                 .sourceLevel(SourceVersion.latest().name())
-                .options("--enable-preview")
                 .run(ConvertSwitchToRuleSwitch.class)
                 .findWarning("6:16-6:22:verifier:" + Bundle.ERR_ConvertSwitchToSwitchExpression())
                 .applyFix()
diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertTextBlockToStringTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertTextBlockToStringTest.java
index 5d11ade..3c61941 100644
--- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertTextBlockToStringTest.java
+++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertTextBlockToStringTest.java
@@ -301,7 +301,6 @@
                         + "}");
     }
 
-   
     @Test
     public void escapeCharTextBlock() throws Exception {
         try {
@@ -367,4 +366,66 @@
                         + "    }\n"
                         + "}");
     }
+
+    @Test
+    public void textBlockAsParameter1() throws Exception {
+        try {
+            SourceVersion.valueOf("RELEASE_13");
+        } catch (IllegalArgumentException ex) {
+            //OK, skip test
+            return;
+        }
+        HintTest.create()
+                .input("package test;\n"
+                        + "\n"
+                        + "class myClass{\n"
+                        + "    public static void main(String[] args) {\n"
+                        + "        System.out.println(\"\"\"\n"
+                        + "                           abc\"\"\");\n"
+                        + "    }\n"
+                        + "}")
+                .sourceLevel(SourceVersion.latest().name())
+                .options("--enable-preview")
+                .run(ConvertTextBlockToString.class)
+                .findWarning("3:18-3:21:verifier:" + Bundle.ERR_ConvertTextBlockToString())
+                .applyFix()
+                .assertCompilable()
+                .assertOutput("package test;\n"
+                        + "\n"
+                        + "class myClass{\n"
+                        + "    public static void main(String[] args) {\n"
+                        + "        System.out.println(\"abc\");\n"
+                        + "    }\n"
+                        + "}");
+    }
+
+    @Test
+    public void textBlockAsParameter2() throws Exception {
+        try {
+            SourceVersion.valueOf("RELEASE_13");
+        } catch (IllegalArgumentException ex) {
+            //OK, skip test
+            return;
+        }
+        HintTest.create()
+                .input("class myClass{\n"
+                        + "    public static void main(String[] args) {\n"
+                        + "        System.out.println(\"\"\"\n"
+                        + "                           abc\n"
+                        + "                           def\n"
+                        + "                           ghi\"\"\");\n"
+                        + "    }\n"
+                        + "}")
+                .sourceLevel(SourceVersion.latest().name())
+                .options("--enable-preview")
+                .run(ConvertTextBlockToString.class)
+                .findWarning("3:18-3:21:verifier:" + Bundle.ERR_ConvertTextBlockToString())
+                .applyFix()
+                .assertCompilable()
+                .assertOutput("class myClass{\n"
+                        + "    public static void main(String[] args) {\n"
+                        + "        System.out.println(\"abc\\n\" + \"def\\n\" + \"ghi\");\n"
+                        + "    }\n"
+                        + "}");
+    }
 }
diff --git a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/Bundle.properties b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/Bundle.properties
index 078a809..aa60c2c 100644
--- a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/Bundle.properties
+++ b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/Bundle.properties
@@ -601,7 +601,7 @@
 ACSD_jButtonEdit=Edit classpath items
 ACSD_BuildJarAfterCompile=Build JAR after compiling option
 LBL_CustomizeRun_Enable_Quick_Run=Enable Quick Run
-CustomizerCompile.CompileOnSave=Compile on &Save
+CustomizerCompile.CompileOnSave=Compile on &Save (requires nb-javac plugin)
 AD_CustomizerCompile.CompileOnSave=If selected, files are compiled when you save them. This option saves you time when you run or debug your application in the IDE.
 LBL_CompileOnSaveDescription=<html>If selected, files are compiled when you save them.<br>\
     This option saves you time when you run or debug your application in the IDE.<br>\
diff --git a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/CustomizerLibraries.java b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/CustomizerLibraries.java
index f89fbc6..d2828b0 100644
--- a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/CustomizerLibraries.java
+++ b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/CustomizerLibraries.java
@@ -250,8 +250,8 @@
             uiProperties.RUN_TEST_CLASSPATH_MODEL
            };
         for (int i = 0; i < models.length; i++) {
-            for (Iterator it = ClassPathUiSupport.getIterator(models[i]); it.hasNext();) {
-                ClassPathSupport.Item itm = (ClassPathSupport.Item) it.next();
+            for (Iterator<ClassPathSupport.Item> it = ClassPathUiSupport.getIterator(models[i]); it.hasNext();) {
+                ClassPathSupport.Item itm = it.next();
                 if (itm.getType() == ClassPathSupport.Item.TYPE_LIBRARY) {
                     itm.reassignLibraryManager(man);
                 }
@@ -277,8 +277,8 @@
         boolean broken = false;
         
         for( int i = 0; i < models.length; i++ ) {
-            for( Iterator it = ClassPathUiSupport.getIterator( models[i] ); it.hasNext(); ) {
-                if ( ((ClassPathSupport.Item)it.next()).isBroken() ) {
+            for( Iterator<ClassPathSupport.Item> it = ClassPathUiSupport.getIterator( models[i] ); it.hasNext(); ) {
+                if ( it.next().isBroken() ) {
                     broken = true;
                     break;
                 }
diff --git a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.form b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.form
index ffb4fa3..a808e00 100644
--- a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.form
+++ b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.form
@@ -66,10 +66,10 @@
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" attributes="0">
               <Group type="103" groupAlignment="0" attributes="0">
-                  <Component id="cpTree" alignment="0" min="-2" max="-2" attributes="0"/>
-                  <Component id="mpTree" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="cpTree" alignment="0" max="32767" attributes="0"/>
+                  <Component id="mpTree" alignment="0" max="32767" attributes="0"/>
               </Group>
-              <EmptySpace max="32767" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
               <Group type="103" groupAlignment="0" attributes="0">
                   <Component id="cpAddButton" alignment="1" min="-2" max="-2" attributes="0"/>
                   <Component id="mpAddButton" alignment="1" min="-2" max="-2" attributes="0"/>
diff --git a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.java b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.java
index 0c5fefc..e0e18e4 100644
--- a/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.java
+++ b/java/java.j2semodule/src/org/netbeans/modules/java/j2semodule/ui/customizer/PathsCustomizer.java
@@ -34,6 +34,7 @@
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
 import javax.swing.JTree;
+import javax.swing.UIManager;
 import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListDataListener;
 import javax.swing.event.TreeSelectionEvent;
@@ -65,22 +66,30 @@
      */
     public PathsCustomizer() {
         initComponents();
-        mpTree.setUI(new BasicTreeUI() {
-            @Override
-            protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
-            }
-            @Override
-            protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
-            }
-        });
-        cpTree.setUI(new javax.swing.plaf.basic.BasicTreeUI() {
-            @Override
-            protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
-            }
-            @Override
-            protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
-            }
-        });
+
+        // Disable tree line painting if enabled in current look and feel.
+        // Do not use BasicTreeUI for all look and feels because this would
+        // break selection painting in FlatLaf and Nimbus.
+        // https://issues.apache.org/jira/browse/NETBEANS-4030
+        if (UIManager.getBoolean("Tree.paintLines")) {
+            mpTree.setUI(new BasicTreeUI() {
+                @Override
+                protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
+                }
+                @Override
+                protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
+                }
+            });
+            cpTree.setUI(new javax.swing.plaf.basic.BasicTreeUI() {
+                @Override
+                protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
+                }
+                @Override
+                protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
+                }
+            });
+        }
+
         setBackground(mpTree.getBackground());
         Mnemonics.setLocalizedText(addProject, NbBundle.getMessage(PathsCustomizer.class, "LBL_CustomizeLibraries_AddProject_JButton"));
         Mnemonics.setLocalizedText(addLibrary, NbBundle.getMessage(PathsCustomizer.class, "LBL_CustomizeLibraries_AddLibary_JButton"));
@@ -602,9 +611,9 @@
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(cpTree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(mpTree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(cpTree, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(mpTree, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(cpAddButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                     .addComponent(mpAddButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
diff --git a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SELibrarySourceLevelQueryImpl.java b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SELibrarySourceLevelQueryImpl.java
index d8bb927..f15c50f 100644
--- a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SELibrarySourceLevelQueryImpl.java
+++ b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SELibrarySourceLevelQueryImpl.java
@@ -138,8 +138,8 @@
     }
     
     private FileObject getClassFile (List cpRoots) {
-        for (Iterator it = cpRoots.iterator(); it.hasNext();) {
-            FileObject root = URLMapper.findFileObject((URL)it.next());
+        for (Iterator<URL> it = cpRoots.iterator(); it.hasNext();) {
+            FileObject root = URLMapper.findFileObject(it.next());
             if (root == null) {
                 continue;
             }
diff --git a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/platformdefinition/FileObjectPropertyEditor.java b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/platformdefinition/FileObjectPropertyEditor.java
index a970269..909c34f 100644
--- a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/platformdefinition/FileObjectPropertyEditor.java
+++ b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/platformdefinition/FileObjectPropertyEditor.java
@@ -35,8 +35,8 @@
             List fileobjs = (List) this.getValue();
             StringBuffer result = new StringBuffer ();
             boolean first = true;
-            for (Iterator it = fileobjs.iterator(); it.hasNext();) {
-                FileObject fo = (FileObject) it.next ();
+            for (Iterator<FileObject> it = fileobjs.iterator(); it.hasNext();) {
+                FileObject fo = it.next();
                 File f = FileUtil.toFile(fo);
                 if (f != null) {
                     if (!first) {
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties
index acf0a8a..9cb2102 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/Bundle.properties
@@ -601,7 +601,7 @@
 ACSD_jButtonEdit=Edit classpath items
 ACSD_BuildJarAfterCompile=Build JAR after compiling option
 LBL_CustomizeRun_Enable_Quick_Run=Enable Quick Run
-CustomizerCompile.CompileOnSave=Compile on &Save
+CustomizerCompile.CompileOnSave=Compile on &Save (requires nb-javac plugin)
 AD_CustomizerCompile.CompileOnSave=If selected, files are compiled when you save them. This option saves you time when you run or debug your application in the IDE.
 LBL_CompileOnSaveDescription=<html>If selected, files are compiled when you save them.<br>\
     This option saves you time when you run or debug your application in the IDE.<br>\
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerLibraries.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerLibraries.java
index a2566ae..c74551f 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerLibraries.java
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerLibraries.java
@@ -250,8 +250,8 @@
             uiProperties.RUN_TEST_CLASSPATH_MODEL
            };
         for (int i = 0; i < models.length; i++) {
-            for (Iterator it = ClassPathUiSupport.getIterator(models[i]); it.hasNext();) {
-                ClassPathSupport.Item itm = (ClassPathSupport.Item) it.next();
+            for (Iterator<ClassPathSupport.Item> it = ClassPathUiSupport.getIterator(models[i]); it.hasNext();) {
+                ClassPathSupport.Item itm = it.next();
                 if (itm.getType() == ClassPathSupport.Item.TYPE_LIBRARY) {
                     itm.reassignLibraryManager(man);
                 }
@@ -277,8 +277,8 @@
         boolean broken = false;
         
         for( int i = 0; i < models.length; i++ ) {
-            for( Iterator it = ClassPathUiSupport.getIterator( models[i] ); it.hasNext(); ) {
-                if ( ((ClassPathSupport.Item)it.next()).isBroken() ) {
+            for (Iterator<ClassPathSupport.Item> it = ClassPathUiSupport.getIterator( models[i] ); it.hasNext(); ) {
+                if ( it.next().isBroken() ) {
                     broken = true;
                     break;
                 }
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.form b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.form
index ffb4fa3..a808e00 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.form
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.form
@@ -66,10 +66,10 @@
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" attributes="0">
               <Group type="103" groupAlignment="0" attributes="0">
-                  <Component id="cpTree" alignment="0" min="-2" max="-2" attributes="0"/>
-                  <Component id="mpTree" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="cpTree" alignment="0" max="32767" attributes="0"/>
+                  <Component id="mpTree" alignment="0" max="32767" attributes="0"/>
               </Group>
-              <EmptySpace max="32767" attributes="0"/>
+              <EmptySpace min="-2" max="-2" attributes="0"/>
               <Group type="103" groupAlignment="0" attributes="0">
                   <Component id="cpAddButton" alignment="1" min="-2" max="-2" attributes="0"/>
                   <Component id="mpAddButton" alignment="1" min="-2" max="-2" attributes="0"/>
diff --git a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.java b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.java
index 7264d4b..fed14e1 100644
--- a/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.java
+++ b/java/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/PathsCustomizer.java
@@ -34,6 +34,7 @@
 import javax.swing.JMenuItem;
 import javax.swing.JPopupMenu;
 import javax.swing.JTree;
+import javax.swing.UIManager;
 import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListDataListener;
 import javax.swing.event.TreeSelectionEvent;
@@ -65,22 +66,30 @@
      */
     public PathsCustomizer() {
         initComponents();
-        mpTree.setUI(new BasicTreeUI() {
-            @Override
-            protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
-            }
-            @Override
-            protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
-            }
-        });
-        cpTree.setUI(new javax.swing.plaf.basic.BasicTreeUI() {
-            @Override
-            protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
-            }
-            @Override
-            protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
-            }
-        });
+
+        // Disable tree line painting if enabled in current look and feel.
+        // Do not use BasicTreeUI for all look and feels because this would
+        // break selection painting in FlatLaf and Nimbus.
+        // https://issues.apache.org/jira/browse/NETBEANS-4030
+        if (UIManager.getBoolean("Tree.paintLines")) {
+            mpTree.setUI(new BasicTreeUI() {
+                @Override
+                protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
+                }
+                @Override
+                protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
+                }
+            });
+            cpTree.setUI(new javax.swing.plaf.basic.BasicTreeUI() {
+                @Override
+                protected void paintHorizontalLine(Graphics g, JComponent c, int y, int left, int right) {
+                }
+                @Override
+                protected void paintVerticalLine(Graphics g, JComponent c, int x, int top, int bottom) {
+                }
+            });
+        }
+
         setBackground(mpTree.getBackground());
         Mnemonics.setLocalizedText(addProject, NbBundle.getMessage(PathsCustomizer.class, "LBL_CustomizeLibraries_AddProject_JButton"));
         Mnemonics.setLocalizedText(addLibrary, NbBundle.getMessage(PathsCustomizer.class, "LBL_CustomizeLibraries_AddLibary_JButton"));
@@ -602,9 +611,9 @@
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(cpTree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(mpTree, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(cpTree, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(mpTree, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(cpAddButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                     .addComponent(mpAddButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
diff --git a/java/java.lsp.server/vscode/package-lock.json b/java/java.lsp.server/vscode/package-lock.json
index c969448..a124690 100644
--- a/java/java.lsp.server/vscode/package-lock.json
+++ b/java/java.lsp.server/vscode/package-lock.json
@@ -1,25 +1,753 @@
 {
-	"name": "netbeans-java",
+	"name": "apache-netbeans-java",
 	"version": "0.0.1",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
 		"@types/mocha": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.0.tgz",
-			"integrity": "sha512-YeDiSEzznwZwwp766SJ6QlrTyBYUGPSIwmREHVTmktUYiT/WADdWtpt9iH0KuUSf8lZLdI4lP0X6PBzPo5//JQ==",
+			"version": "5.2.7",
+			"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
+			"integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==",
 			"dev": true
 		},
 		"@types/node": {
-			"version": "8.10.18",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.18.tgz",
-			"integrity": "sha512-WoepSz+wJlU5Bjq5oK6cO1oXe2FgPcjMtQPgKPS8fVaTAD0lxkScMCCbMimdkVCsykqaA4lvHWz3cmj28yimhA==",
+			"version": "13.1.7",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.7.tgz",
+			"integrity": "sha512-HU0q9GXazqiKwviVxg9SI/+t/nAsGkvLDkIdxz+ObejG2nX6Si00TeLqHMoS+a/1tjH7a8YpKVQwtgHuMQsldg==",
+			"dev": true
+		},
+		"agent-base": {
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+			"integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+			"dev": true,
+			"requires": {
+				"es6-promisify": "^5.0.0"
+			}
+		},
+		"ajv": {
+			"version": "6.12.2",
+			"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+			"integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+			"dev": true,
+			"requires": {
+				"fast-deep-equal": "^3.1.1",
+				"fast-json-stable-stringify": "^2.0.0",
+				"json-schema-traverse": "^0.4.1",
+				"uri-js": "^4.2.2"
+			}
+		},
+		"asn1": {
+			"version": "0.2.4",
+			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+			"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+			"dev": true,
+			"requires": {
+				"safer-buffer": "~2.1.0"
+			}
+		},
+		"assert-plus": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+			"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+			"dev": true
+		},
+		"asynckit": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+			"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+			"dev": true
+		},
+		"aws-sign2": {
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+			"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+			"dev": true
+		},
+		"aws4": {
+			"version": "1.9.1",
+			"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+			"integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
+			"dev": true
+		},
+		"balanced-match": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+			"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+			"dev": true
+		},
+		"bcrypt-pbkdf": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+			"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+			"dev": true,
+			"requires": {
+				"tweetnacl": "^0.14.3"
+			}
+		},
+		"brace-expansion": {
+			"version": "1.1.11",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+			"dev": true,
+			"requires": {
+				"balanced-match": "^1.0.0",
+				"concat-map": "0.0.1"
+			}
+		},
+		"browser-stdout": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+			"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+			"dev": true
+		},
+		"buffer-from": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+			"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+			"dev": true
+		},
+		"caseless": {
+			"version": "0.12.0",
+			"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+			"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+			"dev": true
+		},
+		"combined-stream": {
+			"version": "1.0.8",
+			"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+			"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+			"dev": true,
+			"requires": {
+				"delayed-stream": "~1.0.0"
+			}
+		},
+		"commander": {
+			"version": "2.15.1",
+			"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+			"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
+			"dev": true
+		},
+		"concat-map": {
+			"version": "0.0.1",
+			"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+			"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+			"dev": true
+		},
+		"core-util-is": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+			"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+			"dev": true
+		},
+		"dashdash": {
+			"version": "1.14.1",
+			"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+			"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0"
+			}
+		},
+		"debug": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+			"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+			"dev": true,
+			"requires": {
+				"ms": "2.0.0"
+			}
+		},
+		"delayed-stream": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+			"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+			"dev": true
+		},
+		"diff": {
+			"version": "3.5.0",
+			"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+			"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+			"dev": true
+		},
+		"ecc-jsbn": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+			"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+			"dev": true,
+			"requires": {
+				"jsbn": "~0.1.0",
+				"safer-buffer": "^2.1.0"
+			}
+		},
+		"es6-promise": {
+			"version": "4.2.8",
+			"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+			"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+			"dev": true
+		},
+		"es6-promisify": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+			"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+			"dev": true,
+			"requires": {
+				"es6-promise": "^4.0.3"
+			}
+		},
+		"escape-string-regexp": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+			"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+			"dev": true
+		},
+		"extend": {
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+			"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+			"dev": true
+		},
+		"extsprintf": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+			"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+			"dev": true
+		},
+		"fast-deep-equal": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+			"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+			"dev": true
+		},
+		"fast-json-stable-stringify": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+			"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+			"dev": true
+		},
+		"forever-agent": {
+			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+			"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+			"dev": true
+		},
+		"form-data": {
+			"version": "2.3.3",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+			"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+			"dev": true,
+			"requires": {
+				"asynckit": "^0.4.0",
+				"combined-stream": "^1.0.6",
+				"mime-types": "^2.1.12"
+			}
+		},
+		"fs.realpath": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+			"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+			"dev": true
+		},
+		"getpass": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+			"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0"
+			}
+		},
+		"glob": {
+			"version": "7.1.6",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+			"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+			"dev": true,
+			"requires": {
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.0.4",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
+			}
+		},
+		"growl": {
+			"version": "1.10.5",
+			"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+			"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+			"dev": true
+		},
+		"har-schema": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+			"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+			"dev": true
+		},
+		"har-validator": {
+			"version": "5.1.3",
+			"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+			"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+			"dev": true,
+			"requires": {
+				"ajv": "^6.5.5",
+				"har-schema": "^2.0.0"
+			}
+		},
+		"has-flag": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+			"dev": true
+		},
+		"he": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+			"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+			"dev": true
+		},
+		"http-proxy-agent": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+			"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+			"dev": true,
+			"requires": {
+				"agent-base": "4",
+				"debug": "3.1.0"
+			}
+		},
+		"http-signature": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+			"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0",
+				"jsprim": "^1.2.2",
+				"sshpk": "^1.7.0"
+			}
+		},
+		"https-proxy-agent": {
+			"version": "2.2.4",
+			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+			"integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+			"dev": true,
+			"requires": {
+				"agent-base": "^4.3.0",
+				"debug": "^3.1.0"
+			}
+		},
+		"inflight": {
+			"version": "1.0.6",
+			"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+			"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+			"dev": true,
+			"requires": {
+				"once": "^1.3.0",
+				"wrappy": "1"
+			}
+		},
+		"inherits": {
+			"version": "2.0.4",
+			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+			"dev": true
+		},
+		"is-typedarray": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+			"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+			"dev": true
+		},
+		"isstream": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+			"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+			"dev": true
+		},
+		"jsbn": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+			"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+			"dev": true
+		},
+		"json-schema": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+			"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+			"dev": true
+		},
+		"json-schema-traverse": {
+			"version": "0.4.1",
+			"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+			"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+			"dev": true
+		},
+		"json-stringify-safe": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+			"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+			"dev": true
+		},
+		"jsprim": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+			"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "1.0.0",
+				"extsprintf": "1.3.0",
+				"json-schema": "0.2.3",
+				"verror": "1.10.0"
+			}
+		},
+		"mime-db": {
+			"version": "1.44.0",
+			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+			"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
+			"dev": true
+		},
+		"mime-types": {
+			"version": "2.1.27",
+			"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+			"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+			"dev": true,
+			"requires": {
+				"mime-db": "1.44.0"
+			}
+		},
+		"minimatch": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+			"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+			"dev": true,
+			"requires": {
+				"brace-expansion": "^1.1.7"
+			}
+		},
+		"minimist": {
+			"version": "0.0.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+			"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+			"dev": true
+		},
+		"mkdirp": {
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+			"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+			"dev": true,
+			"requires": {
+				"minimist": "0.0.8"
+			}
+		},
+		"mocha": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
+			"integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
+			"dev": true,
+			"requires": {
+				"browser-stdout": "1.3.1",
+				"commander": "2.15.1",
+				"debug": "3.1.0",
+				"diff": "3.5.0",
+				"escape-string-regexp": "1.0.5",
+				"glob": "7.1.2",
+				"growl": "1.10.5",
+				"he": "1.1.1",
+				"minimatch": "3.0.4",
+				"mkdirp": "0.5.1",
+				"supports-color": "5.4.0"
+			},
+			"dependencies": {
+				"glob": {
+					"version": "7.1.2",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+					"dev": true,
+					"requires": {
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
+					}
+				}
+			}
+		},
+		"ms": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+			"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+			"dev": true
+		},
+		"oauth-sign": {
+			"version": "0.9.0",
+			"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+			"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+			"dev": true
+		},
+		"once": {
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+			"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+			"dev": true,
+			"requires": {
+				"wrappy": "1"
+			}
+		},
+		"path-is-absolute": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+			"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+			"dev": true
+		},
+		"performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+			"dev": true
+		},
+		"psl": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+			"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+			"dev": true
+		},
+		"punycode": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+			"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+			"dev": true
+		},
+		"qs": {
+			"version": "6.5.2",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+			"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+			"dev": true
+		},
+		"querystringify": {
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
+			"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
+			"dev": true
+		},
+		"request": {
+			"version": "2.88.2",
+			"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+			"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+			"dev": true,
+			"requires": {
+				"aws-sign2": "~0.7.0",
+				"aws4": "^1.8.0",
+				"caseless": "~0.12.0",
+				"combined-stream": "~1.0.6",
+				"extend": "~3.0.2",
+				"forever-agent": "~0.6.1",
+				"form-data": "~2.3.2",
+				"har-validator": "~5.1.3",
+				"http-signature": "~1.2.0",
+				"is-typedarray": "~1.0.0",
+				"isstream": "~0.1.2",
+				"json-stringify-safe": "~5.0.1",
+				"mime-types": "~2.1.19",
+				"oauth-sign": "~0.9.0",
+				"performance-now": "^2.1.0",
+				"qs": "~6.5.2",
+				"safe-buffer": "^5.1.2",
+				"tough-cookie": "~2.5.0",
+				"tunnel-agent": "^0.6.0",
+				"uuid": "^3.3.2"
+			}
+		},
+		"requires-port": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+			"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+			"dev": true
+		},
+		"safe-buffer": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+			"integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+			"dev": true
+		},
+		"safer-buffer": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+			"dev": true
+		},
+		"semver": {
+			"version": "5.7.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"dev": true
+		},
+		"source-map": {
+			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+			"dev": true
+		},
+		"source-map-support": {
+			"version": "0.5.19",
+			"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+			"integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+			"dev": true,
+			"requires": {
+				"buffer-from": "^1.0.0",
+				"source-map": "^0.6.0"
+			}
+		},
+		"sshpk": {
+			"version": "1.16.1",
+			"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+			"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+			"dev": true,
+			"requires": {
+				"asn1": "~0.2.3",
+				"assert-plus": "^1.0.0",
+				"bcrypt-pbkdf": "^1.0.0",
+				"dashdash": "^1.12.0",
+				"ecc-jsbn": "~0.1.1",
+				"getpass": "^0.1.1",
+				"jsbn": "~0.1.0",
+				"safer-buffer": "^2.0.2",
+				"tweetnacl": "~0.14.0"
+			}
+		},
+		"supports-color": {
+			"version": "5.4.0",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+			"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+			"dev": true,
+			"requires": {
+				"has-flag": "^3.0.0"
+			}
+		},
+		"tough-cookie": {
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+			"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+			"dev": true,
+			"requires": {
+				"psl": "^1.1.28",
+				"punycode": "^2.1.1"
+			}
+		},
+		"tunnel-agent": {
+			"version": "0.6.0",
+			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+			"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+			"dev": true,
+			"requires": {
+				"safe-buffer": "^5.0.1"
+			}
+		},
+		"tweetnacl": {
+			"version": "0.14.5",
+			"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+			"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
 			"dev": true
 		},
 		"typescript": {
-			"version": "2.8.3",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz",
-			"integrity": "sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw==",
+			"version": "3.7.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz",
+			"integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==",
+			"dev": true
+		},
+		"uri-js": {
+			"version": "4.2.2",
+			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+			"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+			"dev": true,
+			"requires": {
+				"punycode": "^2.1.0"
+			}
+		},
+		"url-parse": {
+			"version": "1.4.7",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
+			"integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+			"dev": true,
+			"requires": {
+				"querystringify": "^2.1.1",
+				"requires-port": "^1.0.0"
+			}
+		},
+		"uuid": {
+			"version": "3.4.0",
+			"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+			"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+			"dev": true
+		},
+		"verror": {
+			"version": "1.10.0",
+			"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+			"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+			"dev": true,
+			"requires": {
+				"assert-plus": "^1.0.0",
+				"core-util-is": "1.0.2",
+				"extsprintf": "^1.2.0"
+			}
+		},
+		"vscode": {
+			"version": "1.1.36",
+			"resolved": "https://registry.npmjs.org/vscode/-/vscode-1.1.36.tgz",
+			"integrity": "sha512-cGFh9jmGLcTapCpPCKvn8aG/j9zVQ+0x5hzYJq5h5YyUXVGa1iamOaB2M2PZXoumQPES4qeAP1FwkI0b6tL4bQ==",
+			"dev": true,
+			"requires": {
+				"glob": "^7.1.2",
+				"mocha": "^5.2.0",
+				"request": "^2.88.0",
+				"semver": "^5.4.1",
+				"source-map-support": "^0.5.0",
+				"url-parse": "^1.4.4",
+				"vscode-test": "^0.4.1"
+			}
+		},
+		"vscode-jsonrpc": {
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz",
+			"integrity": "sha512-JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A=="
+		},
+		"vscode-languageclient": {
+			"version": "4.4.2",
+			"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-4.4.2.tgz",
+			"integrity": "sha512-9TUzsg1UM6n1UEyPlWbDf7tK1wJAK7UGFRmGDN8sz4KmbbDiVRh6YicaB/5oRSVTpuV47PdJpYlOl3SJ0RiK1Q==",
+			"requires": {
+				"vscode-languageserver-protocol": "^3.10.3"
+			}
+		},
+		"vscode-languageserver-protocol": {
+			"version": "3.15.3",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz",
+			"integrity": "sha512-zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==",
+			"requires": {
+				"vscode-jsonrpc": "^5.0.1",
+				"vscode-languageserver-types": "3.15.1"
+			}
+		},
+		"vscode-languageserver-types": {
+			"version": "3.15.1",
+			"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz",
+			"integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ=="
+		},
+		"vscode-test": {
+			"version": "0.4.3",
+			"resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-0.4.3.tgz",
+			"integrity": "sha512-EkMGqBSefZH2MgW65nY05rdRSko15uvzq4VAPM5jVmwYuFQKE7eikKXNJDRxL+OITXHB6pI+a3XqqD32Y3KC5w==",
+			"dev": true,
+			"requires": {
+				"http-proxy-agent": "^2.1.0",
+				"https-proxy-agent": "^2.2.1"
+			}
+		},
+		"wrappy": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+			"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
 			"dev": true
 		}
 	}
diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json
index 5e17f4c..acb5788 100644
--- a/java/java.lsp.server/vscode/package.json
+++ b/java/java.lsp.server/vscode/package.json
@@ -28,13 +28,13 @@
 		"update-vscode": "vscode-install"
 	},
 	"devDependencies": {
-		"@types/mocha": "^5.2.0",
-		"@types/node": "^13.1.7",
+		"@types/mocha": "5.2.7",
+		"@types/node": "13.1.7",
 		"typescript": "3.7.4",
-		"vscode": "^1.1.21"
+		"vscode": "1.1.36"
 	},
 	"dependencies": {
-		"vscode-languageclient": "^4.1.4"
+		"vscode-languageclient": "4.4.2"
 	},
         "contributes": {
             "configuration": {
diff --git a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersion.java b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersion.java
new file mode 100644
index 0000000..e8a5a8a
--- /dev/null
+++ b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersion.java
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ package org.netbeans.modules.java.openjdk.jtreg;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.sun.source.tree.Tree.Kind;
+import com.sun.source.util.TreePath;
+import java.io.IOException;
+import java.util.Arrays;
+import org.netbeans.api.java.source.CompilationInfo;
+import org.netbeans.modules.java.openjdk.jtreg.TagParser.Result;
+import org.netbeans.spi.editor.hints.ErrorDescription;
+import org.netbeans.spi.java.hints.ErrorDescriptionFactory;
+import org.netbeans.spi.java.hints.Hint;
+import org.netbeans.spi.java.hints.Hint.Options;
+import org.netbeans.spi.java.hints.HintContext;
+import org.netbeans.spi.java.hints.JavaFix;
+import org.netbeans.spi.java.hints.TriggerTreeKind;
+import org.openide.util.NbBundle.Messages;
+
+@Hint(displayName = "#DN_WrongSourceVersion", description = "#DESC_WrongSourceVersion", category = "general", options=Options.NO_BATCH)
+@Messages({
+    "DN_WrongSourceVersion=Wrong -source",
+    "DESC_WrongSourceVersion=Checks for hardcoded values for -source when --enable-preview"
+})
+public class WrongSourceVersion {
+
+    @TriggerTreeKind(Kind.COMPILATION_UNIT)
+    @Messages({
+        "ERR_HardcodedSource=Hardcoded source version, should use ${jdk.version}"
+    })
+    public static List<ErrorDescription> computeWarning(HintContext ctx) {
+        Result tags = TagParser.parseTags(ctx.getInfo());
+        List<ErrorDescription> result = new ArrayList<>();
+        for (Tag tag : tags.getTags()) {
+            if (!"compile".equals(tag.getName())) {
+                continue;
+            }
+            String[] params = tag.getValue().split("[\\s]+");
+            boolean hasEnablePreview = Arrays.stream(params).anyMatch(s -> "--enable-preview".equals(s));
+            if (hasEnablePreview) {
+                for (int i = 0; i < params.length; i++) {
+                    if ((params[i].equals("-source") || params[i].equals("--source")) && i + 1 < params.length) {
+                        try {
+                            Integer.parseInt(params[i + 1]);
+                            int pos = tag.getValue().indexOf(params[i]);
+                            int start = tag.getValue().indexOf(params[i + 1], pos) + tag.getTagEnd();
+                            int end = start + params[i + 1].length();
+                            ErrorDescription idealED = ErrorDescriptionFactory.forName(ctx, ctx.getPath(), Bundle.ERR_HardcodedSource(), new UseJdkSource(ctx.getInfo(), ctx.getPath(), start, end).toEditorFix());
+
+                            result.add(org.netbeans.spi.editor.hints.ErrorDescriptionFactory.createErrorDescription(idealED.getSeverity(), idealED.getDescription(), idealED.getFixes(), ctx.getInfo().getFileObject(), start, end));
+                        } catch (NumberFormatException ex) {
+                            //OK
+                        }
+                    }
+                }
+            }
+        }
+        return result;
+    }
+
+    private static final class UseJdkSource extends JavaFix {
+
+        private final int start;
+        private final int end;
+
+        public UseJdkSource(CompilationInfo info, TreePath tp, int start, int end) {
+            super(info, tp);
+            this.start = start;
+            this.end = end;
+        }
+
+        @Override
+        @Messages("FIX_UseJdkVersion=Use ${jdk.version}")
+        protected String getText() {
+            return Bundle.FIX_AddRefOutput();
+        }
+
+        @Override
+        protected void performRewrite(TransformationContext ctx) throws IOException {
+            ctx.getWorkingCopy().rewriteInComment(start, end - start, "${jdk.version}");
+        }
+    }
+
+}
diff --git a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/ClassPathProviderImpl.java b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/ClassPathProviderImpl.java
index 2c6a943..c233277 100644
--- a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/ClassPathProviderImpl.java
+++ b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/project/ClassPathProviderImpl.java
@@ -29,6 +29,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.jar.JarEntry;
 import java.util.jar.JarOutputStream;
 import java.util.logging.Level;
@@ -40,6 +41,11 @@
 import org.netbeans.api.java.classpath.ClassPath;
 import org.netbeans.api.java.classpath.GlobalPathRegistry;
 import org.netbeans.api.java.classpath.JavaClassPathConstants;
+import org.netbeans.api.java.platform.JavaPlatform;
+import org.netbeans.api.java.source.ClasspathInfo;
+import org.netbeans.api.java.source.CompilationController;
+import org.netbeans.api.java.source.JavaSource;
+import org.netbeans.api.java.source.Task;
 import org.netbeans.api.project.libraries.Library;
 import org.netbeans.api.project.libraries.LibraryManager;
 import org.netbeans.modules.java.openjdk.project.JDKProject.Root;
@@ -70,6 +76,7 @@
         "${outputRoot}/corba/dist/lib/classes.jar",
     };
     
+    private final AtomicBoolean initialScanDone = new AtomicBoolean();
     private final ClassPath bootCP;
     private final ClassPath moduleBootCP;
     private final ClassPath compileCP;
@@ -214,8 +221,12 @@
         } else {
             if (file.isFolder()) return null;
 
-            if (ClassPath.BOOT.equals(type)) {
-                return ClassPath.EMPTY;
+            if (ClassPath.BOOT.equals(type) || JavaClassPathConstants.MODULE_BOOT_PATH.equals(type)) {
+                if (initialScanDone.get()) {
+                    return ClassPath.EMPTY;
+                } else {
+                    return null;
+                }
             } else if (ClassPath.COMPILE.equals(type) ||
                        JavaClassPathConstants.MODULE_COMPILE_PATH.equals(type) ||
                        JavaClassPathConstants.MODULE_CLASS_PATH.equals(type)) {
@@ -241,6 +252,13 @@
         if (REGISTER_TESTS_AS_JAVA)
             GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[] {testsRegCP});
         GlobalPathRegistry.getDefault().register(TEST_SOURCE, new ClassPath[] {testsRegCP});
+        try {
+            JavaSource.create(ClasspathInfo.create(ClassPath.EMPTY, testsCompileCP, ClassPath.EMPTY))
+                      .runWhenScanFinished(cc -> initialScanDone.set(true), true);
+        } catch (IOException ex) {
+            Logger.getLogger(ClassPathProviderImpl.class.getName())
+                  .log(Level.FINE, null, ex);
+        }
     }
     
     public void unregisterClassPaths() {
diff --git a/java/java.openjdk.project/test/unit/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersionTest.java b/java/java.openjdk.project/test/unit/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersionTest.java
new file mode 100644
index 0000000..bebd52d
--- /dev/null
+++ b/java/java.openjdk.project/test/unit/src/org/netbeans/modules/java/openjdk/jtreg/WrongSourceVersionTest.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.java.openjdk.jtreg;
+
+import java.util.List;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.netbeans.modules.java.hints.test.api.HintTest;
+import org.netbeans.spi.editor.hints.ErrorDescription;
+import org.netbeans.spi.java.hints.HintContext;
+
+/**
+ *
+ * @author jlahoda
+ */
+public class WrongSourceVersionTest {
+    
+    public WrongSourceVersionTest() {
+    }
+    
+    @Test
+    public void testNoRefOutput() throws Exception {
+        HintTest.create()
+                .input("/*@test\n" +
+                       " *@compile --enable-preview -source 14 Test.java\n" +
+                       " */\n" +
+                       "class Test {\n" +
+                       "}\n")
+                .run(WrongSourceVersion.class)
+                .findWarning("1:36-1:38:verifier:" + Bundle.ERR_HardcodedSource())
+                .applyFix()
+                .assertVerbatimOutput("/*@test\n" +
+                                      " *@compile --enable-preview -source ${jdk.version} Test.java\n" +
+                                      " */\n" +
+                                      "class Test {\n" +
+                                      "}\n");
+    }
+}
diff --git a/java/java.project.ui/src/org/netbeans/modules/java/project/ui/JavaTargetChooserPanel.java b/java/java.project.ui/src/org/netbeans/modules/java/project/ui/JavaTargetChooserPanel.java
index 9ccf5f2..8606c08 100644
--- a/java/java.project.ui/src/org/netbeans/modules/java/project/ui/JavaTargetChooserPanel.java
+++ b/java/java.project.ui/src/org/netbeans/modules/java/project/ui/JavaTargetChooserPanel.java
@@ -219,9 +219,9 @@
 
     private void fireChange() {
         ChangeEvent e = new ChangeEvent(this);
-        Iterator it = listeners.iterator();
+        Iterator<ChangeListener> it = listeners.iterator();
         while (it.hasNext()) {
-            ((ChangeListener)it.next()).stateChanged(e);
+            it.next().stateChanged(e);
         }
     }
 
diff --git a/java/java.source.base/apichanges.xml b/java/java.source.base/apichanges.xml
index bc3d971..29772fc 100644
--- a/java/java.source.base/apichanges.xml
+++ b/java/java.source.base/apichanges.xml
@@ -25,6 +25,30 @@
     <apidef name="javasource_base">Java Source API</apidef>
 </apidefs>
 <changes>
+    <change id="SourceUtils.forceSource">
+        <api name="javasource_base" />
+        <summary>Adding SourceUtils.forceSource(CompilationController, FileObject)</summary>
+        <version major="1" minor="2.46"/>
+        <date day="9" month="3" year="2020"/>
+        <author login="jlahoda"/>
+        <compatibility addition="yes" binary="compatible" source="compatible"/>
+        <description>
+                Adding SourceUtils.forceSource(CompilationController, FileObject).
+        </description>
+        <class name="SourceUtils" package="org.netbeans.api.java.source"/>
+    </change>
+    <change id="CodeStyle.parensAroundSingularLambdaParam">
+        <api name="javasource_base" />
+        <summary>CodeStyle.parensAroundSingularLambdaParam() added</summary>
+        <version major="1" minor="2.45"/>
+        <date day="8" month="2" year="2020"/>
+        <author login="jlahoda"/>
+        <compatibility addition="yes" binary="compatible" source="compatible"/>
+        <description>
+                Method CodeStyle.parensAroundSingularLambdaParam() has been added.
+        </description>
+        <class name="CodeStyle" package="org.netbeans.api.java.source"/>
+    </change>
     <change id="TreeMaker.SwitchExpression">
         <api name="javasource_base" />
         <summary>Creates a new SwitchExpressionTree</summary>
diff --git a/java/java.source.base/nbproject/project.properties b/java/java.source.base/nbproject/project.properties
index 01076bd..e5227c6 100644
--- a/java/java.source.base/nbproject/project.properties
+++ b/java/java.source.base/nbproject/project.properties
@@ -23,7 +23,7 @@
 javadoc.title=Java Source Base
 javadoc.arch=${basedir}/arch.xml
 javadoc.apichanges=${basedir}/apichanges.xml
-spec.version.base=2.45.0
+spec.version.base=2.46.0
 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar
 test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\
     ${o.n.core.dir}/lib/boot.jar:\
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
index c1ec326..8b8cb47 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ClassIndex.java
@@ -859,7 +859,8 @@
                         case CLASS:
                             result.add(ClassIndexImpl.UsageType.SUPER_CLASS);
                             break;
-                        case ENUM:	//enum is final
+                        case ENUM:
+                            result.add(ClassIndexImpl.UsageType.SUPER_CLASS);
                             break;
                         case OTHER:
                         case PACKAGE:
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
index 7414c0c..4fc0a26 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CodeStyle.java
@@ -944,6 +944,13 @@
         return preferences.getBoolean(spaceWithinLambdaParens, getDefaultAsBoolean(spaceWithinLambdaParens));
     }
 
+    /**
+     * @since 2.45
+     */
+    public boolean parensAroundSingularLambdaParam() {
+        return preferences.getBoolean(parensAroundSingularLambdaParam, getDefaultAsBoolean(parensAroundSingularLambdaParam));
+    }
+
     public boolean spaceWithinMethodCallParens() {
         return preferences.getBoolean(spaceWithinMethodCallParens, getDefaultAsBoolean(spaceWithinMethodCallParens));
     }
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java b/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
index 5daad1d..bbf33b1 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/CompilationController.java
@@ -21,12 +21,15 @@
 
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullUnknown;
 import org.netbeans.modules.java.source.parsing.CompilationInfoImpl;
 import org.netbeans.modules.java.source.parsing.JavacParser;
 import org.netbeans.modules.java.source.parsing.JavacParserResult;
 import org.netbeans.modules.parsing.spi.Parser;
+import org.openide.filesystems.FileObject;
 import org.openide.util.Parameters;
 
 /** Class for explicit invocation of compilation phases on a java source.
@@ -39,7 +42,8 @@
  */
 public class CompilationController extends CompilationInfo {
     
-    
+    private final List<FileObject> forcedSources = new ArrayList<>();
+
     CompilationController(final CompilationInfoImpl impl) {        
         super(impl);
 
@@ -81,9 +85,9 @@
      * @throws IOException when the file cannot be red
      */    
     public @NonNull JavaSource.Phase toPhase(@NonNull JavaSource.Phase phase ) throws IOException {
-        return impl.toPhase (phase);
+        return impl.toPhase (phase, forcedSources);
     }
-    
+
     /**
      * Marks this {@link CompilationInfo} as invalid, may be used to
      * verify confinement.
@@ -97,4 +101,9 @@
             parser.resultFinished (false);
         }
     }
+
+    void addForceSource(FileObject file) {
+        forcedSources.add(file);
+    }
+
 }
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java b/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
index 3159f29..4360a96 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/ModificationResult.java
@@ -400,11 +400,14 @@
                 // first insert the new content, THEN remove the old one. In situations where the content AFTER the
                 // change is not writable this ordering allows to replace the content, but if we first delete, 
                 // replacement cannot be inserted into the nonwritable area.
-                int delta = diff.getNewText().length();
                 int offs = diff.getStartPosition().getOffset();
                 int removeLen = diff.getEndPosition().getOffset() - offs;
                 
+                // [NETBEANS-4270] Can't use "delta = diff.getNewText().length()".
+                // doc.insertString may filter chars, e.g. '\r', and change length.
+                int initialLength = doc.getLength();
                 doc.insertString(offs, diff.getNewText(), null);
+                int delta = doc.getLength() - initialLength;
                 doc.remove(delta + offs, removeLen);
                 break;
             }
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
index 0c60bdd..b01ab6c 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java
@@ -1366,4 +1366,21 @@
     public static Object getDiagnosticParam(Diagnostic<?> d, int index) {
         return Hacks.getDiagnosticParam(d, index);
     }
+
+    /**
+     * Ensure that the given file is parsed from source, in the context of the
+     * provided parser instance.
+     *
+     * Please note this only has an effect before invoking {@link CompilationController#toPhase(org.netbeans.api.java.source.JavaSource.Phase) }.
+     *
+     * @param cc the parser instance that should be augmented
+     * @param file the input source file
+     * @since 2.46
+     */
+    public static void forceSource(CompilationController cc, FileObject file) {
+        if (cc.getPhase() != Phase.MODIFIED) {
+            throw new IllegalStateException("Must invoke before running toPhase!");
+        }
+        cc.addForceSource(file);
+    }
 }
diff --git a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
index 385a83e..f54b187 100644
--- a/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
+++ b/java/java.source.base/src/org/netbeans/api/java/source/TreeUtilities.java
@@ -886,7 +886,7 @@
             Env<AttrContext> env = getEnv(scope);
             if (tree instanceof JCExpression)
                 return attr.attribExpr((JCTree) tree,env, Type.noType);
-            if (env.tree != null && env.tree.getKind() == Kind.VARIABLE) {
+            if (env.tree != null && env.tree.getKind() == Kind.VARIABLE && !VARIABLE_CAN_OWN_VARIABLES) {
                 env = env.next;
             }
             return attr.attribStat((JCTree) tree,env);
@@ -899,6 +899,18 @@
         }
     }
 
+    private static boolean VARIABLE_CAN_OWN_VARIABLES;
+    static {
+        boolean result;
+        try {
+            SourceVersion.valueOf("RELEASE_12");
+            result = true;
+        } catch (IllegalArgumentException ex) {
+            result = false;
+        }
+        VARIABLE_CAN_OWN_VARIABLES = result;
+    }
+
     private static Scope attributeTreeTo(JavacTaskImpl jti, Tree tree, Scope scope, Tree to, final List<Diagnostic<? extends JavaFileObject>> errors) {
         Log log = Log.instance(jti.getContext());
         JavaFileObject prev = log.useSource(new DummyJFO());
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
index 70153c0..6506ebd 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
@@ -22,6 +22,7 @@
 import com.sun.source.tree.ClassTree;
 import com.sun.source.tree.CompilationUnitTree;
 import com.sun.source.tree.MethodTree;
+import com.sun.source.tree.NewClassTree;
 import com.sun.source.tree.PackageTree;
 import com.sun.source.tree.Tree;
 import com.sun.source.tree.VariableTree;
@@ -51,7 +52,9 @@
 import com.sun.tools.javac.comp.Modules;
 import com.sun.tools.javac.main.JavaCompiler;
 import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCBlock;
 import com.sun.tools.javac.tree.JCTree.JCClassDecl;
+import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
 import com.sun.tools.javac.tree.JCTree.JCExpression;
 import com.sun.tools.javac.tree.JCTree.JCModuleDecl;
 import com.sun.tools.javac.tree.JCTree.JCNewClass;
@@ -489,39 +492,44 @@
         }
     }
 
+    public static class HandledUnits {
+        public final List<CompilationUnitTree> handled = new ArrayList<>();
+    }
+
     private void dropMethodsAndErrors(com.sun.tools.javac.util.Context ctx, CompilationUnitTree cut) {
+        HandledUnits hu = ctx.get(HandledUnits.class);
+        if (hu == null) {
+            ctx.put(HandledUnits.class, hu = new HandledUnits());
+        }
+        if (hu.handled.contains(cut)) {
+            //already seen
+            return ;
+        }
+        hu.handled.add(cut);
         Symtab syms = Symtab.instance(ctx);
         Names names = Names.instance(ctx);
         Types types = Types.instance(ctx);
         TreeMaker make = TreeMaker.instance(ctx);
         //TODO: should preserve error types!!!
         new TreePathScanner<Void, Void>() {
+            private List<JCNewClass> anonymousClasses = new ArrayList<>();
             @Override
             public Void visitVariable(VariableTree node, Void p) {
                 JCTree.JCVariableDecl decl = (JCTree.JCVariableDecl) node;
+                super.visitVariable(node, p);
                 if ((decl.mods.flags & Flags.ENUM) == 0) {
                     decl.init = null;
-                } else {
-                    MethodSymbol constructor = (MethodSymbol) decl.type.tsym.members().findFirst(names.init);
-                    ListBuffer<JCExpression> args = new ListBuffer<>();
-                    for (VarSymbol param : constructor.params) {
-                        args.add(make.TypeCast(param.type, make.Literal(TypeTag.BOT, null).setType(syms.botType)));
-                    }
-                    JCNewClass nct = (JCNewClass) decl.init;
-                    nct.args = args.toList();
-                    nct.constructor = constructor;
-                    nct.constructorType = constructor.type;
-                    nct.def = null;
                 }
                 decl.sym.type = decl.type = error2Object(decl.type);
                 clearAnnotations(decl.sym.getMetadata());
-                return super.visitVariable(node, p);
+                return null;
             }
 
             @Override
             public Void visitMethod(MethodTree node, Void p) {
                 JCTree.JCMethodDecl decl = (JCTree.JCMethodDecl) node;
                 Symbol.MethodSymbol msym = decl.sym;
+                super.visitMethod(node, p);
                 if (Collections.disjoint(msym.getModifiers(), EnumSet.of(Modifier.NATIVE, Modifier.ABSTRACT))) {
                     JCTree.JCNewClass nct =
                             make.NewClass(null,
@@ -552,7 +560,7 @@
                 if (decl.sym.defaultValue != null && isAnnotationErroneous(decl.sym.defaultValue)) {
                     decl.sym.defaultValue = null;
                 }
-                return super.visitMethod(node, p);
+                return null;
             }
 
             private void clearMethodType(Type.MethodType mt) {
@@ -563,6 +571,9 @@
 
             @Override
             public Void visitClass(ClassTree node, Void p) {
+                List<JCNewClass> oldAnonymousClasses = anonymousClasses;
+                try {
+                    anonymousClasses = new ArrayList<>();
                 JCClassDecl clazz = (JCTree.JCClassDecl) node;
                 Symbol.ClassSymbol csym = clazz.sym;
                 if (isErroneousClass(csym)) {
@@ -597,9 +608,32 @@
                     }
                 }
                 super.visitClass(node, p);
+                clazz.defs = clazz.defs.prepend(make.Block(0, anonymousClasses.stream().map(nc -> make.Exec(nc)).collect(com.sun.tools.javac.util.List.collector())));
+                } finally {
+                    anonymousClasses = oldAnonymousClasses;
+                }
                 return null;
             }
 
+            @Override
+            public Void visitNewClass(NewClassTree node, Void p) {
+                //TODO: fix constructors:
+                JCNewClass nc = (JCNewClass) node;
+                if (node.getClassBody() != null && !nc.clazz.type.hasTag(TypeTag.ERROR)) {
+                    MethodSymbol constructor = (MethodSymbol) nc.constructor;
+                    ListBuffer<JCExpression> args = new ListBuffer<>();
+                    for (VarSymbol param : constructor.params) {
+                        args.add(make.TypeCast(param.type, make.Literal(TypeTag.BOT, null).setType(syms.botType)));
+                    }
+                    nc.args = args.toList();
+                    anonymousClasses.add(nc);
+                }
+//                    nct.constructor = constructor;
+//                    nct.constructorType = constructor.type;
+//                    nct.def = null;
+                return super.visitNewClass(node, p);
+            }
+
             private void clearAnnotations(SymbolMetadata metadata) {
                 if (metadata == null)
                     return;
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingFileManager.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingFileManager.java
index 294be61..eb64f36 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingFileManager.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CachingFileManager.java
@@ -247,6 +247,8 @@
                 Archive archive = provider.getArchive( entry.getURL(), cacheFile );
                 if (archive != null) {
                     final Iterable<JavaFileObject> entries;
+                    // multi-release code here duplicated in ModuleFileManager
+                    // fixes should be ported across, or ideally this logic abstracted
                     if (supportsMultiRelease && archive.isMultiRelease()) {
                         if (prefixes == null) {
                             prefixes = multiReleaseRelocations();
@@ -267,11 +269,12 @@
                                 }
                                 final String fqn = inferBinaryName(l, fo);
                                 final String pkg = FileObjects.getPackageAndName(fqn)[0];
+                                final String name = pkg + "/" + FileObjects.getName(fo, false);
                                 if (base) {
                                     seenPackages.add(pkg);
-                                    fqn2f.put(fqn, fo);
+                                    fqn2f.put(name, fo);
                                 } else if (seenPackages.contains(pkg)) {
-                                    fqn2f.put(fqn, fo);
+                                    fqn2f.put(name, fo);
                                 }
                             }
                         }
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
index 93ef66d..fe95c1f 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/CompilationInfoImpl.java
@@ -31,6 +31,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -346,6 +347,24 @@
      * @throws IOException when the file cannot be red
      */    
     public JavaSource.Phase toPhase(JavaSource.Phase phase ) throws IOException {
+        return toPhase(phase, Collections.emptyList());
+    }
+
+    /**
+     * Moves the state to required phase. If given state was already reached 
+     * the state is not changed. The method will throw exception if a state is 
+     * illegal required. Acceptable parameters for thid method are <BR>
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.PARSED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.ELEMENTS_RESOLVED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.RESOLVED}
+     * <LI>{@link org.netbeans.api.java.source.JavaSource.Phase.UP_TO_DATE}   
+     * @param phase The required phase
+     * @return the reached state
+     * @throws IllegalArgumentException in case that given state can not be 
+     *         reached using this method
+     * @throws IOException when the file cannot be red
+     */    
+    public JavaSource.Phase toPhase(JavaSource.Phase phase, List<FileObject> forcedSources ) throws IOException {
         if (phase == JavaSource.Phase.MODIFIED) {
             throw new IllegalArgumentException( "Invalid phase: " + phase );    //NOI18N
         }
@@ -358,7 +377,7 @@
             }
             return phase;
         } else {
-            JavaSource.Phase currentPhase = parser.moveToPhase(phase, this, false);
+            JavaSource.Phase currentPhase = parser.moveToPhase(phase, this, forcedSources, false);
             return currentPhase.compareTo (phase) < 0 ? currentPhase : phase;
         }
     }
@@ -369,14 +388,34 @@
      * @return JavacTaskImpl
      */
     public synchronized JavacTaskImpl getJavacTask() {
+        return getJavacTask(Collections.emptyList());
+    }
+
+    /**
+     * Returns {@link JavacTaskImpl}, when it doesn't exist
+     * it's created.
+     * @return JavacTaskImpl
+     */
+    public synchronized JavacTaskImpl getJavacTask(List<FileObject> forcedSources) {
         if (javacTask == null) {
+            List<JavaFileObject> jfos = new ArrayList<>();
+            if (jfo != null) {
+                jfos.add(jfo);
+                forcedSources.stream()
+                             .map(fo -> FileObjects.sourceFileObject(fo, root)) //TODO: filter?
+                             .forEach(jfos::add);
+            }
             diagnosticListener = new DiagnosticListenerImpl(this.root, this.jfo, this.cpInfo);
-            javacTask = JavacParser.createJavacTask(this.file, this.jfo, this.root, this.cpInfo,
+            javacTask = JavacParser.createJavacTask(this.file, jfos, this.root, this.cpInfo,
                     this.parser, diagnosticListener, isDetached);
         }
 	return javacTask;
     }
 
+    List<FileObject> getForcedSources() {
+        return Collections.emptyList();
+    }
+
     public Object getCachedValue(Object key) {
         for (Map<Object, Object> c : userCache.values()) {
             Object res = c.get(key);
@@ -448,7 +487,15 @@
     private boolean hasSource () {
         return this.jfo != null && !isClassFile;
     }
-    
+
+    List<JavaFileObject> parsedFiles;
+    void setParsedFiles(List<JavaFileObject> parsedFiles) {
+        this.parsedFiles = parsedFiles;
+    }
+
+    List<JavaFileObject> getParsedFiles() {
+        return parsedFiles;
+    }
     
     // Innerclasses ------------------------------------------------------------
     @Trusted
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
index 71ca855..ca0f9bd 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/JavacParser.java
@@ -21,7 +21,10 @@
 
 import com.sun.source.tree.CompilationUnitTree;
 import com.sun.source.tree.MethodTree;
+import com.sun.source.tree.Tree;
 import com.sun.source.util.JavacTask;
+import com.sun.source.util.TreePath;
+import com.sun.source.util.TreePathScanner;
 import com.sun.source.util.Trees;
 import com.sun.tools.javac.api.JavacTaskImpl;
 import com.sun.tools.javac.api.JavacTool;
@@ -58,6 +61,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -73,6 +77,7 @@
 import javax.swing.event.ChangeEvent;
 import  javax.swing.event.ChangeListener;
 import javax.swing.text.Document;
+import javax.tools.Diagnostic;
 import javax.tools.DiagnosticListener;
 import javax.tools.JavaFileObject;
 import javax.tools.JavaFileObject.Kind;
@@ -153,6 +158,7 @@
     //Command line switch disabling partial reparse
     private static final boolean DISABLE_PARTIAL_REPARSE = Boolean.getBoolean("org.netbeans.modules.java.source.parsing.JavacParser.no_reparse");   //NOI18N
     private static final boolean DISABLE_PARAMETER_NAMES_READING = Boolean.getBoolean("org.netbeans.modules.java.source.parsing.JavacParser.no_parameter_names");   //NOI18N
+    private static final boolean VERIFY_PARTIAL_REPARSE = Boolean.getBoolean("org.netbeans.modules.java.source.parsing.JavacParser.verify_partial_reparse");   //NOI18N
     public static final String LOMBOK_DETECTED = "lombokDetected";
 
     /**
@@ -411,6 +417,9 @@
                         positions.clear();
                         ciImpl = createCurrentInfo (this, file, root, snapshot, null, null);
                         LOGGER.fine("\t:created new javac");                                    //NOI18N
+                    } else if (VERIFY_PARTIAL_REPARSE) {
+                        CompilationInfoImpl verifyInfo = new CompilationInfoImpl(this, file, root, null, null, snapshot, true);
+                        verifyCompilationInfos(ciImpl, verifyInfo);
                     }
                     break;
                 default:
@@ -485,7 +494,7 @@
                 cancelService.mayCancel.set(true);
             }
             try {
-                reachedPhase = moveToPhase(requiredPhase, ciImpl, true);
+                reachedPhase = moveToPhase(requiredPhase, ciImpl, Collections.emptyList(), true);
             } catch (IOException ioe) {
                 throw new ParseException ("JavacParser failure", ioe);      //NOI18N
             } finally {
@@ -568,7 +577,7 @@
      * @return the reached phase
      * @throws IOException when the javac throws an exception
      */
-    Phase moveToPhase (final Phase phase, final CompilationInfoImpl currentInfo,
+    Phase moveToPhase (final Phase phase, final CompilationInfoImpl currentInfo, List<FileObject> forcedSources,
             final boolean cancellable) throws IOException {
         JavaSource.Phase parserError = currentInfo.parserCrashed;
         assert parserError != null;
@@ -586,7 +595,7 @@
                 if (sequentialParsing != null) {
                     trees = sequentialParsing.parse(currentInfo.getJavacTask(), currentInfo.jfo);
                 } else {
-                    trees = currentInfo.getJavacTask().parse();
+                    trees = currentInfo.getJavacTask(forcedSources).parse();
                 }
                 if (trees == null) {
                     LOGGER.log( Level.INFO, "Did not parse anything for: {0}", currentInfo.jfo.toUri()); //NOI18N
@@ -599,7 +608,12 @@
                 }
                 CompilationUnitTree unit = it.next();
                 currentInfo.setCompilationUnit(unit);
-                assert !it.hasNext();
+                List<JavaFileObject> parsedFiles = new ArrayList<>();
+                parsedFiles.add(unit.getSourceFile());
+                while (it.hasNext()) {
+                    parsedFiles.add(it.next().getSourceFile());
+                }
+                currentInfo.setParsedFiles(parsedFiles);
                 final Document doc = currentInfo.getDocument();
                 if (doc != null && supportsReparse) {
                     final FindMethodRegionsVisitor v = new FindMethodRegionsVisitor(doc,Trees.instance(currentInfo.getJavacTask()).getSourcePositions(),this.parserCanceled, unit);
@@ -674,7 +688,7 @@
                 JavaCompiler compiler = JavaCompiler.instance(jti.getContext());
                 List<Env<AttrContext>> savedTodo = new ArrayList<>(compiler.todo);
                 try {
-                    compiler.todo.retainFiles(Collections.singletonList(currentInfo.jfo));
+                    compiler.todo.retainFiles(currentInfo.getParsedFiles());
                     savedTodo.removeAll(compiler.todo);
                     PostFlowAnalysis.analyze(jti.analyze(), jti.getContext());
                 } finally {
@@ -695,9 +709,14 @@
         } catch (Abort abort) {
             parserError = currentPhase;
         } catch (RuntimeException | Error ex) {
-            parserError = currentPhase;
-            dumpSource(currentInfo, ex);
-            throw ex;
+            if (cancellable && parserCanceled.get()) {
+                currentPhase = Phase.MODIFIED;
+                invalidate(false);
+            } else {
+                parserError = currentPhase;
+                dumpSource(currentInfo, ex);
+                throw ex;
+            }
         } finally {
             currentInfo.setPhase(currentPhase);
             currentInfo.parserCrashed = parserError;
@@ -721,7 +740,7 @@
 
     static JavacTaskImpl createJavacTask(
             final FileObject file,
-            final JavaFileObject jfo,
+            final List<JavaFileObject> jfos,
             final FileObject root,
             final ClasspathInfo cpInfo,
             final JavacParser parser,
@@ -789,7 +808,7 @@
                     APTUtils.get(root),
                     compilerOptions,
                     additionalModules,
-                    jfo != null ? Arrays.asList(jfo) : Collections.emptyList());
+                    jfos);
             Lookup.getDefault()
                   .lookupAll(TreeLoaderRegistry.class)
                   .stream()
@@ -823,6 +842,66 @@
                 files);
     }
 
+    private void verifyCompilationInfos(CompilationInfoImpl reparsed, CompilationInfoImpl verifyInfo) throws IOException {
+        String failInfo = "";
+        //move to phase, and verify
+        if (verifyInfo.toPhase(reparsed.getPhase()) != reparsed.getPhase()) {
+            failInfo += "Expected phase: " + reparsed.getPhase() + ", actual phase: " + verifyInfo.getPhase();
+        }
+        //verify diagnostics:
+        Set<String> reparsedDiags = (Set<String>) reparsed.getDiagnostics().stream().map(this::diagnosticToString).collect(Collectors.toSet());
+        Set<String> verifyDiags = (Set<String>) verifyInfo.getDiagnostics().stream().map(this::diagnosticToString).collect(Collectors.toSet());
+        System.err.println("reparsedDiags=" + reparsedDiags);
+        System.err.println("verifyDiags=" + verifyDiags);
+        if (!Objects.equals(reparsedDiags, verifyDiags)) {
+            failInfo += "Expected diags: " + reparsedDiags + ", actual diags: " + verifyDiags;
+        }
+        String reparsedTree = treeToString(reparsed, reparsed.getCompilationUnit());
+        String verifyTree = treeToString(verifyInfo, verifyInfo.getCompilationUnit());
+        System.err.println("reparsedTree=" + reparsedTree);
+        System.err.println("verifyTree=" + verifyTree);
+        if (!Objects.equals(reparsedTree, verifyTree)) {
+            failInfo += "Expected tree: " + reparsedTree + ", actual tree: " + verifyTree;
+        }
+        if (!failInfo.isEmpty()) {
+            throw new IllegalStateException("Partial reparse didn't work properly; original text: " + ciImpl.getText() + ", new text: " + verifyInfo.getText() + "; failInfo=" + failInfo);
+        }
+    }
+
+    private String diagnosticToString(Diagnostic<JavaFileObject> d) {
+        return d.getSource().toUri().toString() + ":" +
+               d.getKind() + ":" +
+               d.getStartPosition() + ":" +
+               d.getPosition() + ":" +
+               d.getEndPosition() + ":" +
+               d.getLineNumber() + ":" +
+               d.getColumnNumber() + ":" +
+               d.getCode() + ":" +
+               d.getMessage(null);
+    }
+
+    private String treeToString(CompilationInfoImpl info, CompilationUnitTree cut) {
+        StringBuilder dump = new StringBuilder();
+        new TreePathScanner<Void, Void>() {
+            @Override
+            public Void scan(Tree tree, Void p) {
+                if (tree == null) {
+                    dump.append("null,");
+                } else {
+                    TreePath tp = new TreePath(getCurrentPath(), tree);
+                    dump.append(tree.getKind()).append(":");
+                    dump.append(Trees.instance(info.getJavacTask()).getSourcePositions().getStartPosition(tp.getCompilationUnit(), tree)).append(":");
+                    dump.append(Trees.instance(info.getJavacTask()).getSourcePositions().getEndPosition(tp.getCompilationUnit(), tree)).append(":");
+                    dump.append(String.valueOf(Trees.instance(info.getJavacTask()).getElement(tp))).append(":");
+                    dump.append(String.valueOf(Trees.instance(info.getJavacTask()).getTypeMirror(tp))).append(":");
+                    dump.append(",");
+                }
+                return super.scan(tree, p);
+            }
+        }.scan(cut, null);
+        return dump.toString();
+    }
+
     private static enum ConfigFlags {
         BACKGROUND_COMPILATION,
         MULTI_SOURCE,
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ModuleFileManager.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ModuleFileManager.java
index 914face..dea019c 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ModuleFileManager.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ModuleFileManager.java
@@ -100,6 +100,8 @@
                 final Archive archive = cap.getArchive(root, cacheFile);
                 if (archive != null) {
                     final Iterable<JavaFileObject> entries;
+                    // multi-release code here duplicated in CachingFileManager
+                    // fixes should be ported across, or ideally this logic abstracted
                     if (supportsMultiRelease && archive.isMultiRelease()) {
                         if (prefixes == null) {
                             prefixes = multiReleaseRelocations();
@@ -120,11 +122,12 @@
                                 }
                                 final String fqn = inferBinaryName(l, fo);
                                 final String pkg = FileObjects.getPackageAndName(fqn)[0];
+                                final String name = pkg + "/" + FileObjects.getName(fo, false);
                                 if (base) {
                                     seenPackages.add(pkg);
-                                    fqn2f.put(fqn, fo);
+                                    fqn2f.put(name, fo);
                                 } else if (seenPackages.contains(pkg)) {
-                                    fqn2f.put(fqn, fo);
+                                    fqn2f.put(name, fo);
                                 }
                             }
                         }
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
index 9839a43..efaf35c 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/ParameterNameProviderImpl.java
@@ -79,6 +79,7 @@
  */
 public class ParameterNameProviderImpl {
     public static boolean DISABLE_ARTIFICAL_PARAMETER_NAMES;
+    public static boolean DISABLE_PARAMETER_NAMES_LOADING;
 
     public static void register(JavacTask task, ClasspathInfo cpInfo) {
         try {
@@ -116,6 +117,10 @@
     }
 
     public CharSequence getParameterName(VariableElement parameter) {
+        if (DISABLE_PARAMETER_NAMES_LOADING) {
+            return null;
+        }
+
         Element method = parameter.getEnclosingElement();
         String methodKey = computeKey(method);
         List<String> names = null;
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/VanillaPartialReparser.java b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/VanillaPartialReparser.java
index 0cb2fd1..e685b96 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/parsing/VanillaPartialReparser.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/parsing/VanillaPartialReparser.java
@@ -88,7 +88,6 @@
     private final Field lazyDocCommentsTable;
     private final Field parserDocComments;
     private final Method lineMapBuild;
-    private final Method typeEnterSuperCall;
     private final boolean allowPartialReparse;
 
     public VanillaPartialReparser() {
@@ -124,17 +123,8 @@
             lineMapBuild = null;
         }
         this.lineMapBuild = lineMapBuild;
-        Method typeEnterSuperCall;
-        try {
-            typeEnterSuperCall = TypeEnter.class.getDeclaredMethod("SuperCall", TreeMaker.class, com.sun.tools.javac.util.List.class, com.sun.tools.javac.util.List.class, boolean.class);
-            typeEnterSuperCall.setAccessible(true);
-        } catch (NoSuchMethodException ex) {
-            typeEnterSuperCall = null;
-        }
-        this.typeEnterSuperCall = typeEnterSuperCall;
         allowPartialReparse = unenter != null && lazyDocCommentsTable != null &&
                               parserDocComments != null && lineMapBuild != null &&
-                              typeEnterSuperCall != null &&
                               Boolean.getBoolean("java.enable.partial.reparse");
     }
 
@@ -401,10 +391,7 @@
             JCTree.JCBlock body = tree.body;
             if (body.stats.isEmpty() || !TreeInfo.isSelfCall(body.stats.head)) {
                 body.stats = body.stats.
-                prepend((JCTree.JCStatement) typeEnterSuperCall.invoke(typeEnter, make.at(body.pos),
-                    com.sun.tools.javac.util.List.<Type>nil(),
-                    com.sun.tools.javac.util.List.<JCTree.JCVariableDecl>nil(),
-                    false));
+                prepend(make.at(body.pos).Exec(make.Apply(com.sun.tools.javac.util.List.nil(), make.Ident(names._super), com.sun.tools.javac.util.List.nil())));
             } else if ((env.enclClass.sym.flags() & Flags.ENUM) != 0 &&
                 (tree.mods.flags & Flags.GENERATEDCONSTR) == 0 &&
                 TreeInfo.isSuperCall(body.stats.head)) {
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java b/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
index 89d147c..9887ecf 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/pretty/VeryPretty.java
@@ -1212,7 +1212,12 @@
 
     @Override
     public void visitLambda(JCLambda tree) {
-        print(cs.spaceWithinLambdaParens() && tree.params.nonEmpty() ? "( " : "(");
+        boolean useParens = cs.parensAroundSingularLambdaParam() ||
+                            tree.params.size() != 1 ||
+                            tree.paramKind != JCLambda.ParameterKind.IMPLICIT;
+        if (useParens) {
+            print(cs.spaceWithinLambdaParens() && tree.params.nonEmpty() ? "( " : "(");
+        }
         boolean oldPrintingMethodParams = printingMethodParams;
         printingMethodParams = true;
         suppressVariableType = tree.paramKind == JCLambda.ParameterKind.IMPLICIT;
@@ -1221,9 +1226,11 @@
                   true);
         suppressVariableType = false;
         printingMethodParams = oldPrintingMethodParams;
-        if (cs.spaceWithinLambdaParens() && tree.params.nonEmpty())
-            needSpace();
-        print(')');
+        if (useParens) {
+            if (cs.spaceWithinLambdaParens() && tree.params.nonEmpty())
+                needSpace();
+            print(')');
+        }
         print(cs.spaceAroundLambdaArrow() ? " ->" : "->");
         if (tree.getBodyKind() == BodyKind.STATEMENT) {
             printBlock(tree.body, cs.getOtherBracePlacement(), cs.spaceAroundLambdaArrow());
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java b/java/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
index 90b8f0a..d9c0c8c 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/save/CasualDiff.java
@@ -2734,7 +2734,7 @@
 
     protected int diffLiteral(JCLiteral oldT, JCLiteral newT, int[] bounds) {
         if (oldT.typetag != newT.typetag
-                || (oldT.value != null && !oldT.value.equals(newT.value)) || (oldT.getKind() == Tree.Kind.STRING_LITERAL && newT.getKind() == Tree.Kind.STRING_LITERAL)) {
+                || (oldT.value != null && !oldT.value.equals(newT.value)) || possibleTextBlock(oldT, newT)) {
             int localPointer = bounds[0];
             // literal
             int[] literalBounds = getBounds(oldT);
@@ -5851,9 +5851,13 @@
     }
 
     private boolean matchLiteral(JCLiteral t1, JCLiteral t2) {
-        return t1.typetag == t2.typetag && (t1.value == t2.value || (t1.value != null && t1.value.equals(t2.value)));
+        return t1.typetag == t2.typetag && (t1.value == t2.value || (t1.value != null && t1.value.equals(t2.value))) && !(possibleTextBlock(t1, t2));
     }
 
+    private boolean possibleTextBlock(JCLiteral t1, JCLiteral t2) {
+        return t1.getKind() == Tree.Kind.STRING_LITERAL && t2.getKind() == Tree.Kind.STRING_LITERAL;
+    }
+    
     private boolean matchTypeApply(JCTypeApply t1, JCTypeApply t2) {
         return treesMatch(t1.clazz, t2.clazz) &&
                listsMatch(t1.arguments, t2.arguments);
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java b/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
index 916ac4f..799e173 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/save/Reformatter.java
@@ -2864,6 +2864,7 @@
             if(statements != null)
             accept(COLON);
             else {
+                space();
                 accept(ARROW);
                 caseBody = TreeShims.getBody(node);
                 if (caseBody instanceof StatementTree)
@@ -3468,8 +3469,6 @@
                             ? getIndent()
                             : after == 2 //after javadoc comment
                             ? getNewlines(1) + getIndent()
-                            : id == ARROW
-                            ? SPACE
                             : null;
                     if (lastWSToken != null) {
                         if (spaces == null || !spaces.contentEquals(lastWSToken.text()))
diff --git a/java/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java b/java/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
index 789fde0..8567bd4 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/ui/FmtOptions.java
@@ -201,6 +201,7 @@
     public static final String spaceWithinParens = "spaceWithinParens"; //NOI18N
     public static final String spaceWithinMethodDeclParens = "spaceWithinMethodDeclParens"; //NOI18N
     public static final String spaceWithinLambdaParens = "spaceWithinLambdaParens"; //NOI18N
+    public static final String parensAroundSingularLambdaParam = "parensAroundSingularLambdaParam"; //NOI18N
     public static final String spaceWithinMethodCallParens = "spaceWithinMethodCallParens"; //NOI18N
     public static final String spaceWithinIfParens = "spaceWithinIfParens"; //NOI18N
     public static final String spaceWithinForParens = "spaceWithinForParens"; //NOI18N
@@ -505,6 +506,7 @@
             { spaceWithinParens, FALSE}, //NOI18N
             { spaceWithinMethodDeclParens, FALSE}, //NOI18N
             { spaceWithinLambdaParens, FALSE}, //NOI18N
+            { parensAroundSingularLambdaParam, FALSE}, //NOI18N
             { spaceWithinMethodCallParens, FALSE}, //NOI18N
             { spaceWithinIfParens, FALSE}, //NOI18N
             { spaceWithinForParens, FALSE}, //NOI18N
diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java
index a2aaebe..6269918 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java
@@ -34,6 +34,7 @@
 import com.sun.source.tree.VariableTree;
 import com.sun.source.util.SourcePositions;
 import com.sun.source.util.TreePath;
+import com.sun.source.util.TreePathScanner;
 import org.netbeans.api.java.source.support.ErrorAwareTreePathScanner;
 import java.io.File;
 import java.io.OutputStreamWriter;
@@ -45,6 +46,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.regex.Pattern;
+import javax.lang.model.SourceVersion;
 import javax.lang.model.element.Element;
 import javax.lang.model.type.TypeMirror;
 import org.netbeans.api.java.classpath.ClassPath;
@@ -643,6 +645,52 @@
         assertEquals("s", el.toString());
     }
 
+    public void testNotUsingLiveScope() throws Exception {
+        try {
+            SourceVersion.valueOf("RELEASE_12");
+        } catch (IllegalArgumentException ex) {
+            //this test cannot pass on JDK <12, as javac there does not allow variables to own other variables
+            return ;
+        }
+        ClassPath boot = ClassPathSupport.createClassPath(SourceUtilsTestUtil.getBootClassPath().toArray(new URL[0]));
+        FileObject testFile = FileUtil.createData(FileUtil.createMemoryFileSystem().getRoot(), "Test.java");
+        try (Writer w = new OutputStreamWriter(testFile.getOutputStream())) {
+            w.append("import java.lang.String;\n" +
+                     "public class Test {\n" +
+                     "    void test(boolean b) {\n" +
+                     "        int i1;\n" +
+                     "        int i2;\n" +
+                     "        int i3;\n" +
+                     "        int i4;\n" +
+                     "        int i5;\n" +
+                     "        int i6;\n" +
+                     "        int scopeHere = 0;\n" +
+                     "    }\n" +
+                     "}\n");
+        }
+        JavaSource js = JavaSource.create(ClasspathInfo.create(boot, ClassPath.EMPTY, ClassPath.EMPTY), testFile);
+        js.runUserActionTask(new Task<CompilationController>() {
+            @Override
+            public void run(CompilationController parameter) throws Exception {
+                parameter.toPhase(Phase.RESOLVED);
+                TreePath[] path = new TreePath[1];
+                new TreePathScanner<Void, Void>() {
+                    @Override
+                    public Void visitVariable(VariableTree node, Void p) {
+                        if (node.getName().contentEquals("scopeHere")) {
+                            path[0] = new TreePath(getCurrentPath(), node.getInitializer());
+                        }
+                        return super.visitVariable(node, p);
+                    }
+                }.scan(parameter.getCompilationUnit(), null);
+                Scope scope = parameter.getTrees().getScope(path[0]);
+                StatementTree st = parameter.getTreeUtilities().parseStatement("{ String t; }", new SourcePositions[1]);
+                assertEquals(Kind.BLOCK, st.getKind());
+                parameter.getTreeUtilities().attributeTree(st, scope);
+            }
+        }, true);
+    }
+
     public void testIsEndOfCompoundVariableDeclaration() throws Exception {
         prepareTest("Test", "package test; public class Test {public Test(){int i = 10, j = 11;}}");
         TreePath tp = info.getTreeUtilities().pathFor(47);
diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/LambdaTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/LambdaTest.java
index d07ac73..190137f 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/LambdaTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/gen/LambdaTest.java
@@ -21,6 +21,7 @@
 import com.sun.source.tree.BlockTree;
 import com.sun.source.tree.ClassTree;
 import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.ExpressionStatementTree;
 import com.sun.source.tree.ExpressionTree;
 import com.sun.source.tree.LambdaExpressionTree;
 import com.sun.source.tree.LiteralTree;
@@ -40,7 +41,11 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.EnumSet;
+import java.util.prefs.Preferences;
 import javax.lang.model.element.Modifier;
+import org.netbeans.api.editor.mimelookup.MimeLookup;
+import org.netbeans.api.java.lexer.JavaTokenId;
+import org.netbeans.api.java.source.CodeStyle;
 import org.netbeans.api.java.source.GeneratorUtilities;
 import org.netbeans.api.java.source.Task;
 import org.netbeans.api.java.source.JavaSource;
@@ -49,6 +54,7 @@
 import org.netbeans.api.java.source.TreeMaker;
 import org.netbeans.api.java.source.WorkingCopy;
 import org.netbeans.junit.NbTestSuite;
+import org.netbeans.modules.java.ui.FmtOptions;
 
 /**
  * Tests correct adding cast to statement.
@@ -150,6 +156,101 @@
         assertEquals(golden, res);
     }
     
+    public void testImplicitLambdaParam() throws Exception {
+        for (boolean parens : new boolean[] {false, true}) {
+            testFile = new File(getWorkDir(), "Test.java");
+            TestUtilities.copyStringToFile(testFile, 
+                "package hierbas.del.litoral;\n\n" +
+                "public class Test {\n" +
+                "    public static void taragui() {\n" +
+                "        ChangeListener l;\n" + 
+                "    }\n" +
+                "}\n"
+                );
+            String golden =
+                "package hierbas.del.litoral;\n\n" +
+                "public class Test {\n" +
+                "    public static void taragui() {\n" +
+                (parens ? "        ChangeListener l = (e) -> System.err.println();\n"
+                        : "        ChangeListener l = e -> System.err.println();\n") + 
+                "    }\n" +
+                "}\n";
+            JavaSource src = getJavaSource(testFile);
+
+            Preferences preferences = MimeLookup.getLookup(JavaTokenId.language().mimeType()).lookup(Preferences.class);
+
+            try {
+                preferences.putBoolean(FmtOptions.parensAroundSingularLambdaParam, parens);
+
+                Task<WorkingCopy> task = new Task<WorkingCopy>() {
+
+                    public void run(final WorkingCopy workingCopy) throws IOException {
+                        workingCopy.toPhase(Phase.RESOLVED);
+                        final TreeMaker make = workingCopy.getTreeMaker();
+                        new ErrorAwareTreeScanner<Void, Void>() {
+                            @Override
+                            public Void visitVariable(VariableTree node, Void p) {
+                                ExpressionTree stat = make.MethodInvocation(Collections.emptyList(), make.MemberSelect(make.MemberSelect(make.QualIdent("java.lang.System"), "err"), "println"), Collections.emptyList());
+                                LambdaExpressionTree lambda = make.LambdaExpression(Collections.singletonList(make.Variable(make.Modifiers(EnumSet.noneOf(Modifier.class)), "e", null, null)), stat);
+                                workingCopy.rewrite(node, make.Variable(node.getModifiers(), node.getName(), node.getType(), lambda));
+                                return super.visitVariable(node, p);
+                            }
+                        }.scan(workingCopy.getCompilationUnit(), null);
+                    }
+
+                };
+                src.runModificationTask(task).commit();
+                String res = TestUtilities.copyFileToString(testFile);
+                //System.err.println(res);
+                assertEquals(golden, res);
+            } finally {
+                preferences.remove(FmtOptions.parensAroundSingularLambdaParam);
+            }
+        }
+    }
+    
+    public void testExplicitLambdaParam() throws Exception {
+        testFile = new File(getWorkDir(), "Test.java");
+        TestUtilities.copyStringToFile(testFile,
+            "package hierbas.del.litoral;\n\n" +
+            "public class Test {\n" +
+            "    public static void taragui() {\n" +
+            "        ChangeListener l;\n" +
+            "    }\n" +
+            "}\n"
+            );
+        String golden =
+            "package hierbas.del.litoral;\n\n" +
+            "public class Test {\n" +
+            "    public static void taragui() {\n" +
+            "        ChangeListener l = (String e) -> System.err.println();\n" +
+            "    }\n" +
+            "}\n";
+        JavaSource src = getJavaSource(testFile);
+
+        Task<WorkingCopy> task = new Task<WorkingCopy>() {
+
+            public void run(final WorkingCopy workingCopy) throws IOException {
+                workingCopy.toPhase(Phase.RESOLVED);
+                final TreeMaker make = workingCopy.getTreeMaker();
+                new ErrorAwareTreeScanner<Void, Void>() {
+                    @Override
+                    public Void visitVariable(VariableTree node, Void p) {
+                        ExpressionTree stat = make.MethodInvocation(Collections.emptyList(), make.MemberSelect(make.MemberSelect(make.QualIdent("java.lang.System"), "err"), "println"), Collections.emptyList());
+                        LambdaExpressionTree lambda = make.LambdaExpression(Collections.singletonList(make.Variable(make.Modifiers(EnumSet.noneOf(Modifier.class)), "e", make.Type("java.lang.String"), null)), stat);
+                        workingCopy.rewrite(node, make.Variable(node.getModifiers(), node.getName(), node.getType(), lambda));
+                        return super.visitVariable(node, p);
+                    }
+                }.scan(workingCopy.getCompilationUnit(), null);
+            }
+
+        };
+        src.runModificationTask(task).commit();
+        String res = TestUtilities.copyFileToString(testFile);
+        //System.err.println(res);
+        assertEquals(golden, res);
+    }
+
     public void testAddFirstLambdaParam() throws Exception {
         testFile = new File(getWorkDir(), "Test.java");
         TestUtilities.copyStringToFile(testFile, 
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java
index 3e9b1ad..bc29747 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/CompileWorkerTestBase.java
@@ -168,6 +168,8 @@
 
         ParsingOutput result = runCompileWorker(ctx, javaContext, toIndex);
         
+        javaContext.finish();
+        javaContext.store();
         txc.commit();
         
         return result;
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
index e5e0f87..96b8558 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java
@@ -23,6 +23,7 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -31,16 +32,26 @@
 import java.util.logging.Handler;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import javax.lang.model.element.ElementKind;
+import javax.lang.model.element.TypeElement;
 import java.util.stream.Collectors;
 import junit.framework.Test;
 import static junit.framework.TestCase.assertFalse;
 import static junit.framework.TestCase.assertTrue;
+import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.api.java.source.ClassIndex;
+import org.netbeans.api.java.source.ClassIndex.SearchKind;
+import org.netbeans.api.java.source.ClasspathInfo;
+import org.netbeans.api.java.source.CompilationInfo;
+import org.netbeans.api.java.source.ElementHandle;
+import org.netbeans.api.java.source.JavaSource;
 import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.classfile.ClassFile;
 import org.netbeans.modules.java.source.NoJavacHelper;
 import org.netbeans.modules.java.source.indexing.CompileWorker.ParsingOutput;
 import org.netbeans.modules.java.source.indexing.JavaCustomIndexer.CompileTuple;
 import org.netbeans.modules.parsing.spi.indexing.Context;
+import org.netbeans.spi.java.classpath.support.ClassPathSupport;
 
 /**
  *
@@ -161,7 +172,8 @@
             createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
         }
 
-        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")),
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig",
+                                                       "cache/s1/java/15/classes/test/Test4$1.sig")),
                      createdFiles);
         //TODO: check file content!!!
     }
@@ -179,7 +191,8 @@
             createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
         }
 
-        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig")),
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test4.sig",
+                                                       "cache/s1/java/15/classes/test/Test4$1.sig")),
                      createdFiles);
         //TODO: check file content!!!
     }
@@ -513,6 +526,91 @@
         //TODO: check file content!!!
     }
 
+    public void testIndexEnumConstants() throws Exception {
+        ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java", "package test; public enum Test implements Runnable { A() { public void run() {} }; }")),
+                                           Arrays.asList());
+
+        assertFalse(result.lowMemory);
+        assertTrue(result.success);
+
+        Set<String> createdFiles = new HashSet<String>();
+
+        for (File created : result.createdFiles) {
+            createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
+        }
+
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test.sig",
+                                                            "cache/s1/java/15/classes/test/Test$1.sig")),
+                     createdFiles);
+        ClasspathInfo cpInfo = ClasspathInfo.create(ClassPath.EMPTY, ClassPath.EMPTY, ClassPathSupport.createClassPath(getRoot()));
+        Set<ElementHandle<TypeElement>> classIndexResult = cpInfo.getClassIndex().getElements(ElementHandle.createTypeElementHandle(ElementKind.ENUM, "test.Test"), EnumSet.of(SearchKind.IMPLEMENTORS), EnumSet.of(ClassIndex.SearchScope.SOURCE));
+        assertEquals(1, classIndexResult.size());
+    }
+
+    public void testAnonymousClasses() throws Exception {
+        ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java", 
+                                                                      "package test;\n" +
+                                                                      "public class Test {\n" +
+                                                                      "    private int i;\n" +
+                                                                      "    private final Runnable ri = new Runnable() { void t() { System.err.println(i); } };\n" +
+                                                                      "    private static final Runnable rs = new Runnable() { void t() { } };\n" +
+                                                                      "    void testI() { System.err.println(new Runnable() { }); }\n" +
+                                                                      "    static void testS() { System.err.println(new Runnable() { }); }\n" +
+                                                                      "}\n")),
+                                           Arrays.asList());
+
+        assertFalse(result.lowMemory);
+        assertTrue(result.success);
+
+        Set<String> createdFiles = new HashSet<String>();
+
+        for (File created : result.createdFiles) {
+            createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
+        }
+
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test.sig",
+                                                            "cache/s1/java/15/classes/test/Test$1.sig",
+                                                            "cache/s1/java/15/classes/test/Test$2.sig",
+                                                            "cache/s1/java/15/classes/test/Test$3.sig",
+                                                            "cache/s1/java/15/classes/test/Test$4.sig")),
+                     createdFiles);
+        ClasspathInfo cpInfo = ClasspathInfo.create(ClassPath.EMPTY, ClassPath.EMPTY, ClassPathSupport.createClassPath(getRoot()));
+        Set<ElementHandle<TypeElement>> classIndexResult = cpInfo.getClassIndex().getElements(ElementHandle.createTypeElementHandle(ElementKind.INTERFACE, "java.lang.Runnable"), EnumSet.of(SearchKind.IMPLEMENTORS), EnumSet.of(ClassIndex.SearchScope.SOURCE));
+        assertEquals(4, classIndexResult.size());
+        
+        JavaSource js = JavaSource.create(ClasspathInfo.create(getRoot()));
+        
+        js.runUserActionTask(cc -> {
+            cc.toPhase(JavaSource.Phase.PARSED);
+            verifyAnonymous(cc, "test.Test$1", "test.Test");
+            verifyAnonymous(cc, "test.Test$2", "test.Test");
+            verifyAnonymous(cc, "test.Test$3", "testI()");
+            verifyAnonymous(cc, "test.Test$4", "testS()");
+        }, true);
+    }
+
+    private void verifyAnonymous(CompilationInfo info, String binaryName, String owner) {
+        TypeElement ann = ElementHandle.createTypeElementHandle(ElementKind.CLASS, binaryName).resolve(info);
+        assertEquals(binaryName, owner, ann.getEnclosingElement().toString());
+    }
+
+    public void testErroneousNewClass() throws Exception {
+        ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java", "package test; public class Test { void t() { new Undef(); new Undef() { }; } }")),
+                                           Arrays.asList());
+
+        assertFalse(result.lowMemory);
+        assertTrue(result.success);
+
+        Set<String> createdFiles = new HashSet<String>();
+
+        for (File created : result.createdFiles) {
+            createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath());
+        }
+
+        assertEquals(new HashSet<String>(Arrays.asList("cache/s1/java/15/classes/test/Test.sig")),
+                     createdFiles);
+    }
+
     public static void noop() {}
 
     @Override
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ModuleOraculumTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ModuleOraculumTest.java
index 8610a18..d0e86e4 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ModuleOraculumTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/parsing/ModuleOraculumTest.java
@@ -461,7 +461,7 @@
             final DiagnosticListener<? super JavaFileObject> diagnosticListener,
             final boolean detached) {
         try {
-            JavaFileObject jfo = file != null ? FileObjects.sourceFileObject(file, root, null, false) : null;
+            List<JavaFileObject> jfo = file != null ? Arrays.asList(FileObjects.sourceFileObject(file, root, null, false)) : Collections.emptyList();
             return JavacParser.createJavacTask(file, jfo, root, cpInfo, parser, diagnosticListener, detached);
         } catch (IOException ex) {
             throw new IllegalStateException(ex);
diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
index 613864a..fa1fd2e 100644
--- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
+++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/save/FormatingTest.java
@@ -46,6 +46,7 @@
 import org.netbeans.modules.java.JavaDataLoader;
 import org.netbeans.modules.java.source.BootClassPathUtil;
 import org.netbeans.modules.java.source.usages.IndexUtil;
+import org.netbeans.modules.java.ui.FmtOptions;
 import org.netbeans.spi.java.classpath.ClassPathProvider;
 import org.netbeans.spi.java.classpath.support.ClassPathSupport;
 import org.openide.cookies.EditorCookie;
@@ -4830,7 +4831,18 @@
                 + "        java.util.Arrays.asList(args).map((val) -> val.length());\n"
                 + "    }\n"
                 + "}\n";
+        // Testing with wrapping lambda arrow deactivated
         reformat(doc, content, golden);
+
+        final String wrapAfterLambdaArrow = FmtOptions.wrapAfterLambdaArrow;
+        Preferences preferences = MimeLookup.getLookup(JavaTokenId.language().mimeType()).lookup(Preferences.class);
+        preferences.putBoolean(wrapAfterLambdaArrow, true);
+
+        // Testing with wrapping lambda arrow activated
+        reformat(doc, content, golden);
+
+        // Returning the setting to the default value
+        preferences.putBoolean(wrapAfterLambdaArrow, FmtOptions.getDefaultAsBoolean(wrapAfterLambdaArrow));
     }
 
     public void testForNoCondition() throws Exception {
diff --git a/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java b/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
index 65d798b..cfaa44d 100644
--- a/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
+++ b/java/java.source/src/org/netbeans/modules/java/source/JBrowseModule.java
@@ -22,6 +22,7 @@
 import java.awt.Dialog;
 import java.awt.GraphicsEnvironment;
 import java.util.prefs.Preferences;
+import javax.lang.model.SourceVersion;
 import org.netbeans.api.annotations.common.StaticResource;
 import org.netbeans.modules.autoupdate.ui.api.PluginManager;
 import org.netbeans.modules.java.source.usages.ClassIndexManager;
@@ -91,7 +92,7 @@
                     prefs.putBoolean(KEY_WARNING_SHOWN, true);
                 }
 
-                if (!NoJavacHelper.hasNbJavac()) {
+                if (!NoJavacHelper.hasNbJavac() && !hasJDK14OrAboveJavac()) {
                     NotificationDisplayer.getDefault().notify("Install nb-javac Library", ImageUtilities.loadImageIcon(WARNING_ICON, false), Bundle.DESC_InstallNbJavac(), evt -> {
                         PluginManager.installSingle("org.netbeans.modules.nbjavac", Bundle.DN_nbjavac());
                     }, prefs.getBoolean(KEY_WARNING_SHOWN, false) ? Priority.SILENT : Priority.HIGH);
@@ -102,6 +103,15 @@
         super.restored();
     }
 
+    private boolean hasJDK14OrAboveJavac() {
+        try {
+            SourceVersion.valueOf("RELEASE_14");
+            return true;
+        } catch (IllegalArgumentException ex) {
+            return false;
+        }
+    }
+
     @Override
     public void close () {
         super.close();
diff --git a/java/java.source/src/org/netbeans/modules/java/ui/Bundle.properties b/java/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
index 12714e0..98f2309 100644
--- a/java/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
+++ b/java/java.source/src/org/netbeans/modules/java/ui/Bundle.properties
@@ -565,3 +565,5 @@
 MSG_LowMemory=Not enough memory to compile: {0}.
 URL_LowMemory=http://wiki.netbeans.org/InsufficientMemoryToIndexRoot
 FmtCodeGeneration.sortUsesDependenciesCheckBox.text=Sort uses dependencies
+FmtBraces.jLabel1.text=Parenthesis
+FmtBraces.lambdaParensCheckBox.text=Always use parens around lambda parameters
diff --git a/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.form b/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.form
index 399932f..6c0d312 100644
--- a/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.form
+++ b/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.form
@@ -53,6 +53,11 @@
               <EmptySpace max="-2" attributes="0"/>
               <Component id="jSeparator2" max="32767" attributes="0"/>
           </Group>
+          <Group type="102" alignment="0" attributes="0">
+              <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jSeparator3" max="32767" attributes="0"/>
+          </Group>
           <Group type="102" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
               <Group type="103" groupAlignment="0" attributes="0">
@@ -82,8 +87,9 @@
                   <Component id="ifBracesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
                   <Component id="forBracesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
                   <Component id="moduleDeclLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                  <Component id="lambdaParensCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
               </Group>
-              <EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
           </Group>
       </Group>
     </DimensionLayout>
@@ -147,7 +153,14 @@
                   <Component id="doWhileBracesLabel" alignment="3" min="-2" max="-2" attributes="0"/>
                   <Component id="doWhileBracesCombo" alignment="3" min="-2" max="-2" attributes="0"/>
               </Group>
-              <EmptySpace max="32767" attributes="0"/>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="1" attributes="0">
+                  <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                  <Component id="jSeparator3" min="-2" pref="8" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace type="unrelated" max="-2" attributes="0"/>
+              <Component id="lambdaParensCheckBox" min="-2" max="-2" attributes="0"/>
+              <EmptySpace pref="30" max="32767" attributes="0"/>
           </Group>
       </Group>
     </DimensionLayout>
@@ -369,5 +382,21 @@
         <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
       </AuxValues>
     </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/netbeans/modules/java/ui/Bundle.properties" key="FmtBraces.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JSeparator" name="jSeparator3">
+    </Component>
+    <Component class="javax.swing.JCheckBox" name="lambdaParensCheckBox">
+      <Properties>
+        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
+          <ResourceString bundle="org/netbeans/modules/java/ui/Bundle.properties" key="FmtBraces.lambdaParensCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
+        </Property>
+      </Properties>
+    </Component>
   </SubComponents>
 </Form>
diff --git a/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.java b/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.java
index 2471cfb..cf72caa 100644
--- a/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.java
+++ b/java/java.source/src/org/netbeans/modules/java/ui/FmtBraces.java
@@ -42,6 +42,7 @@
         forBracesCombo.putClientProperty(OPTION_ID, redundantForBraces);
         whileBracesCombo.putClientProperty(OPTION_ID, redundantWhileBraces);
         doWhileBracesCombo.putClientProperty(OPTION_ID, redundantDoWhileBraces);
+        lambdaParensCheckBox.putClientProperty(OPTION_ID, parensAroundSingularLambdaParam);
     }
     
     public static PreferencesCustomizer.Factory getController() {
@@ -79,6 +80,9 @@
         jSeparator2 = new javax.swing.JSeparator();
         moduleDeclLabel = new javax.swing.JLabel();
         moduleDeclCombo = new javax.swing.JComboBox<>();
+        jLabel1 = new javax.swing.JLabel();
+        jSeparator3 = new javax.swing.JSeparator();
+        lambdaParensCheckBox = new javax.swing.JCheckBox();
 
         setName(org.openide.util.NbBundle.getMessage(FmtBraces.class, "LBL_Braces")); // NOI18N
         setOpaque(false);
@@ -137,6 +141,10 @@
 
         moduleDeclCombo.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
 
+        org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(FmtBraces.class, "FmtBraces.jLabel1.text")); // NOI18N
+
+        org.openide.awt.Mnemonics.setLocalizedText(lambdaParensCheckBox, org.openide.util.NbBundle.getMessage(FmtBraces.class, "FmtBraces.lambdaParensCheckBox.text")); // NOI18N
+
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
         this.setLayout(layout);
         layout.setHorizontalGroup(
@@ -150,6 +158,10 @@
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jSeparator2))
             .addGroup(layout.createSequentialGroup()
+                .addComponent(jLabel1)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jSeparator3))
+            .addGroup(layout.createSequentialGroup()
                 .addContainerGap()
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addGroup(layout.createSequentialGroup()
@@ -173,8 +185,9 @@
                     .addComponent(specialElseIfCheckBox)
                     .addComponent(ifBracesLabel)
                     .addComponent(forBracesLabel)
-                    .addComponent(moduleDeclLabel))
-                .addGap(16, 16, 16))
+                    .addComponent(moduleDeclLabel)
+                    .addComponent(lambdaParensCheckBox))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
         layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {classDeclCombo, doWhileBracesCombo, forBracesCombo, ifBracesCombo, methodDeclCombo, otherCombo, whileBracesCombo});
@@ -227,7 +240,13 @@
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(doWhileBracesLabel)
                     .addComponent(doWhileBracesCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
+                    .addComponent(jLabel1)
+                    .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 8, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+                .addComponent(lambdaParensCheckBox)
+                .addContainerGap(30, Short.MAX_VALUE))
         );
     }// </editor-fold>//GEN-END:initComponents
 
@@ -247,8 +266,11 @@
     private javax.swing.JLabel forBracesLabel;
     private javax.swing.JComboBox ifBracesCombo;
     private javax.swing.JLabel ifBracesLabel;
+    private javax.swing.JLabel jLabel1;
     private javax.swing.JSeparator jSeparator1;
     private javax.swing.JSeparator jSeparator2;
+    private javax.swing.JSeparator jSeparator3;
+    private javax.swing.JCheckBox lambdaParensCheckBox;
     private javax.swing.JComboBox methodDeclCombo;
     private javax.swing.JLabel methodDeclLabel;
     private javax.swing.JComboBox<String> moduleDeclCombo;
diff --git a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
index 109d4cd..9d06ecd 100644
--- a/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
+++ b/java/java.sourceui/src/org/netbeans/api/java/source/ui/ElementJavadoc.java
@@ -1020,35 +1020,41 @@
                     }
                     break;
                 }
-                if (element.getKind() == ElementKind.METHOD) {
-                    if (!ret.containsKey(DocTree.Kind.RETURN)) {
+            }
+
+            if (element.getKind() == ElementKind.METHOD) {
+                if (!ret.containsKey(DocTree.Kind.RETURN)) {
+                    //If the method does not have a return javadoc then we need to get javadoc from parent.
+                    if (inheritedDoc == null && !inheritedDocNeeded.getAndSet(true)) {
+                        inheritedDoc = getInherited((ExecutableElement)element, (TypeElement)element.getEnclosingElement(), info, funct);
+                    }
+                    if (inheritedDoc != null && inheritedDoc.containsKey(DocTree.Kind.RETURN)) {
+                        ret.put(DocTree.Kind.RETURN, new StringBuilder(inheritedDoc.get(DocTree.Kind.RETURN)));
+                    }
+                }
+                for (int i = 0; i < ((ExecutableElement)element).getParameters().size(); i++) {
+                    //Check every parameters in the method. If the current parameter has javadoc we do nothing.
+                    //If the current parameter does not have javadoc we try to get javadoc from the parent.
+                    if (!ret.containsKey(i)) {
                         if (inheritedDoc == null && !inheritedDocNeeded.getAndSet(true)) {
                             inheritedDoc = getInherited((ExecutableElement)element, (TypeElement)element.getEnclosingElement(), info, funct);
                         }
-                        if (inheritedDoc != null && inheritedDoc.containsKey(DocTree.Kind.RETURN)) {
-                            ret.put(DocTree.Kind.RETURN, new StringBuilder(inheritedDoc.get(DocTree.Kind.RETURN)));
-                        }                    
-                    }
-                    for (int i = 0; i < ((ExecutableElement)element).getParameters().size(); i++) {
-                        if (!ret.containsKey(i)) {
-                            if (inheritedDoc == null && !inheritedDocNeeded.getAndSet(true)) {
-                                inheritedDoc = getInherited((ExecutableElement)element, (TypeElement)element.getEnclosingElement(), info, funct);
-                            }
-                            if (inheritedDoc != null && inheritedDoc.containsKey(i)) {
-                                ret.put(i, new StringBuilder(inheritedDoc.get(i)));
-                            }                    
+                        if (inheritedDoc != null && inheritedDoc.containsKey(i)) {
+                            ret.put(i, new StringBuilder(inheritedDoc.get(i)));
                         }
                     }
-                    for (TypeMirror thrownType : ((ExecutableElement)element).getThrownTypes()) {
-                        Element e = thrownType.getKind() == TypeKind.TYPEVAR ? ((TypeVariable)thrownType).asElement() : ((DeclaredType)thrownType).asElement();
-                        if (!ret.containsKey(e)) {
-                            if (inheritedDoc == null && !inheritedDocNeeded.getAndSet(true)) {
-                                inheritedDoc = getInherited((ExecutableElement)element, (TypeElement)element.getEnclosingElement(), info, funct);
-                            }
-                            if (inheritedDoc != null && inheritedDoc.containsKey(e)) {
-                                ret.put(e, new StringBuilder(inheritedDoc.get(e)));
-                            }
-                        }                    
+                }
+                for (TypeMirror thrownType : ((ExecutableElement)element).getThrownTypes()) {
+                    //Check every throwables listed in the method. If for the current throwable there is not a javadoc try to get it from the parent.
+                    //If for the current throwable there is a javadoc we show the current javadoc.
+                    Element e = thrownType.getKind() == TypeKind.TYPEVAR ? ((TypeVariable)thrownType).asElement() : ((DeclaredType)thrownType).asElement();
+                    if (!ret.containsKey(e)) {
+                        if (inheritedDoc == null && !inheritedDocNeeded.getAndSet(true)) {
+                            inheritedDoc = getInherited((ExecutableElement)element, (TypeElement)element.getEnclosingElement(), info, funct);
+                        }
+                        if (inheritedDoc != null && inheritedDoc.containsKey(e)) {
+                            ret.put(e, new StringBuilder(inheritedDoc.get(e)));
+                        }
                     }
                 }
             }
diff --git a/java/java.testrunner.ui/src/org/netbeans/modules/java/testrunner/ui/JavaTestCreatorConfiguration.java b/java/java.testrunner.ui/src/org/netbeans/modules/java/testrunner/ui/JavaTestCreatorConfiguration.java
index f29770c..6398c69 100644
--- a/java/java.testrunner.ui/src/org/netbeans/modules/java/testrunner/ui/JavaTestCreatorConfiguration.java
+++ b/java/java.testrunner.ui/src/org/netbeans/modules/java/testrunner/ui/JavaTestCreatorConfiguration.java
@@ -77,9 +77,8 @@
     }
 
     @Override
-    public boolean canHandleProject(@NonNull
-            String framework) {
-        return GuiUtils.JUNIT_TEST_FRAMEWORK.equals(framework) || GuiUtils.TESTNG_TEST_FRAMEWORK.equals(framework);
+    public boolean canHandleProject(@NonNull String framework) {
+        return framework.startsWith("JUnit") || GuiUtils.TESTNG_TEST_FRAMEWORK.equals(framework);
     }
 
     @Override
diff --git a/java/javadoc/nbproject/project.xml b/java/javadoc/nbproject/project.xml
index 850959b..5c74667 100644
--- a/java/javadoc/nbproject/project.xml
+++ b/java/javadoc/nbproject/project.xml
@@ -246,6 +246,15 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.editor.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.73</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.openide.util</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
diff --git a/java/javadoc/src/org/netbeans/modules/javadoc/search/IndexBuilder.java b/java/javadoc/src/org/netbeans/modules/javadoc/search/IndexBuilder.java
index 9e785e6..7633d60 100644
--- a/java/javadoc/src/org/netbeans/modules/javadoc/search/IndexBuilder.java
+++ b/java/javadoc/src/org/netbeans/modules/javadoc/search/IndexBuilder.java
@@ -34,6 +34,7 @@
 import java.util.WeakHashMap;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
+import org.netbeans.lib.editor.util.StringEscapeUtils;
 import org.openide.ErrorManager;
 import org.openide.util.NbBundle;
 import org.openide.util.RequestProcessor;
@@ -70,12 +71,12 @@
         /**
          * Display name / title of the helpset
          */
-        String      title;
+        String title;
 
         /**
          * Name of the index/overview file
          */
-        String      indexFileName;
+        String indexFileName;
     }
 
     @SuppressWarnings("LeakingThisInConstructor")
@@ -157,8 +158,8 @@
         }
         URL[] docRoots = jdocRegs.getDocRoots();
         // XXX needs to be able to listen to result; when it changes, call scheduleTask()
-        Map<URL,Info> m = new WeakHashMap<URL,Info>();
-//        long startTime = System.nanoTime();
+        Map<URL,Info> m = new WeakHashMap<>();
+        // long startTime = System.nanoTime();
 
         for ( int ifCount = 0; ifCount < docRoots.length; ifCount++ ) {
             URL fo = docRoots[ifCount];
@@ -230,7 +231,7 @@
                 this.filesystemInfo = m;
             }
         }
-        List<Index> data = new ArrayList<Index>();
+        List<Index> data = new ArrayList<>();
         for (Map.Entry<URL,Info> entry : filesystemInfo.entrySet()) {
             Info info = entry.getValue();
             URL fo = URLUtils.findOpenable(entry.getKey(), info.indexFileName);
@@ -242,8 +243,8 @@
         Collections.sort(data);
         cachedData = data;
 
-//        long elapsedTime = System.nanoTime() - startTime;
-//        System.out.println("\nElapsed time[nano]: " + elapsedTime);
+        // long elapsedTime = System.nanoTime() - startTime;
+        // System.out.println("\nElapsed time[nano]: " + elapsedTime);
     }
     
     /**
@@ -252,20 +253,15 @@
      */
     private String parseTitle(URL html) {
         String title = null;
-        try {
+        try (InputStream is = new BufferedInputStream(URLUtils.openStream(html), 1024)) {
             // #71979: html parser used again to fix encoding issues.
             // I have measured no difference if the parser or plain file reading
             // is used (#32551).
             // In case the parser is stopped as soon as it finds the title it is
             // even faster than the previous fix.
-            InputStream is = new BufferedInputStream(URLUtils.openStream(html), 1024);
             SimpleTitleParser tp = new SimpleTitleParser(is);
-            try {
-                tp.parse();
-                title = tp.getTitle();
-            } finally {
-                is.close();
-            }
+            tp.parse();
+            title = tp.getTitle();
         } catch (IOException ioe) {
             ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ioe);
         }
@@ -417,6 +413,11 @@
                             } else {
                                 title = new String(buf, 0, offset - 7, charset).trim();
                             }
+                            
+                            // Unescape the title, done for JDK 11.
+                            // JDK 11 title contains &amp; (NETBEANS-4176)
+                            title = StringEscapeUtils.unescapeHtml(title);
+                            
                             return;
                         }
                     default:
diff --git a/java/javadoc/test/unit/src/org/netbeans/modules/javadoc/search/IndexBuilderTest.java b/java/javadoc/test/unit/src/org/netbeans/modules/javadoc/search/IndexBuilderTest.java
index d27dc56..951c05a 100644
--- a/java/javadoc/test/unit/src/org/netbeans/modules/javadoc/search/IndexBuilderTest.java
+++ b/java/javadoc/test/unit/src/org/netbeans/modules/javadoc/search/IndexBuilderTest.java
@@ -59,82 +59,77 @@
     public void testTitleInJDK14() throws Exception {
         FileObject html = fs.findResource(JDK14_INDEX_PATH + "/index-4.html");
 
-        InputStream is = new BufferedInputStream(html.getInputStream(), 1024);
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        try (InputStream is = new BufferedInputStream(html.getInputStream(), 1024)) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", "D-Index (Java 2 Platform SE v1.4.2)", titlestr);
-        } finally {
-            is.close();
         }
     }
 
     public void testTitleInJDK15() throws Exception {
         FileObject html = fs.findResource(JDK15_INDEX_PATH + "/index-4.html");
 
-        InputStream is = new BufferedInputStream(html.getInputStream(), 1024);
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        try (InputStream is = new BufferedInputStream(html.getInputStream(), 1024)) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", "D-Index (Java 2 Platform SE 5.0)", titlestr);
-        } finally {
-            is.close();
         }
     }
     
     public void testTitleInJDK7() throws Exception {
         FileObject html = fs.findResource(JDK7_INDEX_PATH + "/index-4.html");
 
-        InputStream is = new BufferedInputStream(html.getInputStream(), 1024);
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        try (InputStream is = new BufferedInputStream(html.getInputStream(), 1024)) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", "D-Index (Java Platform SE 7 )", titlestr);
-        } finally {
-            is.close();
         }
     }
     
     public void testTitleInJDK8() throws Exception {
         FileObject html = fs.findResource(JDK8_INDEX_PATH + "/index-4.html");
 
-        InputStream is = new BufferedInputStream(html.getInputStream(), 1024);
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        try (InputStream is = new BufferedInputStream(html.getInputStream(), 1024)) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", "D-Index (Java Platform SE 8 )", titlestr);
-        } finally {
-            is.close();
         }
     }
 
     public void testEmptyTitle() throws Exception {
         String content = "<HTML><HEAD><TITLE></TITLE></HEAD></HTML>";
-        InputStream is = new ByteArrayInputStream(content.getBytes());
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        
+        try (InputStream is = new ByteArrayInputStream(content.getBytes())) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", "", titlestr);
-        } finally {
-            is.close();
         }
     }
 
     public void testMissingTitle() throws Exception {
         String content = "<HTML><HEAD></HEAD></HTML>";
-        InputStream is = new ByteArrayInputStream(content.getBytes());
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        
+        try (InputStream is = new ByteArrayInputStream(content.getBytes())) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertNull("wrong title", titlestr);
-        } finally {
-            is.close();
+        }
+    }
+    
+    public void testEscapedHtmlTitle() throws Exception {
+        String content = "<HTML><HEAD><TITLE>Overview (Java SE 11 &amp; JDK 11 )</TITLE></HEAD></HTML>";
+        
+        try (InputStream is = new ByteArrayInputStream(content.getBytes())) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
+            tp.parse();
+            String titlestr = tp.getTitle();
+            assertEquals("wrong title", "Java SE 11 & JDK 11", titlestr);
         }
     }
 
@@ -166,14 +161,11 @@
             r.close();
         }
 
-        InputStream is = new BufferedInputStream(html.getInputStream(), 1024);
-        SimpleTitleParser tp = new SimpleTitleParser(is);
-        try {
+        try (InputStream is = new BufferedInputStream(html.getInputStream(), 1024)) {
+            SimpleTitleParser tp = new SimpleTitleParser(is);
             tp.parse();
             String titlestr = tp.getTitle();
             assertEquals("wrong title", sb.toString(), titlestr);
-        } finally {
-            is.close();
         }
     }
 }
diff --git a/java/junit.ui/nbproject/project.xml b/java/junit.ui/nbproject/project.xml
index 520cd8f..61a4ada 100644
--- a/java/junit.ui/nbproject/project.xml
+++ b/java/junit.ui/nbproject/project.xml
@@ -83,7 +83,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>2</release-version>
-                        <specification-version>2.6</specification-version>
+                        <specification-version>2.18</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
@@ -159,7 +159,7 @@
                     <compile-dependency/>
                     <run-dependency>
                         <release-version>2</release-version>
-                        <specification-version>2.76</specification-version>
+                        <specification-version>2.82</specification-version>
                     </run-dependency>
                 </dependency>
                 <dependency>
diff --git a/java/junit.ui/src/org/netbeans/modules/junit/ui/AbstractJUnitTestCreatorProvider.java b/java/junit.ui/src/org/netbeans/modules/junit/ui/AbstractJUnitTestCreatorProvider.java
new file mode 100644
index 0000000..c4479be
--- /dev/null
+++ b/java/junit.ui/src/org/netbeans/modules/junit/ui/AbstractJUnitTestCreatorProvider.java
@@ -0,0 +1,374 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.junit.ui;
+
+import java.awt.EventQueue;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import org.netbeans.api.java.classpath.ClassPath;
+import org.netbeans.api.project.FileOwnerQuery;
+import org.netbeans.api.project.Project;
+import org.netbeans.api.project.SourceGroup;
+import org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider;
+import static org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider.getSourceGroup;
+import org.netbeans.modules.gsf.testrunner.plugin.CommonPlugin;
+import org.netbeans.modules.gsf.testrunner.ui.api.UICommonUtils;
+import org.netbeans.modules.junit.api.JUnitVersion;
+import org.netbeans.modules.junit.api.JUnitTestUtil;
+import org.netbeans.modules.junit.plugin.JUnitPlugin;
+import org.netbeans.spi.java.classpath.support.ClassPathSupport;
+import org.openide.DialogDisplayer;
+import org.openide.NotifyDescriptor;
+import org.openide.cookies.EditorCookie;
+import org.openide.filesystems.FileObject;
+import org.openide.loaders.DataObject;
+import org.openide.loaders.DataObjectNotFoundException;
+import org.openide.nodes.Node;
+import org.openide.util.NbBundle;
+import org.openide.util.RequestProcessor;
+
+abstract class AbstractJUnitTestCreatorProvider extends TestCreatorProvider {
+    abstract JUnitVersion useVersion();
+
+    @Override
+    public boolean enable(FileObject[] activatedFOs) {
+        if (activatedFOs == null || activatedFOs.length == 0) {
+            return false;
+        }
+        /*
+         * In most cases, there is just one node selected - that is why
+         * this case is handled in a special, more effective way
+         * (no collections and iterators created).
+         */
+        if (activatedFOs.length == 1) {
+            FileObject fileObj = activatedFOs[0];
+
+            Project project;
+            if ((fileObj != null)
+                && fileObj.isValid()
+                // selected FO might be folder or java file
+                && (fileObj.isFolder() || JUnitTestUtil.isJavaFile(fileObj))
+                && ((project = FileOwnerQuery.getOwner(fileObj)) != null)
+                && (getSourceGroup(fileObj, project) != null)) {
+
+                JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(project, useVersion());
+                return JUnitTestUtil.canCreateTests(plugin, fileObj);
+            } else {
+                return false;
+            }
+        }
+
+        final Collection<FileObject> fileObjs = new ArrayList<>(activatedFOs.length);
+        Project theProject = null;
+        boolean result = false;
+        for (FileObject fileObj : activatedFOs) {
+            if ((fileObj == null) || !fileObj.isValid()
+                // selected FO might be folder or java file
+                && (fileObj.isFolder() || JUnitTestUtil.isJavaFile(fileObj))) {
+                continue;
+            }
+
+            fileObjs.add(fileObj);
+
+            Project prj = FileOwnerQuery.getOwner(fileObj);
+            if (prj != null) {
+                if (theProject == null) {
+                    theProject = prj;
+                }
+                if (prj != theProject) {
+                    return false;        /* files from different projects */
+
+                }
+
+                if (getSourceGroup(fileObj, prj) != null) {
+                    result = true;
+                }
+            }
+        }
+
+        if (theProject != null) {
+            JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(theProject);
+            result &= JUnitTestUtil.canCreateTests(
+                            plugin,
+                            fileObjs.toArray(new FileObject[fileObjs.size()]));
+        }
+
+        return result;
+    }
+
+    @Override
+    public void createTests(Context context) {
+        String problem;
+        if ((problem = checkNodesValidity(context.getActivatedFOs())) != null) {
+            // TODO report problem
+            NotifyDescriptor msg = new NotifyDescriptor.Message(
+                    problem, NotifyDescriptor.WARNING_MESSAGE);
+            DialogDisplayer.getDefault().notify(msg);
+            return;
+        }
+
+        final FileObject[] filesToTest = context.getActivatedFOs();
+        if (filesToTest == null) {
+            return;     //XXX: display some message
+        }
+
+        /*
+         * Determine the plugin to be used:
+         */
+        final JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(
+            FileOwnerQuery.getOwner(filesToTest[0]), useVersion()
+        );
+
+        if (!JUnitTestUtil.createTestActionCalled(
+                plugin, filesToTest)) {
+            return;
+        }
+
+        /*
+         * Store the configuration data:
+         */
+        final boolean singleClass = context.isSingleClass();
+        final Map<CommonPlugin.CreateTestParam, Object> params = JUnitTestUtil.getSettingsMap(!singleClass);
+        if (singleClass) {
+            params.put(CommonPlugin.CreateTestParam.CLASS_NAME, context.getTestClassName());
+        }
+        final FileObject targetFolder = context.getTargetFolder();
+        if(context.isIntegrationTests()) {
+            params.put(CommonPlugin.CreateTestParam.INC_GENERATE_INTEGRATION_TEST, Boolean.TRUE);
+        } else {
+            params.put(CommonPlugin.CreateTestParam.INC_GENERATE_INTEGRATION_TEST, Boolean.FALSE);
+        }
+
+        RequestProcessor.getDefault().post(new Runnable() {
+
+            @Override
+            public void run() {
+                /*
+                 * Now create the tests:
+                 */
+                final FileObject[] testFileObjects = JUnitTestUtil.createTests(
+                        plugin,
+                        filesToTest,
+                        targetFolder,
+                        params);
+
+                /*
+                 * Open the created/updated test class if appropriate:
+                 */
+                if (testFileObjects.length == 1) {
+                    try {
+                        DataObject dobj = DataObject.find(testFileObjects[0]);
+                        final EditorCookie ec = dobj.getLookup().lookup(EditorCookie.class);
+                        if (ec != null) {
+                            EventQueue.invokeLater(new Runnable() {
+
+                                @Override
+                                public void run() {
+                                    ec.open();
+                                }
+                            });
+                        }
+                    } catch (DataObjectNotFoundException ex) {
+                        ex.printStackTrace();
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Checks that the selection of nodes the dialog is invoked on is valid.
+     * @return String message describing the problem found or null, if the
+     *         selection is ok
+     */
+    private static String checkNodesValidity(FileObject[] files) {
+
+        Project project = getProject(files);
+        if (project == null) {
+            return NbBundle.getMessage(JUnitTestCreatorProvider.class,
+                                       "MSG_multiproject_selection");   //NOI18N
+        }
+
+        if (!checkPackages(files)) {
+            return NbBundle.getMessage(JUnitTestCreatorProvider.class,
+                                       "MSG_invalid_packages");         //NOI18N
+        }
+
+        return null;
+    }
+
+    /**
+     * Extracts {@code FileObject}s from the given nodes.
+     * Nodes that have (direct or indirect) parent nodes among the given
+     * nodes are ignored.
+     *
+     * @return  a non-empty array of {@code FileObject}s
+     *          represented by the given nodes;
+     *          or {@code null} if no {@code FileObject} was found;
+     */
+    private static FileObject[] getFileObjectsFromNodes(final Node[] nodes){
+        FileObject[] fileObjects = new FileObject[nodes.length];
+        List<FileObject> fileObjectsList = null;
+
+        for (int i = 0; i < nodes.length; i++) {
+            final Node node = nodes[i];
+            final FileObject fo;
+            if (!hasParentAmongNodes(nodes, i)
+                    && ((fo = getTestFileObject(node)) != null)) {
+                if (fileObjects != null) {
+                    fileObjects[i] = fo;
+                } else {
+                    if (fileObjectsList == null) {
+                        fileObjectsList = new ArrayList<FileObject>(
+                                                        nodes.length - i);
+                    }
+                    fileObjectsList.add(fo);
+                }
+            } else {
+                fileObjects = null;     //signs that some FOs were skipped
+            }
+        }
+        if (fileObjects == null) {
+            if (fileObjectsList != null) {
+                fileObjects = fileObjectsList.toArray(
+                        new FileObject[fileObjectsList.size()]);
+                fileObjectsList = null;
+            }
+        }
+
+        return fileObjects;
+    }
+
+    /**
+     * Check that all the files (folders or java files) have correct java
+     * package names.
+     * @return true if all are fine
+     */
+    private static boolean checkPackages(FileObject[] files) {
+        if (files.length == 0) {
+            return true;
+        } else {
+            Project project = FileOwnerQuery.getOwner(files[0]);
+            for (int i = 0 ; i < files.length; i++) {
+                String packageName = getPackage(project, files[i]);
+                if ((packageName == null)
+                        || !JUnitTestUtil.isValidPackageName(packageName)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * Get the package name of <code>file</code>.
+     *
+     * @param project owner of the file (for performance reasons)
+     * @param file the FileObject whose packagename to get
+     * @return package name of the file or null if it cannot be retrieved
+     */
+    private static String getPackage(Project project, FileObject file) {
+        SourceGroup srcGrp = JUnitTestUtil.findSourceGroupOwner(project, file);
+        if (srcGrp!= null) {
+            ClassPath cp = ClassPathSupport.createClassPath(
+                    new FileObject [] {srcGrp.getRootFolder()});
+            return cp.getResourceName(file, '.', false);
+        } else {
+            return null;
+        }
+    }
+
+
+    private static FileObject[] getFiles(Node[] nodes) {
+        FileObject[] ret = new FileObject[nodes.length];
+        for (int i = 0 ; i < nodes.length ; i++) {
+            ret[i]  = UICommonUtils.getFileObjectFromNode(nodes[i]);
+        }
+        return ret;
+    }
+
+    /**
+     * Get the single project for <code>nodes</code> if there is such.
+     * If the nodes belong to different projects or some of the nodes doesn't
+     * have a project, return null.
+     */
+    private static Project getProject(FileObject[] files) {
+        Project project = null;
+        for (int i = 0 ; i < files.length; i++) {
+            Project nodeProject = FileOwnerQuery.getOwner(files[i]);
+            if (project == null) {
+                project = nodeProject;
+            } else if (project != nodeProject) {
+                return null;
+            }
+        }
+        return project;
+    }
+
+    /**
+     * Grabs and checks a <code>FileObject</code> from the given node.
+     * If either the file could not be grabbed or the file does not pertain
+     * to any project, a message is displayed.
+     *
+     * @param  node  node to get a <code>FileObject</code> from.
+     * @return  the grabbed <code>FileObject</code>,
+     *          or <code>null</code> in case of failure
+     */
+    private static FileObject getTestFileObject(final Node node) {
+        final FileObject fo = UICommonUtils.getFileObjectFromNode(node);
+        if (fo == null) {
+            JUnitTestUtil.notifyUser(NbBundle.getMessage(
+                    JUnitTestCreatorProvider.class,
+                    "MSG_file_from_node_failed"));                      //NOI18N
+            return null;
+        }
+        ClassPath cp = ClassPath.getClassPath(fo, ClassPath.SOURCE);
+        if (cp == null) {
+            JUnitTestUtil.notifyUser(NbBundle.getMessage(
+                    JUnitTestCreatorProvider.class,
+                    "MSG_no_project",                                   //NOI18N
+                    fo));
+            return null;
+        }
+        return fo;
+    }
+
+    private static boolean hasParentAmongNodes(final Node[] nodes,
+                                               final int idx) {
+        Node node;
+
+        node = nodes[idx].getParentNode();
+        while (null != node) {
+            for (int i = 0; i < nodes.length; i++) {
+                if (i == idx) {
+                    continue;
+                }
+                if (node == nodes[i]) {
+                    return true;
+                }
+            }
+            node = node.getParentNode();
+        }
+        return false;
+    }
+
+
+}
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnit4TestCreatorProvider.java
similarity index 61%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/junit.ui/src/org/netbeans/modules/junit/ui/JUnit4TestCreatorProvider.java
index ce5fca3..0db8d72 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnit4TestCreatorProvider.java
@@ -16,13 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.netbeans.modules.junit.ui;
 
-package org.netbeans.modules.junit;
+import org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider.Registration;
+import org.netbeans.modules.java.testrunner.GuiUtils;
+import org.netbeans.modules.junit.api.JUnitVersion;
 
-/**
- */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
+@Registration(displayName="JUnit4", identifier = GuiUtils.JUNIT_TEST_FRAMEWORK, position = 100000)
+public final class JUnit4TestCreatorProvider extends AbstractJUnitTestCreatorProvider {
+    @Override
+    JUnitVersion useVersion() {
+        return JUnitVersion.JUNIT4;
+    }
 }
diff --git a/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnitTestCreatorProvider.java b/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnitTestCreatorProvider.java
index 670a51e..af1ed07 100644
--- a/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnitTestCreatorProvider.java
+++ b/java/junit.ui/src/org/netbeans/modules/junit/ui/JUnitTestCreatorProvider.java
@@ -18,363 +18,19 @@
  */
 package org.netbeans.modules.junit.ui;
 
-import java.awt.EventQueue;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import org.netbeans.api.java.classpath.ClassPath;
-import org.netbeans.api.project.FileOwnerQuery;
-import org.netbeans.api.project.Project;
-import org.netbeans.api.project.SourceGroup;
 import org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider;
-import org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider.Context;
 import org.netbeans.modules.gsf.testrunner.api.TestCreatorProvider.Registration;
-import org.netbeans.modules.gsf.testrunner.plugin.CommonPlugin;
-import org.netbeans.modules.gsf.testrunner.ui.api.UICommonUtils;
 import org.netbeans.modules.java.testrunner.GuiUtils;
-import org.netbeans.modules.junit.api.JUnitTestUtil;
-import org.netbeans.modules.junit.plugin.JUnitPlugin;
-import org.netbeans.spi.java.classpath.support.ClassPathSupport;
-import org.openide.DialogDisplayer;
-import org.openide.NotifyDescriptor;
-import org.openide.cookies.EditorCookie;
-import org.openide.filesystems.FileObject;
-import org.openide.loaders.DataObject;
-import org.openide.loaders.DataObjectNotFoundException;
-import org.openide.nodes.Node;
-import org.openide.util.NbBundle;
-import org.openide.util.RequestProcessor;
+import org.netbeans.modules.junit.api.JUnitVersion;
 
 /**
  *
  * @author Theofanis Oikonomou
  */
-@Registration(displayName=GuiUtils.JUNIT_TEST_FRAMEWORK, identifier = TestCreatorProvider.IDENTIFIER_JUNIT)
-public class JUnitTestCreatorProvider extends TestCreatorProvider {
-
+@Registration(displayName=GuiUtils.JUNIT_TEST_FRAMEWORK, identifier = TestCreatorProvider.IDENTIFIER_JUNIT, position = 100)
+public class JUnitTestCreatorProvider extends AbstractJUnitTestCreatorProvider {
     @Override
-    public boolean enable(FileObject[] activatedFOs) {
-        if (activatedFOs == null || activatedFOs.length == 0) {
-            return false;
-        }
-        /*
-         * In most cases, there is just one node selected - that is why
-         * this case is handled in a special, more effective way
-         * (no collections and iterators created).
-         */
-        if (activatedFOs.length == 1) {
-            FileObject fileObj = activatedFOs[0];
-            
-            Project project;
-            if ((fileObj != null)
-                && fileObj.isValid()
-                // selected FO might be folder or java file
-                && (fileObj.isFolder() || JUnitTestUtil.isJavaFile(fileObj))
-                && ((project = FileOwnerQuery.getOwner(fileObj)) != null)
-                && (getSourceGroup(fileObj, project) != null)) {
-
-                JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(project);
-                return JUnitTestUtil.canCreateTests(plugin,
-                                                                    fileObj);
-            } else {
-                return false;
-            }
-        }
-
-        final Collection<FileObject> fileObjs
-                = new ArrayList<FileObject>(activatedFOs.length);
-        Project theProject = null;
-        boolean result = false;
-        for (FileObject fileObj : activatedFOs) {
-            if ((fileObj == null) || !fileObj.isValid()
-                // selected FO might be folder or java file
-                && (fileObj.isFolder() || JUnitTestUtil.isJavaFile(fileObj))) {
-                continue;
-            }
-
-            fileObjs.add(fileObj);
-
-            Project prj = FileOwnerQuery.getOwner(fileObj);
-            if (prj != null) {
-                if (theProject == null) {
-                    theProject = prj;
-                }
-                if (prj != theProject) {
-                    return false;        /* files from different projects */
-
-                }
-
-                if (getSourceGroup(fileObj, prj) != null) {
-                    result = true;
-                }
-            }
-        }
-
-        if (theProject != null) {
-            JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(theProject);
-            result &= JUnitTestUtil.canCreateTests(
-                            plugin,
-                            fileObjs.toArray(new FileObject[fileObjs.size()]));
-        }
-
-        return result;
-    }
-
-    @Override
-    public void createTests(Context context) {
-        String problem;
-        if ((problem = checkNodesValidity(context.getActivatedFOs())) != null) {
-            // TODO report problem
-            NotifyDescriptor msg = new NotifyDescriptor.Message(
-                    problem, NotifyDescriptor.WARNING_MESSAGE);
-            DialogDisplayer.getDefault().notify(msg);
-            return;
-        }
-
-        final FileObject[] filesToTest = context.getActivatedFOs();
-        if (filesToTest == null) {
-            return;     //XXX: display some message
-        }
-
-        /*
-         * Determine the plugin to be used:
-         */
-        final JUnitPlugin plugin = JUnitTestUtil.getPluginForProject(
-                FileOwnerQuery.getOwner(filesToTest[0]));
-
-        if (!JUnitTestUtil.createTestActionCalled(
-                plugin, filesToTest)) {
-            return;
-        }
-
-        /*
-         * Store the configuration data:
-         */
-        final boolean singleClass = context.isSingleClass();
-        final Map<CommonPlugin.CreateTestParam, Object> params = JUnitTestUtil.getSettingsMap(!singleClass);
-        if (singleClass) {
-            params.put(CommonPlugin.CreateTestParam.CLASS_NAME, context.getTestClassName());
-        }
-        final FileObject targetFolder = context.getTargetFolder();
-        if(context.isIntegrationTests()) {
-            params.put(CommonPlugin.CreateTestParam.INC_GENERATE_INTEGRATION_TEST, Boolean.TRUE);
-        } else {
-            params.put(CommonPlugin.CreateTestParam.INC_GENERATE_INTEGRATION_TEST, Boolean.FALSE);
-        }
-
-        RequestProcessor.getDefault().post(new Runnable() {
-
-            @Override
-            public void run() {
-                /*
-                 * Now create the tests:
-                 */
-                final FileObject[] testFileObjects = JUnitTestUtil.createTests(
-                        plugin,
-                        filesToTest,
-                        targetFolder,
-                        params);
-
-                /*
-                 * Open the created/updated test class if appropriate:
-                 */
-                if (testFileObjects.length == 1) {
-                    try {
-                        DataObject dobj = DataObject.find(testFileObjects[0]);
-                        final EditorCookie ec = dobj.getLookup().lookup(EditorCookie.class);
-                        if (ec != null) {
-                            EventQueue.invokeLater(new Runnable() {
-
-                                @Override
-                                public void run() {
-                                    ec.open();
-                                }
-                            });
-                        }
-                    } catch (DataObjectNotFoundException ex) {
-                        ex.printStackTrace();
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * Checks that the selection of nodes the dialog is invoked on is valid. 
-     * @return String message describing the problem found or null, if the
-     *         selection is ok
-     */
-    private static String checkNodesValidity(FileObject[] files) {
-
-        Project project = getProject(files);
-        if (project == null) {
-            return NbBundle.getMessage(JUnitTestCreatorProvider.class,
-                                       "MSG_multiproject_selection");   //NOI18N
-        }
-
-        if (!checkPackages(files)) {
-            return NbBundle.getMessage(JUnitTestCreatorProvider.class,
-                                       "MSG_invalid_packages");         //NOI18N
-        }
-
+    JUnitVersion useVersion() {
         return null;
     }
-
-    /**
-     * Extracts {@code FileObject}s from the given nodes.
-     * Nodes that have (direct or indirect) parent nodes among the given
-     * nodes are ignored.
-     *
-     * @return  a non-empty array of {@code FileObject}s
-     *          represented by the given nodes;
-     *          or {@code null} if no {@code FileObject} was found;
-     */
-    private static FileObject[] getFileObjectsFromNodes(final Node[] nodes){
-        FileObject[] fileObjects = new FileObject[nodes.length];
-        List<FileObject> fileObjectsList = null;
-
-        for (int i = 0; i < nodes.length; i++) {
-            final Node node = nodes[i];
-            final FileObject fo;
-            if (!hasParentAmongNodes(nodes, i)
-                    && ((fo = getTestFileObject(node)) != null)) {
-                if (fileObjects != null) {
-                    fileObjects[i] = fo;
-                } else {
-                    if (fileObjectsList == null) {
-                        fileObjectsList = new ArrayList<FileObject>(
-                                                        nodes.length - i);
-                    }
-                    fileObjectsList.add(fo);
-                }
-            } else {
-                fileObjects = null;     //signs that some FOs were skipped
-            }
-        }
-        if (fileObjects == null) {
-            if (fileObjectsList != null) {
-                fileObjects = fileObjectsList.toArray(
-                        new FileObject[fileObjectsList.size()]);
-                fileObjectsList = null;
-            }
-        }
-
-        return fileObjects;
-    }
-
-    /**
-     * Check that all the files (folders or java files) have correct java
-     * package names.
-     * @return true if all are fine
-     */
-    private static boolean checkPackages(FileObject[] files) {
-        if (files.length == 0) {
-            return true;
-        } else {
-            Project project = FileOwnerQuery.getOwner(files[0]);
-            for (int i = 0 ; i < files.length; i++) {
-                String packageName = getPackage(project, files[i]);
-                if ((packageName == null)
-                        || !JUnitTestUtil.isValidPackageName(packageName)) {
-                    return false;
-                }
-            }
-            return true;
-        }
-    }
-
-    /**
-     * Get the package name of <code>file</code>.
-     *
-     * @param project owner of the file (for performance reasons)
-     * @param file the FileObject whose packagename to get
-     * @return package name of the file or null if it cannot be retrieved
-     */
-    private static String getPackage(Project project, FileObject file) {
-        SourceGroup srcGrp = JUnitTestUtil.findSourceGroupOwner(project, file);
-        if (srcGrp!= null) {
-            ClassPath cp = ClassPathSupport.createClassPath(
-                    new FileObject [] {srcGrp.getRootFolder()});
-            return cp.getResourceName(file, '.', false);
-        } else {
-            return null;
-        }
-    }
-
-
-    private static FileObject[] getFiles(Node[] nodes) {
-        FileObject[] ret = new FileObject[nodes.length];
-        for (int i = 0 ; i < nodes.length ; i++) {
-            ret[i]  = UICommonUtils.getFileObjectFromNode(nodes[i]);
-        }
-        return ret;
-    }
-
-    /**
-     * Get the single project for <code>nodes</code> if there is such.
-     * If the nodes belong to different projects or some of the nodes doesn't
-     * have a project, return null.
-     */
-    private static Project getProject(FileObject[] files) {
-        Project project = null;
-        for (int i = 0 ; i < files.length; i++) {
-            Project nodeProject = FileOwnerQuery.getOwner(files[i]);
-            if (project == null) {
-                project = nodeProject;
-            } else if (project != nodeProject) {
-                return null;
-            }
-        }
-        return project;
-    }
-
-    /**
-     * Grabs and checks a <code>FileObject</code> from the given node.
-     * If either the file could not be grabbed or the file does not pertain
-     * to any project, a message is displayed.
-     *
-     * @param  node  node to get a <code>FileObject</code> from.
-     * @return  the grabbed <code>FileObject</code>,
-     *          or <code>null</code> in case of failure
-     */
-    private static FileObject getTestFileObject(final Node node) {
-        final FileObject fo = UICommonUtils.getFileObjectFromNode(node);
-        if (fo == null) {
-            JUnitTestUtil.notifyUser(NbBundle.getMessage(
-                    JUnitTestCreatorProvider.class,
-                    "MSG_file_from_node_failed"));                      //NOI18N
-            return null;
-        }
-        ClassPath cp = ClassPath.getClassPath(fo, ClassPath.SOURCE);
-        if (cp == null) {
-            JUnitTestUtil.notifyUser(NbBundle.getMessage(
-                    JUnitTestCreatorProvider.class,
-                    "MSG_no_project",                                   //NOI18N
-                    fo));
-            return null;
-        }
-        return fo;
-    }
-
-    private static boolean hasParentAmongNodes(final Node[] nodes,
-                                               final int idx) {
-        Node node;
-
-        node = nodes[idx].getParentNode();
-        while (null != node) {
-            for (int i = 0; i < nodes.length; i++) {
-                if (i == idx) {
-                    continue;
-                }
-                if (node == nodes[i]) {
-                    return true;
-                }
-            }
-            node = node.getParentNode();
-        }
-        return false;
-    }
-    
 }
diff --git a/java/junit/manifest.mf b/java/junit/manifest.mf
index e30da45..b36f906 100644
--- a/java/junit/manifest.mf
+++ b/java/junit/manifest.mf
@@ -2,6 +2,6 @@
 OpenIDE-Module: org.netbeans.modules.junit/2
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/Bundle.properties
 OpenIDE-Module-Layer: org/netbeans/modules/junit/resources/layer.xml
-OpenIDE-Module-Specification-Version: 2.81
+OpenIDE-Module-Specification-Version: 2.82
 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker
 AutoUpdate-Show-In-Client: false
diff --git a/java/junit/src/org/netbeans/modules/junit/AbstractTestGenerator.java b/java/junit/src/org/netbeans/modules/junit/AbstractTestGenerator.java
index a4ef1ba..b28af8f 100644
--- a/java/junit/src/org/netbeans/modules/junit/AbstractTestGenerator.java
+++ b/java/junit/src/org/netbeans/modules/junit/AbstractTestGenerator.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.junit;
 
+import org.netbeans.modules.junit.api.JUnitVersion;
 import org.netbeans.modules.junit.api.JUnitSettings;
 import org.netbeans.modules.junit.api.JUnitTestUtil;
 import org.netbeans.api.java.source.TreeUtilities;
diff --git a/java/junit/src/org/netbeans/modules/junit/DefaultPlugin.java b/java/junit/src/org/netbeans/modules/junit/DefaultPlugin.java
index 686c33b..0011cd7 100644
--- a/java/junit/src/org/netbeans/modules/junit/DefaultPlugin.java
+++ b/java/junit/src/org/netbeans/modules/junit/DefaultPlugin.java
@@ -21,13 +21,11 @@
 
 import org.netbeans.modules.junit.api.JUnitSettings;
 import org.netbeans.modules.junit.api.JUnitTestUtil;
-import java.awt.BorderLayout;
 import java.awt.GridLayout;
 import java.awt.event.ActionListener;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
@@ -45,11 +43,9 @@
 import java.util.regex.Pattern;
 import javax.lang.model.element.TypeElement;
 import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
 import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JPanel;
-import javax.swing.JRadioButton;
 import org.netbeans.api.java.classpath.ClassPath;
 import org.netbeans.api.java.project.JavaProjectConstants;
 import org.netbeans.api.java.project.classpath.ProjectClassPathModifier;
@@ -95,6 +91,7 @@
 import org.netbeans.modules.java.testrunner.GuiUtils;
 import static org.netbeans.modules.java.testrunner.JavaUtils.PROP_JUNIT_SELECTED_VERSION;
 import org.netbeans.modules.junit.api.JUnitUtils;
+import org.netbeans.modules.junit.api.JUnitVersion;
 import static org.openide.ErrorManager.ERROR;
 import static org.openide.ErrorManager.WARNING;
 import static org.openide.NotifyDescriptor.CANCEL_OPTION;
@@ -128,7 +125,8 @@
                                 = "org/junit/platform/commons/annotation/Testable.class";               //NOI18N
     
     /** */
-    private static JUnitVersion junitVer;
+    private final JUnitVersion generateVersion;
+    private JUnitVersion junitVer;
 
     /** name of FreeMarker template property - generate {@literal &#64;BeforeClass} method? */
     private static final String templatePropBeforeClass = "classSetUp"; //NOI18N
@@ -159,23 +157,23 @@
     private static boolean generatingIntegrationTest = false;
     
     private static final String PROJECT_PROPERTIES_PATH = "nbproject/project.properties";
+
+    public DefaultPlugin(JUnitVersion v) {
+        generateVersion = v;
+    }
     
     public static void logJUnitUsage(URI projectURI) {
         String version = "";
-        if (junitVer == null) {
-            Project project = FileOwnerQuery.getOwner(projectURI);
-            final ClassPath classPath = getTestClassPath(project);
-            if (classPath != null) {
-                if (classPath.findResource(JUNIT5_SPECIFIC) != null) {
-                    version = JUnitVersion.JUNIT5.toString();
-                } else if (classPath.findResource(JUNIT4_SPECIFIC) != null) {
-                    version = JUnitVersion.JUNIT4.toString();
-                } else if (classPath.findResource(JUNIT3_SPECIFIC) != null) {
-                    version = JUnitVersion.JUNIT3.toString();
-                }
+        Project project = FileOwnerQuery.getOwner(projectURI);
+        final ClassPath classPath = getTestClassPath(project);
+        if (classPath != null) {
+            if (classPath.findResource(JUNIT5_SPECIFIC) != null) {
+                version = JUnitVersion.JUNIT5.toString();
+            } else if (classPath.findResource(JUNIT4_SPECIFIC) != null) {
+                version = JUnitVersion.JUNIT4.toString();
+            } else if (classPath.findResource(JUNIT3_SPECIFIC) != null) {
+                version = JUnitVersion.JUNIT3.toString();
             }
-        } else {
-            version = junitVer.toString();
         }
         UnitTestsUsage.getInstance().logUnitTestUsage(projectURI, version);
     }
@@ -840,7 +838,7 @@
         progress.displayStatusText(msg);
         generatingIntegrationTest = Boolean.TRUE.equals(params.get(CreateTestParam.INC_GENERATE_INTEGRATION_TEST));
 
-        final TestCreator testCreator = new TestCreator(params, junitVer);
+        final TestCreator testCreator = new TestCreator(params, useVersion());
         
         CreationResults results;
         try {
@@ -1099,7 +1097,10 @@
             return false;
         }
 
-        if (junitVer != null) {
+        GO_ON: if (junitVer != null) {
+            if (generateVersion != null && junitVer != generateVersion) {
+                break GO_ON;
+            }
             switch (junitVer) {
                 case JUNIT3:
                     return true;
@@ -1187,31 +1188,30 @@
             }
         }
 
-        String msgKey;
-        boolean offerJUnit4;
-        boolean defaultToJUnit5 = false;
-        boolean showSourceLevelReqs;
-        String sourceLevel = JUnitTestUtil.getSourceLevel(selectedFiles[0]);
-        if (sourceLevel == null) {
-            msgKey = "MSG_select_junit_version_srclvl_unknown";         //NOI18N
-            offerJUnit4 = true;
-            showSourceLevelReqs = true;
+
+        if (generateVersion != null) {
+            junitVer = generateVersion;
         } else {
-            msgKey = "MSG_select_junit_version";                        //NOI18N
-            defaultToJUnit5 = (sourceLevel.compareTo("1.8") >= 0);      //NOI18N
-            offerJUnit4 = (sourceLevel.compareTo("1.5") >= 0);          //NOI18N
-            showSourceLevelReqs = !offerJUnit4;
-        }
-        loadJUnitToUseFromPropertiesFile(project);
-        if(junitVer == null) {
-            
-            if (defaultToJUnit5) {
-                // Java 8 and above should default to JUnit 5
-                junitVer = JUnitVersion.JUNIT5;
+            boolean offerJUnit4;
+            boolean defaultToJUnit5 = false;
+            String sourceLevel = JUnitTestUtil.getSourceLevel(selectedFiles[0]);
+            if (sourceLevel == null) {
+                offerJUnit4 = true;
             } else {
-                // probably new project after 8.1, since determining junitVer failed
-                // sofar, so as last resort default to 4.x
-                junitVer = JUnitVersion.JUNIT4;
+                defaultToJUnit5 = generateVersion == null && (sourceLevel.compareTo("1.8") >= 0);      //NOI18N
+                offerJUnit4 = (sourceLevel.compareTo("1.5") >= 0);          //NOI18N
+            }
+            loadJUnitToUseFromPropertiesFile(project);
+            if(junitVer == null) {
+
+                if (defaultToJUnit5) {
+                    // Java 8 and above should default to JUnit 5
+                    junitVer = JUnitVersion.JUNIT5;
+                } else {
+                    // probably new project after 8.1, since determining junitVer failed
+                    // sofar, so as last resort default to 4.x
+                    junitVer = JUnitVersion.JUNIT4;
+                }
             }
         }
         if ((junitVer != null) && storeSettings) {
@@ -2358,6 +2358,13 @@
                 sourceName);
     }
 
+    private JUnitVersion useVersion() {
+        if (generateVersion != null) {
+            return generateVersion;
+        }
+        return junitVer;
+    }
+
     
     /**
      * Error thrown by failed test creation.
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnit3TestGenerator.java b/java/junit/src/org/netbeans/modules/junit/JUnit3TestGenerator.java
index cda9677..1d6e3c4 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnit3TestGenerator.java
+++ b/java/junit/src/org/netbeans/modules/junit/JUnit3TestGenerator.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.junit;
 
+import org.netbeans.modules.junit.api.JUnitVersion;
 import org.netbeans.modules.junit.api.JUnitTestUtil;
 import com.sun.source.tree.BlockTree;
 import com.sun.source.tree.ClassTree;
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnit4TestGenerator.java b/java/junit/src/org/netbeans/modules/junit/JUnit4TestGenerator.java
index 922c496..b53c5e0 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnit4TestGenerator.java
+++ b/java/junit/src/org/netbeans/modules/junit/JUnit4TestGenerator.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.junit;
 
+import org.netbeans.modules.junit.api.JUnitVersion;
 import com.sun.source.tree.AnnotationTree;
 import com.sun.source.tree.BlockTree;
 import com.sun.source.tree.ClassTree;
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnit5TestGenerator.java b/java/junit/src/org/netbeans/modules/junit/JUnit5TestGenerator.java
index 6262dac..f2296eb 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnit5TestGenerator.java
+++ b/java/junit/src/org/netbeans/modules/junit/JUnit5TestGenerator.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.junit;
 
+import org.netbeans.modules.junit.api.JUnitVersion;
 import com.sun.source.tree.BlockTree;
 import com.sun.source.tree.ClassTree;
 import com.sun.source.tree.ExpressionTree;
diff --git a/java/junit/src/org/netbeans/modules/junit/TestCreator.java b/java/junit/src/org/netbeans/modules/junit/TestCreator.java
index a7efeb2..c0d8616 100644
--- a/java/junit/src/org/netbeans/modules/junit/TestCreator.java
+++ b/java/junit/src/org/netbeans/modules/junit/TestCreator.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.junit;
 
+import org.netbeans.modules.junit.api.JUnitVersion;
 import org.netbeans.modules.junit.api.JUnitTestUtil;
 import java.io.IOException;
 import java.util.Collections;
diff --git a/java/junit/src/org/netbeans/modules/junit/api/JUnitSettings.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitSettings.java
index 3127e2d..a10cf82 100644
--- a/java/junit/src/org/netbeans/modules/junit/api/JUnitSettings.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitSettings.java
@@ -21,7 +21,6 @@
 
 import java.util.prefs.Preferences;
 import org.netbeans.modules.java.testrunner.CommonSettings;
-import org.netbeans.modules.junit.JUnitVersion;
 import org.openide.util.HelpCtx;
 import org.openide.util.NbBundle;
 import org.openide.util.NbPreferences;
diff --git a/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
index 6ae6efa..9f416db 100644
--- a/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitTestUtil.java
@@ -822,9 +822,19 @@
      *
      */
     public static JUnitPlugin getPluginForProject(final Project project) {
-        Object pluginObj = project.getLookup().lookup(JUnitPlugin.class);
-        return (pluginObj != null) ? (JUnitPlugin) pluginObj
-                                   : new DefaultPlugin();
+        return getPluginForProject(project, null);
+    }
+
+    /**
+     *
+     * @param project
+     * @param preferredVersion
+     * @return
+     * @since 2.82
+     */
+    public static JUnitPlugin getPluginForProject(Project project, JUnitVersion preferredVersion) {
+        JUnitPlugin pluginObj = project.getLookup().lookup(JUnitPlugin.class);
+        return pluginObj != null ? pluginObj : new DefaultPlugin(preferredVersion);
     }
     
     public static JUnitPlugin getITPluginForProject(final Project project) {
diff --git a/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
index 9e93a14..f39869e 100644
--- a/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitUtils.java
@@ -109,7 +109,7 @@
     }
     
     public static DataObject createSuiteTest(FileObject targetRootFolder, FileObject targetFolder, String suiteName, Map<CommonPlugin.CreateTestParam, Object> params) {
-        DefaultPlugin defaultPlugin = new DefaultPlugin();
+        DefaultPlugin defaultPlugin = new DefaultPlugin(null);
         
         if (!defaultPlugin.setupJUnitVersionByProject(targetFolder)) {
             return null;
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/junit/src/org/netbeans/modules/junit/api/JUnitVersion.java
similarity index 89%
rename from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
rename to java/junit/src/org/netbeans/modules/junit/api/JUnitVersion.java
index ce5fca3..7d8ce41 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/junit/src/org/netbeans/modules/junit/api/JUnitVersion.java
@@ -17,12 +17,13 @@
  * under the License.
  */
 
-package org.netbeans.modules.junit;
+package org.netbeans.modules.junit.api;
 
-/**
+/** Supported JUnit versions.
+ * @since 2.82
  */
 public enum JUnitVersion {
     JUNIT3,
     JUNIT4,
-    JUNIT5
+    JUNIT5;
 }
diff --git a/java/libs.springframework/external/binaries-list b/java/libs.springframework/external/binaries-list
index 890cd2e..ba30c9e 100644
--- a/java/libs.springframework/external/binaries-list
+++ b/java/libs.springframework/external/binaries-list
@@ -14,7 +14,26 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-7666B94C1004AFFFE88E5328BD70EBA6F60125F4 spring-framework-3.2.7.RELEASE.zip
+
+BF3BD91214A6D0B4C4DAEEFBE3FCF008D9E3A368 org.springframework:spring-aop:3.2.18.RELEASE
+6DA09D3FFFB160DA4DCBFCB37F2C69841DC5880C org.springframework:spring-aspects:3.2.18.RELEASE
+4C0BB7E1A69D650145E8E08A3BCC03A8BC3C453E org.springframework:spring-beans:3.2.18.RELEASE
+E8DC9E1B55BFB6AD5AD49B358D5CA6E3D4CD7488 org.springframework:spring-context:3.2.18.RELEASE
+04350E904118D340AC3BAB577A3CF1CE5E978BB2 org.springframework:spring-context-support:3.2.18.RELEASE
+0E2BD9C162280CD79C2EA0F67F174EE5D7B84DDD org.springframework:spring-core:3.2.18.RELEASE
+070C1FB9F2111601193E01A8D0C3CCBCA1BF3706 org.springframework:spring-expression:3.2.18.RELEASE
+19E9E757AB89ABE73DC537BD23B7E2C7F43BA47C org.springframework:spring-instrument:3.2.18.RELEASE
+42242449CF080B4681F3E17F9390CA1389A5823B org.springframework:spring-instrument-tomcat:3.2.18.RELEASE
+FF23752B5D75C96FFA6B3EC5055CBC07ED8F0675 org.springframework:spring-jdbc:3.2.18.RELEASE
+BD9D212D1501985448BDB42F35C15D87089BAC92 org.springframework:spring-jms:3.2.18.RELEASE
+4A771498E04A81D107349CE717251558F8F24931 org.springframework:spring-orm:3.2.18.RELEASE
+A1A8B9558B024D44C5CCDBE6523D4504C86AAC7A org.springframework:spring-oxm:3.2.18.RELEASE
+BE7D91FE8416A30F53D1039ACEEA08A9AC4AC0DF org.springframework:spring-struts:3.2.18.RELEASE
+93351AD841EB73899E2FA8F17F0F55F7346198C9 org.springframework:spring-test:3.2.18.RELEASE
+FDD56C7F7AC4EE463BAE12DDCB2EDB0AFCCBDDE6 org.springframework:spring-tx:3.2.18.RELEASE
+BC0BDADE0A7A52B8FAE88E1FEBC8479383A2ACAD org.springframework:spring-web:3.2.18.RELEASE
+60E5BB3DC9CB83D6CC53628082EC89A57D4832B2 org.springframework:spring-webmvc:3.2.18.RELEASE
+3A5C539FC312C386699CD78DA46C579B3C9A191D org.springframework:spring-webmvc-portlet:3.2.18.RELEASE
 
 B426D37D95562934EB83845709760D69547017C5 org.springframework:spring-aop:4.3.25.RELEASE
 C8B685E6ED0D7DA3710335CF961A498BDB3FDDE2 org.springframework:spring-aspects:4.3.25.RELEASE
diff --git a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt b/java/libs.springframework/external/spring-framework-3.2.18.RELEASE-license.txt
similarity index 87%
copy from java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt
copy to java/libs.springframework/external/spring-framework-3.2.18.RELEASE-license.txt
index 8edc4a7..7305309 100644
--- a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt
+++ b/java/libs.springframework/external/spring-framework-3.2.18.RELEASE-license.txt
@@ -1,11 +1,12 @@
 Name: Spring Framework
 Description: Java/J2EE application framework
-Version: 3.2.7.RELEASE
+Version: 3.2.18.RELEASE
 Origin: SpringSource
-License: Apache-2.0-spring3.2.7
-URL: http://www.springsource.org/download
+License: Apache-2.0-spring3.2.18
+Files: spring-aop-3.2.18.RELEASE.jar spring-aspects-3.2.18.RELEASE.jar spring-beans-3.2.18.RELEASE.jar spring-context-3.2.18.RELEASE.jar spring-context-support-3.2.18.RELEASE.jar spring-core-3.2.18.RELEASE.jar spring-expression-3.2.18.RELEASE.jar spring-instrument-3.2.18.RELEASE.jar spring-instrument-tomcat-3.2.18.RELEASE.jar spring-jdbc-3.2.18.RELEASE.jar spring-jms-3.2.18.RELEASE.jar spring-orm-3.2.18.RELEASE.jar spring-oxm-3.2.18.RELEASE.jar spring-struts-3.2.18.RELEASE.jar spring-test-3.2.18.RELEASE.jar spring-tx-3.2.18.RELEASE.jar spring-web-3.2.18.RELEASE.jar spring-webmvc-3.2.18.RELEASE.jar spring-webmvc-portlet-3.2.18.RELEASE.jar
+URL: https://spring.io/projects/spring-framework
 
-				  Apache License
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -209,18 +210,19 @@
 
 =======================================================================
 
-SPRING FRAMEWORK 3.1 SUBCOMPONENTS:
+SPRING FRAMEWORK 3.2.18.RELEASE SUBCOMPONENTS:
 
-Spring Framework 3.1 includes a number of subcomponents with
-separate copyright notices and license terms.  The product that
+Spring Framework 3.2.18.RELEASE includes a number of subcomponents
+with separate copyright notices and license terms. The product that
 includes this file does not necessarily use all the open source
 subcomponents referred to below. Your use of the source
 code for these subcomponents is subject to the terms and
 conditions of the following licenses.
 
->>> asm-2.2.3:
 
-Copyright (c) 2000-2005 INRIA, France Telecom
+>>> ASM 4.0 (org.ow2.asm:asm:4.0, org.ow2.asm:asm-commons:4.0):
+
+Copyright (c) 2000-2011 INRIA, France Telecom
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -252,17 +254,34 @@
 
 Copyright (c) 1999-2009, OW2 Consortium <http://www.ow2.org/>
 
+
+>>> CGLIB 3.0 (cglib:cglib:3.0):
+
+Per the LICENSE file in the CGLIB JAR distribution downloaded from
+http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download,
+CGLIB 3.0 is licensed under the Apache License, version 2.0, the text of which
+is included above.
+
+
 =======================================================================
 
-To the extent any open source subcomponents are licensed under the EPL and/or other
-similar licenses that require the source code and/or modifications to
+To the extent any open source subcomponents are licensed under the EPL and/or
+other similar licenses that require the source code and/or modifications to
 source code to be made available (as would be noted above), you may obtain a
 copy of the source code corresponding to the binaries for such open source
 components and modifications thereto, if any, (the "Source Files"), by
-downloading the Source Files from http://www.springsource.org/download,
-or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview
-Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com.  All
-such requests should clearly specify:  OPEN SOURCE FILES REQUEST, Attention General
-Counsel.  VMware shall mail a copy of the Source Files to you on a CD or equivalent
-physical medium.  This offer to obtain a copy of the Source Files is valid for three
-years from the date you acquired this Software product.
+downloading the Source Files from http://www.springsource.org/download, or by
+sending a request, with your name and address to:
+
+    Pivotal, Inc., 875 Howard St,
+    San Francisco, CA 94103
+    United States of America
+
+or email info@gopivotal.com.  All such requests should clearly specify:
+
+    OPEN SOURCE FILES REQUEST
+    Attention General Counsel
+
+Pivotal shall mail a copy of the Source Files to you on a CD or equivalent
+physical medium. This offer to obtain a copy of the Source Files is valid for
+three years from the date you acquired this Software product.
diff --git a/java/libs.springframework/external/spring-framework-3.2.18.RELEASE-notice.txt b/java/libs.springframework/external/spring-framework-3.2.18.RELEASE-notice.txt
new file mode 100644
index 0000000..e16ce3c
--- /dev/null
+++ b/java/libs.springframework/external/spring-framework-3.2.18.RELEASE-notice.txt
@@ -0,0 +1,2 @@
+Spring Framework 3.2.18.RELEASE
+Copyright (c) 2002-2016 Pivotal, Inc.
diff --git a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-notice.txt b/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-notice.txt
deleted file mode 100644
index 9823622..0000000
--- a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-notice.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Spring Framework 3.2.7.RELEASE
-Copyright (c) 2002-2014 Pivotal, Inc.
\ No newline at end of file
diff --git a/java/libs.springframework/nbproject/project.properties b/java/libs.springframework/nbproject/project.properties
index 3caa2be..63adc8c 100644
--- a/java/libs.springframework/nbproject/project.properties
+++ b/java/libs.springframework/nbproject/project.properties
@@ -22,29 +22,26 @@
 
 module.jar.verifylinkageignores=org((\.apache\.commons\.logging\.impl)|(\.springframework)).*
 
-# Spring 3.2.7
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-aop-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-aop-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-aspects-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-aspects-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-beans-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-beans-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-build-src-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-build-src-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-context-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-context-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-context-support-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-context-support-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-core-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-core-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-expression-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-expression-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-framework-bom-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-framework-bom-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-instrument-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-instrument-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-instrument-tomcat-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-instrument-tomcat-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-jdbc-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-jdbc-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-jms-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-jms-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-orm-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-orm-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-oxm-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-oxm-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-struts-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-struts-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-test-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-test-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-tx-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-tx-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-web-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-web-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-webmvc-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-webmvc-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/spring-webmvc-portlet-3.2.7.RELEASE.jar=modules/ext/spring-3.0/spring-webmvc-portlet-3.2.7.RELEASE.jar
-release.external/spring-framework-3.2.7.RELEASE.zip!/spring-framework-3.2.7.RELEASE/license.txt=modules/ext/spring-3.0/license.txt
+# Spring 3.2.18
+release.external/spring-aop-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-aop-3.2.18.RELEASE.jar
+release.external/spring-aspects-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-aspects-3.2.18.RELEASE.jar
+release.external/spring-beans-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-beans-3.2.18.RELEASE.jar
+release.external/spring-context-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-context-3.2.18.RELEASE.jar
+release.external/spring-context-support-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-context-support-3.2.18.RELEASE.jar
+release.external/spring-core-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-core-3.2.18.RELEASE.jar
+release.external/spring-expression-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-expression-3.2.18.RELEASE.jar
+release.external/spring-instrument-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-instrument-3.2.18.RELEASE.jar
+release.external/spring-instrument-tomcat-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-instrument-tomcat-3.2.18.RELEASE.jar
+release.external/spring-jdbc-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-jdbc-3.2.18.RELEASE.jar
+release.external/spring-jms-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-jms-3.2.18.RELEASE.jar
+release.external/spring-orm-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-orm-3.2.18.RELEASE.jar
+release.external/spring-oxm-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-oxm-3.2.18.RELEASE.jar
+release.external/spring-struts-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-struts-3.2.18.RELEASE.jar
+release.external/spring-test-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-test-3.2.18.RELEASE.jar
+release.external/spring-tx-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-tx-3.2.18.RELEASE.jar
+release.external/spring-web-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-web-3.2.18.RELEASE.jar
+release.external/spring-webmvc-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-webmvc-3.2.18.RELEASE.jar
+release.external/spring-webmvc-portlet-3.2.18.RELEASE.jar=modules/ext/spring-3.0/spring-webmvc-portlet-3.2.18.RELEASE.jar
 
 # Spring 4.3.25
 release.external/spring-aop-4.3.25.RELEASE.jar=modules/ext/spring-4/spring-aop-4.3.25.RELEASE.jar
@@ -92,27 +89,27 @@
 release.external/spring-websocket-5.2.2.RELEASE.jar=modules/ext/spring-5/spring-websocket-5.2.2.RELEASE.jar
 
 jnlp.indirect.jars=\
-    modules/ext/spring-3.0/spring-aop-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-aspects-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-beans-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-build-src-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-context-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-context-support-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-core-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-expression-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-framework-bom-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-instrument-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-instrument-tomcat-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-jdbc-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-jms-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-orm-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-oxm-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-struts-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-test-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-tx-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-web-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-webmvc-3.2.7.RELEASE.jar,\
-    modules/ext/spring-3.0/spring-webmvc-portlet-3.2.7.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-aop-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-aspects-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-beans-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-build-src-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-context-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-context-support-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-core-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-expression-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-framework-bom-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-instrument-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-instrument-tomcat-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-jdbc-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-jms-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-orm-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-oxm-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-struts-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-test-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-tx-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-web-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-webmvc-3.2.18.RELEASE.jar,\
+    modules/ext/spring-3.0/spring-webmvc-portlet-3.2.18.RELEASE.jar,\
     modules/ext/spring-4/spring-aop-4.3.25.RELEASE.jar,\
     modules/ext/spring-4/spring-aspects-4.3.25.RELEASE.jar,\
     modules/ext/spring-4/spring-beans-4.3.25.RELEASE.jar,\
@@ -154,6 +151,3 @@
     modules/ext/spring-5/spring-webflux-5.2.2.RELEASE.jar,\
     modules/ext/spring-5/spring-webmvc-5.2.2.RELEASE.jar,\
     modules/ext/spring-5/spring-websocket-5.2.2.RELEASE.jar
-
-jnlp.verify.excludes=\
-    modules/ext/spring-3.0/license.txt
diff --git a/java/libs.springframework/src/org/netbeans/libs/springframework/Bundle.properties b/java/libs.springframework/src/org/netbeans/libs/springframework/Bundle.properties
index 97591aa..1930b42 100644
--- a/java/libs.springframework/src/org/netbeans/libs/springframework/Bundle.properties
+++ b/java/libs.springframework/src/org/netbeans/libs/springframework/Bundle.properties
@@ -22,6 +22,6 @@
     The module bundles the Spring Framework http://www.springframework.org/ \
     and integrates it into NetBeans.
 
-spring-framework300=Spring Framework 3.2.7
+spring-framework300=Spring Framework 3.2.18
 spring-framework400=Spring Framework 4.3.25
 spring-framework500=Spring Framework 5.2.2
diff --git a/java/libs.springframework/src/org/netbeans/libs/springframework/spring-framework300.xml b/java/libs.springframework/src/org/netbeans/libs/springframework/spring-framework300.xml
index 3f70cc4..d69ff59 100644
--- a/java/libs.springframework/src/org/netbeans/libs/springframework/spring-framework300.xml
+++ b/java/libs.springframework/src/org/netbeans/libs/springframework/spring-framework300.xml
@@ -28,27 +28,27 @@
         <resource>jar:nbinst://org.apache.commons.logging/modules/org-apache-commons-logging.jar!/</resource>
         <resource>jar:nbinst://org.netbeans.libs.cglib/modules/ext/cglib-2.2.jar!/</resource>
 
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-aop-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-aspects-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-beans-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-build-src-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-context-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-context-support-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-core-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-expression-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-framework-bom-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-instrument-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-instrument-tomcat-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-jdbc-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-jms-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-orm-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-oxm-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-struts-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-test-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-tx-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-web-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-webmvc-3.2.7.RELEASE.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-webmvc-portlet-3.2.7.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-aop-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-aspects-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-beans-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-build-src-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-context-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-context-support-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-core-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-expression-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-framework-bom-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-instrument-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-instrument-tomcat-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-jdbc-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-jms-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-orm-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-oxm-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-struts-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-test-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-tx-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-web-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-webmvc-3.2.18.RELEASE.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.springframework/modules/ext/spring-3.0/spring-webmvc-portlet-3.2.18.RELEASE.jar!/</resource>
     </volume>
     <volume>
         <type>src</type>
@@ -61,26 +61,26 @@
         <property>
             <name>maven-dependencies</name>
             <value>
-                org.springframework:spring-aop:3.2.7.RELEASE:jar
-                org.springframework:spring-aspects:3.2.7.RELEASE:jar
-                org.springframework:spring-beans:3.2.7.RELEASE:jar
-                org.springframework:spring-context:3.2.7.RELEASE:jar
-                org.springframework:spring-context-support:3.2.7.RELEASE:jar
-                org.springframework:spring-core:3.2.7.RELEASE:jar
-                org.springframework:spring-expression:3.2.7.RELEASE:jar
-                org.springframework:spring-framework-bom:3.2.7.RELEASE:pom
-                org.springframework:spring-instrument:3.2.7.RELEASE:jar
-                org.springframework:spring-instrument-tomcat:3.2.7.RELEASE:jar
-                org.springframework:spring-jdbc:3.2.7.RELEASE:jar
-                org.springframework:spring-jms:3.2.7.RELEASE:jar
-                org.springframework:spring-orm:3.2.7.RELEASE:jar
-                org.springframework:spring-oxm:3.2.7.RELEASE:jar
-                org.springframework:spring-struts:3.2.7.RELEASE:jar
-                org.springframework:spring-test:3.2.7.RELEASE:jar
-                org.springframework:spring-tx:3.2.7.RELEASE:jar
-                org.springframework:spring-web:3.2.7.RELEASE:jar
-                org.springframework:spring-webmvc:3.2.7.RELEASE:jar
-                org.springframework:spring-webmvc-portlet:3.2.7.RELEASE:jar
+                org.springframework:spring-aop:3.2.18.RELEASE:jar
+                org.springframework:spring-aspects:3.2.18.RELEASE:jar
+                org.springframework:spring-beans:3.2.18.RELEASE:jar
+                org.springframework:spring-context:3.2.18.RELEASE:jar
+                org.springframework:spring-context-support:3.2.18.RELEASE:jar
+                org.springframework:spring-core:3.2.18.RELEASE:jar
+                org.springframework:spring-expression:3.2.18.RELEASE:jar
+                org.springframework:spring-framework-bom:3.2.18.RELEASE:pom
+                org.springframework:spring-instrument:3.2.18.RELEASE:jar
+                org.springframework:spring-instrument-tomcat:3.2.18.RELEASE:jar
+                org.springframework:spring-jdbc:3.2.18.RELEASE:jar
+                org.springframework:spring-jms:3.2.18.RELEASE:jar
+                org.springframework:spring-orm:3.2.18.RELEASE:jar
+                org.springframework:spring-oxm:3.2.18.RELEASE:jar
+                org.springframework:spring-struts:3.2.18.RELEASE:jar
+                org.springframework:spring-test:3.2.18.RELEASE:jar
+                org.springframework:spring-tx:3.2.18.RELEASE:jar
+                org.springframework:spring-web:3.2.18.RELEASE:jar
+                org.springframework:spring-webmvc:3.2.18.RELEASE:jar
+                org.springframework:spring-webmvc-portlet:3.2.18.RELEASE:jar
             </value>
         </property>
     </properties>
diff --git a/java/maven.embedder/build.xml b/java/maven.embedder/build.xml
index 2b8e15b..81572d5 100644
--- a/java/maven.embedder/build.xml
+++ b/java/maven.embedder/build.xml
@@ -27,5 +27,19 @@
             <mapper type="glob" from="${bundled.maven}/*" to="*"/>
         </unzip>                
     </target>
-        
+    <!-- To check sha1 binaries that are in maven zip (better maven artefacts generation 
+         Call manually on maven upgrade
+    -->
+    <target name="checkhash" depends="init">
+        <taskdef name="checkjarssha1" classname="org.netbeans.nbbuild.extlibs.CheckEmbeddedBinaries" classpath="${nbantext.jar}"/>
+        <mkdir dir="tmptesting"/>
+        <unzip src="external/${bundled.maven}-bin.zip" dest="tmptesting">
+            <patternset>
+                <include name="**/*.jar"/>
+            </patternset>
+            <mapper type="flatten"/>
+        </unzip>
+        <checkjarssha1 dir="tmptesting" shalist="external/binariesembedded-list" />
+        <delete dir="tmptesting"/>
+    </target>
 </project>
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-bin-notice.txt b/java/maven.embedder/external/apache-maven-3.3.9-bin-notice.txt
deleted file mode 100644
index acb4e98..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-bin-notice.txt
+++ /dev/null
@@ -1,194 +0,0 @@
-Apache Maven Distribution
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-Apache Commons CLI
-Copyright 2001-2009 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Apache Commons IO
-Copyright 2002-2012 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Apache Commons Lang
-Copyright 2001-2011 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Apache Commons Lang
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-This product includes software from the Spring Framework,
-under the Apache License 2.0 (see: StringUtils.containsWhitespace())
-
-Google Guice - Core Library
-Copyright 2006-2015 Google, Inc.
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Aether Provider
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Artifact
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Builder Support
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Compat
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Core
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Embedder
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Model
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Model Builder
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Plugin API
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Repository Metadata Model
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Settings
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Maven Settings Builder
-Copyright 2001-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-This product includes software developed by the Indiana University 
-  Extreme! Lab (http://www.extreme.indiana.edu/).
-
-This product includes software developed by 
-The Apache Software Foundation (http://www.apache.org/).
-
-This product includes software developed by 
-ThoughtWorks (http://www.thoughtworks.com).
-
-This product includes software developed by 
-javolution (http://javolution.org/).
-
-This product includes software developed by 
-Rome (https://rome.dev.java.net/).
-Apache Maven Wagon :: Providers :: File Provider
-Copyright 2003-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Apache Maven Wagon :: Providers :: HTTP Provider
-Copyright 2003-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-Apache Commons Lang
-Copyright 2001-2011 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Apache Maven Wagon :: Providers :: HTTP Shared Library
-Copyright 2003-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-
-Apache Maven Wagon :: API
-Copyright 2003-2015 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-
-Plexus Cipher
-
-The code in this component contains a class - Base64 taken from http://juliusdavies.ca/svn/not-yet-commons-ssl/tags/commons-ssl-0.3.10/src/java/org/apache/commons/ssl/Base64.java
-which is Apache license: http://www.apache.org/licenses/LICENSE-2.0
-
-The PBE key processing routine PBECipher.createCipher() is adopted from http://juliusdavies.ca/svn/not-yet-commons-ssl/tags/commons-ssl-0.3.10/src/java/org/apache/commons/ssl/OpenSSL.java
-which is also Apache APL-2.0 license: http://www.apache.org/licenses/LICENSE-2.0 
\ No newline at end of file
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-epl-license.txt b/java/maven.embedder/external/apache-maven-3.3.9-epl-license.txt
deleted file mode 100644
index bbce2f8..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-epl-license.txt
+++ /dev/null
@@ -1,268 +0,0 @@
-Name: Apache Maven components under EPL v1.0
-Description: These Apache Maven components are under EPL v1.0: aether-api-1.0.2.v20150114.jar aether-connector-basic-1.0.2.v20150114.jar aether-impl-1.0.2.v20150114.jar aether-spi-1.0.2.v20150114.jar aether-transport-wagon-1.0.2.v20150114.jar aether-util-1.0.2.v20150114.jar org.eclipse.sisu.inject-0.3.2.jar org.eclipse.sisu.plexus-0.3.2.jar
-Version: 3.3.9
-License: Maven-EPL-v10
-Origin: Apache Software Foundation
-Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-api-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-connector-basic-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-impl-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-spi-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-transport-wagon-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aether-util-1.0.2.v20150114.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/org.eclipse.sisu.inject-0.3.2.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/org.eclipse.sisu.plexus-0.3.2.jar
-
-<?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 (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; 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>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; 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>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; 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
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-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 &quot;AS IS&quot; 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>
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-jsoup-license.txt b/java/maven.embedder/external/apache-maven-3.3.9-jsoup-license.txt
deleted file mode 100644
index baf1db9..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-jsoup-license.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Name: jsoup
-Description: Part of Apache Maven Distribution
-Version: 3.3.9
-License: Maven-jsoup
-Origin: Apache Software Foundation
-Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/jsoup-1.7.2.jar
-
-<!doctype html>
-<html>
- <head>
-  <title>jsoup License</title>
-  <meta name="keywords" content="license, open source, mit">
-  <meta name="description" content="jsoup is licensed under the MIT open source license">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link type="text/css" rel="stylesheet" href="/rez/style.css">
-  <script>
-  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-  ga('create', 'UA-89734-10', 'auto');
-  ga('send', 'pageview');
-
-</script>
- </head>
- <body class="n1-">
-  <div class="wrap">
-   <div class="header">
-    <div class="nav-sections">
-     <ul>
-      <li class="n1-home"><h4><a href="/">jsoup</a></h4></li>
-      <li class="n1-news"><a href="/news/">News</a></li>
-      <li class="n1-bugs"><a href="/bugs">Bugs</a></li>
-      <li class="n1-discussion"><a href="/discussion">Discussion</a></li>
-      <li class="n1-download"><a href="/download">Download</a></li>
-      <li class="n1-api"><a href="/apidocs/">API Reference</a></li>
-      <li class="n1-cookbook"><a href="/cookbook/">Cookbook</a></li>
-      <li class="n1-try"><a href="http://try.jsoup.org/">Try jsoup</a></li>
-     </ul>
-    </div>
-   </div>
-   <div class="breadcrumb">
-    <a href="/">jsoup</a>
-    <span class="seperator">&raquo;</span> jsoup License
-   </div>
-   <div class="content">
-    <div class="col1">
-     <h1>jsoup License</h1>
-     <p>The jsoup code-base (include source and compiled packages) are distributed under the open source MIT license as described below.</p>
-     <h3>The MIT License</h3>
-     <p>Copyright &copy; 2009 - 2013 <a href="http://jonathanhedley.com">Jonathan Hedley</a> (<a href="mailto:jonathan@hedley.net">jonathan@hedley.net</a>)</p>
-     <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
-     <p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
-     <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
-    </div>
-    <!-- /col1 -->
-    <div class="col2">
-    </div>
-    <!-- /col2 -->
-   </div>
-   <!-- /content-->
-   <div class="footer">
-    <b>jsoup HTML parser</b> &copy; 2009 - 2015
-    <a href="http://jhy.io/" rel="author"><b>Jonathan Hedley</b></a>
-   </div>
-  </div>
-  <!-- /wrap -->
-  <script src="/rez/prettify.js"></script>
-  <script>prettyPrint();</script>
- </body>
-</html>
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-jsr-250-license.txt b/java/maven.embedder/external/apache-maven-3.3.9-jsr-250-license.txt
deleted file mode 100644
index 6bfb277..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-jsr-250-license.txt
+++ /dev/null
@@ -1,413 +0,0 @@
-Name: JSR-250 Common Annotations for the JavaTM Platform
-Description: Part of Apache Maven Distribution
-Version: 3.3.9
-License: Maven-CDDL-1.0
-Origin: Apache Software Foundation
-Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/jsr250-api-1.0.jar
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type"
- content="text/html; charset=ISO-8859-1">
-  <title>CDDL ver. 1.0</title>
-  <meta name="author" content="Cliff Allen">
-</head>
-<body>
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-1. <br>
-<br>
-Definitions.
-<br>
-<br>
-1.1. <span style="font-style: italic;">Contributor</span> means each
-individual or entity that creates or
-contributes to the creation of Modifications.
-<br>
-<br>
-1.2. <span style="font-style: italic;">Contributor Version</span>
-means the combination of the Original
-Software, prior Modifications used by a Contributor (if any), and the
-Modifications made by that particular Contributor.
-<br>
-<br>
-1.3. <span style="font-style: italic;">Covered Software</span> means
-(a) the Original Software, or (b)
-Modifications, or (c) the combination of files containing Original
-Software with files containing Modifications, in each case including
-portions thereof.
-<br>
-<br>
-1.4. <span style="font-style: italic;">Executable</span> means the
-Covered Software in any form other than
-Source Code.
-<br>
-<br>
-1.5. <span style="font-style: italic;">Initial Developer</span> means
-the individual or entity that first makes
-Original Software available under this License.
-<br>
-<br>
-1.6. <span style="font-style: italic;">Larger Work</span> means a work
-which combines Covered Software or
-portions thereof with code not governed by the terms of this License.
-<br>
-<br>
-1.7. <span style="font-style: italic;">License</span> means this
-document.
-<br>
-<br>
-1.8. <span style="font-style: italic;">Licensable</span> means having
-the right to grant, to the maximum extent
-possible, whether at the time of the initial grant or subsequently
-acquired, any and all of the rights conveyed herein.
-<br>
-<br>
-1.9. <span style="font-style: italic;">Modifications</span> means the
-Source Code and Executable form of any of
-the following:
-A. Any file that results from an addition to, deletion from or
-modification of the contents of a file containing Original Software or
-previous Modifications;
-B. Any new file that contains any part of the Original Software or
-previous Modification; or
-C. Any new file that is contributed or otherwise made available under
-the terms of this License.
-<br>
-<br>
-1.10. <span style="font-style: italic;">Original Software</span> means
-the Source Code and Executable form of
-computer software code that is originally released under this License.
-<br>
-<br>
-1.11. <span style="font-style: italic;">Patent Claims</span> means any
-patent claim(s), now owned or hereafter
-acquired, including without limitation, method, process, and apparatus
-claims, in any patent Licensable by grantor.
-<br>
-<br>
-1.12. <span style="font-style: italic;">Source Code</span> means (a)
-the common form of computer software code
-in which modifications are made and (b) associated documentation
-included in or with such code.
-<br>
-<br>
-1.13. <span style="font-style: italic;">You (or Your)</span> means an
-individual or a legal entity exercising
-rights under, and complying with all of the terms of, this License. For
-legal entities, You includes any entity which controls, is controlled
-by, or is under common control with You. For purposes of this
-definition, control means (a)&nbsp;the power, direct or indirect, to
-cause
-the direction or management of such entity, whether by contract or
-otherwise, or (b)&nbsp;ownership of more than fifty percent (50%) of
-the
-outstanding shares or beneficial ownership of such entity.
-<br>
-<br>
-2. License Grants.<br>
-<br>
-&nbsp;2.1. The Initial Developer Grant.
-Conditioned upon Your compliance with Section 3.1 below and subject to
-third party intellectual property claims, the Initial Developer hereby
-grants You a world-wide, royalty-free, non-exclusive license:
-<br>
-<br>
-(a) under intellectual property rights (other than patent or trademark)
-Licensable by Initial Developer, to use, reproduce, modify, display,
-perform, sublicense and distribute the Original Software (or portions
-thereof), with or without Modifications, and/or as part of a Larger
-Work; and
-<br>
-<br>
-(b) under Patent Claims infringed by the making, using or selling of
-Original Software, to make, have made, use, practice, sell, and offer
-for sale, and/or otherwise dispose of the Original Software (or
-portions thereof);<br>
-<br>
-&nbsp;(c) The licenses granted in Sections&nbsp;2.1(a) and (b) are
-effective on
-the date Initial Developer first distributes or otherwise makes the
-Original Software available to a third party under the terms of this
-License;<br>
-<br>
-&nbsp;(d) Notwithstanding Section&nbsp;2.1(b) above, no patent license
-is granted:
-(1)&nbsp;for code that You delete from the Original Software, or
-(2)&nbsp;for
-infringements caused by: (i)&nbsp;the modification of the Original
-Software,
-or (ii)&nbsp;the combination of the Original Software with other
-software or
-devices.
-<br>
-<br>
-2.2. Contributor Grant.
-Conditioned upon Your compliance with Section 3.1 below and subject to
-third party intellectual property claims,
-each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-<br>
-<br>
-(a) under intellectual property rights (other than patent or trademark)
-Licensable by Contributor to use, reproduce, modify, display, perform,
-sublicense and distribute the Modifications created by such Contributor
-(or portions thereof), either on an unmodified basis, with other
-Modifications, as Covered Software and/or as part of a Larger Work; and
-<br>
-<br>
-(b) under Patent Claims infringed by the making, using, or selling of
-Modifications made by that Contributor either alone and/or in
-combination with its Contributor Version (or portions of such
-combination), to make, use, sell, offer for sale, have made, and/or
-otherwise dispose of: (1)&nbsp;Modifications made by that Contributor
-(or
-portions thereof); and (2)&nbsp;the combination of Modifications made
-by
-that Contributor with its Contributor Version (or portions of such
-combination).
-<br>
-<br>
-(c) The licenses granted in Sections&nbsp;2.2(a) and 2.2(b) are
-effective on
-the date Contributor first distributes or otherwise makes the
-Modifications available to a third party.<br>
-<br>
-(d) Notwithstanding Section&nbsp;2.2(b) above, no patent license is
-granted:
-(1)&nbsp;for any code that Contributor has deleted from the Contributor
-Version; (2)&nbsp;for infringements caused by: (i)&nbsp;third party
-modifications
-of Contributor Version, or (ii)&nbsp;the combination of Modifications
-made
-by that Contributor with other software (except as part of the
-Contributor Version) or other devices; or (3)&nbsp;under Patent Claims
-infringed by Covered Software in the absence of Modifications made by
-that Contributor.
-<br>
-<br>
-3. Distribution Obligations.
-<br>
-<br>
-3.1. Availability of Source Code.
-Any Covered Software that You distribute or otherwise make available in
-Executable form must also be made available in Source Code form and
-that Source Code form must be distributed only under the terms of this
-License. You must include a copy of this License with every copy of the
-Source Code form of the Covered Software You distribute or otherwise
-make available. You must inform recipients of any such Covered Software
-in Executable form as to how they can obtain such Covered Software in
-Source Code form in a reasonable manner on or through a medium
-customarily used for software exchange.
-<br>
-<br>
-3.2. Modifications.
-The Modifications that You create or to which You contribute are
-governed by the terms of this License. You represent that You believe
-Your Modifications are Your original creation(s) and/or You have
-sufficient rights to grant the rights conveyed by this License.
-<br>
-<br>
-3.3. Required Notices.
-You must include a notice in each of Your Modifications that identifies
-You as the Contributor of the Modification. You may not remove or alter
-any copyright, patent or trademark notices contained within the Covered
-Software, or any notices of licensing or any descriptive text giving
-attribution to any Contributor or the Initial Developer.
-<br>
-<br>
-3.4. Application of Additional Terms.
-You may not offer or impose any terms on any Covered Software in Source
-Code form that alters or restricts the applicable version of this
-License or the recipients rights hereunder. You may choose to offer,
-and to charge a fee for, warranty, support, indemnity or liability
-obligations to one or more recipients of Covered Software. However, you
-may do so only on Your own behalf, and not on behalf of the Initial
-Developer or any Contributor. You must make it absolutely clear that
-any such warranty, support, indemnity or liability obligation is
-offered by You alone, and You hereby agree to indemnify the Initial
-Developer and every Contributor for any liability incurred by the
-Initial Developer or such Contributor as a result of warranty, support,
-indemnity or liability terms You offer.<br>
-<br>
-3.5. Distribution of Executable Versions.
-You may distribute the Executable form of the Covered Software under
-the terms of this License or under the terms of a license of Your
-choice, which may contain terms different from this License, provided
-that You are in compliance with the terms of this License and that the
-license for the Executable form
-does not attempt to limit or alter the recipients rights in the Source
-Code form from the rights set forth in this License. If You distribute
-the Covered Software in Executable form under a different license, You
-must make it absolutely clear that any terms which differ from this
-License are offered by You alone, not by the Initial Developer or
-Contributor. You hereby agree to indemnify the Initial Developer and
-every Contributor for any liability incurred by the Initial Developer
-or such Contributor as a result of any such terms You offer.
-<br>
-<br>
-3.6. Larger Works.
-You may create a Larger Work by combining Covered Software with other
-code not governed by the terms of this License and distribute the
-Larger Work as a single product. In such a case, You must make sure the
-requirements of this License are fulfilled for the Covered Software.
-<br>
-<br>
-4. Versions of the License.
-<br>
-<br>
-4.1. New Versions.
-Sun Microsystems, Inc. is the initial license steward and may publish
-revised and/or new versions of this License from time to time. Each
-version will be given a distinguishing version number. Except as
-provided in Section 4.3, no one other than the license steward has the
-right to modify this License.
-<br>
-<br>
-4.2. Effect of New Versions.
-You may always continue to use, distribute or otherwise make the
-Covered Software available under the terms of the version of the
-License under which You originally received the Covered Software. If
-the Initial Developer includes a notice in the Original Software
-prohibiting it from being distributed or otherwise made available under
-any subsequent version of the License, You must distribute and make the
-Covered Software available under the terms of the version of the
-License under which You originally received the Covered Software.
-Otherwise, You may also choose to use, distribute or otherwise make the
-Covered Software available under the terms of any subsequent version of
-the License published by the license steward.
-<br>
-<br>
-4.3. Modified Versions.
-When You are an Initial Developer and You want to create a new license
-for Your Original Software, You may create and use a modified version
-of this License if You: (a)&nbsp;rename the license and remove any
-references to the name of the license steward (except to note that the
-license differs from this License); and (b)&nbsp;otherwise make it
-clear
-that the license contains terms which differ from this License.
-<br>
-<br>
-5. DISCLAIMER OF WARRANTY.
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF
-DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
-SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN
-ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR)
-ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS
-DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
-NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
-THIS DISCLAIMER.
-<br>
-<br>
-6. TERMINATION.
-<br>
-<br>
-6.1. This License and the rights granted hereunder will terminate
-automatically if You fail to comply with terms herein and fail to cure
-such breach within 30 days of becoming aware of the breach. Provisions
-which, by their nature, must remain in effect beyond the termination of
-this License shall survive.
-<br>
-<br>
-6.2. If You assert a patent infringement claim (excluding declaratory
-judgment actions) against Initial Developer or a Contributor (the
-Initial Developer or Contributor against whom You assert such claim is
-referred to as Participant) alleging that the Participant Software
-(meaning the Contributor Version where the Participant is a Contributor
-or the Original Software where the Participant is the Initial
-Developer) directly or indirectly infringes any patent, then any and
-all rights granted directly or indirectly to You by such Participant,
-the Initial Developer (if the Initial Developer is not the Participant)
-and all Contributors under
-Sections&nbsp;2.1 and/or 2.2 of this License shall, upon 60 days notice
-from
-Participant terminate prospectively and automatically at the expiration
-of such 60 day notice period, unless if within such 60 day period You
-withdraw Your claim with respect to the Participant Software against
-such Participant either unilaterally or pursuant to a written agreement
-with Participant.
-<br>
-<br>
-6.3. In the event of termination under Sections&nbsp;6.1 or 6.2 above,
-all
-end user licenses that have been validly granted by You or any
-distributor hereunder prior to termination (excluding licenses granted
-to You by any distributor) shall survive termination.
-<br>
-<br>
-7. LIMITATION OF LIABILITY.
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED
-SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
-PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST
-PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
-MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF
-SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
-THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
-PERSONAL INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT
-ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
-DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-<br>
-<br>
-8. U.S. GOVERNMENT END USERS.
-The Covered Software is a commercial item, as that term is defined in
-48&nbsp;C.F.R.&nbsp;2.101 (Oct. 1995), consisting of commercial
-computer software
-(as that term is defined at 48 C.F.R. &nbsp;252.227-7014(a)(1)) and
-commercial computer software documentation as such terms are used in
-48&nbsp;C.F.R.&nbsp;12.212 (Sept. 1995). Consistent with 48 C.F.R.
-12.212 and 48
-C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
-End Users acquire Covered Software with only those rights set forth
-herein. This U.S. Government Rights clause is in lieu of, and
-supersedes, any other FAR, DFAR, or other clause or provision that
-addresses Government rights in computer software under this License.
-<br>
-<br>
-9. MISCELLANEOUS.
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. This License shall be governed by the
-law of the jurisdiction specified in a notice contained within the
-Original Software (except to the extent applicable law, if any,
-provides otherwise), excluding such jurisdictions conflict-of-law
-provisions. Any litigation relating to this License shall be subject to
-the jurisdiction of the courts located in the jurisdiction and venue
-specified in a notice contained within the Original Software, with the
-losing party responsible for costs, including, without limitation,
-court costs and reasonable attorneys fees and expenses. The application
-of the United Nations Convention on Contracts for the International
-Sale of Goods is expressly excluded. Any law or regulation which
-provides that the language of a contract shall be construed against the
-drafter shall not apply to this License. You agree that You alone are
-responsible for compliance with the United States export administration
-regulations (and the export control laws and regulation of any other
-countries) when You use, distribute or otherwise make available any
-Covered Software. <br>
-<br>
-10. RESPONSIBILITY FOR CLAIMS.
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or indirectly, out
-of its utilization of rights under this License and You agree to work
-with Initial Developer and Contributors to distribute such
-responsibility on an equitable basis. Nothing herein is intended or
-shall be deemed to constitute any admission of liability.
-<br>
-<br>
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
-LICENSE (CDDL)
-The code released under the CDDL shall be governed by the
-laws of the State of California (excluding conflict-of-law provisions).
-Any litigation relating to this License shall be subject to the
-jurisdiction of the Federal Courts of the Northern District of
-California and the state courts of the State of California, with venue
-lying in Santa Clara County, California.
-</body>
-</html>
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-pd-license.txt b/java/maven.embedder/external/apache-maven-3.3.9-pd-license.txt
deleted file mode 100644
index a609138..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-pd-license.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Name: aopalliance
-Description: Part of Apache Maven Distribution
-Version: 3.3.9
-License: Maven-PD
-Origin: Apache Software Foundation
-Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/aopalliance-1.0.jar
-
-LICENCE: all the source code provided by AOP Alliance is Public Domain.
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-slf4j-license.txt b/java/maven.embedder/external/apache-maven-3.3.9-slf4j-license.txt
deleted file mode 100644
index 9d172ad..0000000
--- a/java/maven.embedder/external/apache-maven-3.3.9-slf4j-license.txt
+++ /dev/null
@@ -1,377 +0,0 @@
-Name: slf4j
-Description: Part of Apache Maven Distribution
-Version: 3.3.9
-License: Maven-MIT
-Origin: Apache Software Foundation
-Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/slf4j-api-1.7.5.jar apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/slf4j-simple-1.7.5.jar
-
-<!DOCTYPE html>
-<html lang="en" dir="ltr">
-<head profile="http://www.w3.org/1999/xhtml/vocab">
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<link rel="shortcut icon" href="http://opensource.org/files/osi_favicon.png" type="image/png" />
-<meta name="HandheldFriendly" content="true" />
-<link rel="shortlink" href="/node/66" />
-<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
-<link rel="canonical" href="/licenses/MIT" />
-<meta name="MobileOptimized" content="width" />
-  <title>The MIT License (MIT) | Open Source Initiative</title>
-  <link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_4p37TiWeuzRfdymI_lPgCuu6wEwSDhUquxUkHLI7QnU.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_MnXiytJtb186Ydycnpwpw34cuUsHaKc80ey5LiQXhSY.css" media="all" />
-<link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_KGZcOm3i1wmtbgZsjo-3V9FM4wZ-5UDcpJ7Vfzmt45E.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_G9cu63kkDQ56GYuF3QrqJxma5HT-bUVZckUWKUzFCF4.css" media="all" />
-
-<!--[if (lt IE 9)]>
-<link type="text/css" rel="stylesheet" href="http://opensource.org/sites/all/themes/bootstrap-business/css/ie8.css?nxi1lc" media="all" />
-<![endif]-->
-
-
-  <!-- HTML5 element support for IE6-8 -->
-  <!--[if lt IE 9]>
-    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-  <![endif]-->
-  <script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-window.jQuery || document.write("<script src='/sites/all/modules/jquery_update/replace/jquery/1.10/jquery.min.js'>\x3C/script>")
-//--><!]]>
-</script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_3TykeRWpejhD4-J3vdlaNXdULg9xhOZhbsppK0o2bUs.js"></script>
-<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery(document).ready(function($) {
-		$(window).scroll(function() {
-			if($(this).scrollTop() != 0) {
-				$("#toTop").fadeIn();
-			} else {
-				$("#toTop").fadeOut();
-			}
-		});
-		
-		$("#toTop").click(function() {
-			$("body,html").animate({scrollTop:0},800);
-		});	
-		
-		});
-//--><!]]>
-</script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_ruOYJN6FkJU2O5L1dAKVnDloSn5R6LjnLW88zFxS1Uw.js"></script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_JQHTvV_SkyFlN3f2BnQwnusF-eI6tkX8wrKAk2siiZU.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"bootstrap_business","theme_token":"XQUfOVWcNUstFL7Mf28dswXzO-DyvgTX2IZqLuFqRhQ","js":{"\/\/code.jquery.com\/jquery-1.10.2.min.js":1,"0":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.2.0\/js\/bootstrap.min.js":1,"1":1,"sites\/all\/libraries\/superfish\/jquery.hoverIntent.minified.js":1,"sites\/all\/libraries\/superfish\/sftouchscreen.js":1,"sites\/all\/libraries\/superfish\/sfsmallscreen.js":1,"sites\/all\/libraries\/superfish\/supposition.js":1,"sites\/all\/libraries\/superfish\/superfish.js":1,"sites\/all\/libraries\/superfish\/supersubs.js":1,"sites\/all\/modules\/superfish\/superfish.js":1,"sites\/all\/themes\/bootstrap-business\/js\/jquery.browser.min.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"modules\/aggregator\/aggregator.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"sites\/all\/modules\/mollom\/mollom.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"modules\/user\/user.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.2.0\/css\/bootstrap.min.css":1,"sites\/all\/libraries\/superfish\/css\/superfish.css":1,"sites\/all\/themes\/bootstrap-business\/css\/style.css":1,"sites\/all\/themes\/bootstrap-business\/color\/colors.css":1,"sites\/all\/themes\/bootstrap-business\/css\/local.css":1,"sites\/all\/themes\/bootstrap-business\/css\/ie8.css":1}},"urlIsAjaxTrusted":{"\/licenses\/mit-license.php":true},"superfish":{"1":{"id":"1","sf":{"animation":{"opacity":"show","height":"show"},"speed":"\u0027fast\u0027","autoArrows":false,"dropShadows":true,"disableHI":false},"plugins":{"touchscreen":{"mode":"window_width"},"smallscreen":{"mode":"window_width","addSelected":false,"menuClasses":false,"hyperlinkClasses":false,"title":"Navigation"},"supposition":true,"bgiframe":false,"supersubs":{"minWidth":"12","maxWidth":"27","extraWidth":1}}}}});
-//--><!]]>
-</script>
-</head>
-<body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-66 node-type-page" >
-  <div id="skip-link">
-    <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>
-  </div>
-    <div id="toTop"><span class="glyphicon glyphicon-chevron-up"></span></div>
-
-
-
-<!-- #header-top -->
-<div id="header-top" class="clearfix">
-    <div class="container">
-
-        <!-- #header-top-inside -->
-        <div id="header-top-inside" class="clearfix">
-            <div class="row">
-
-                        <div class="col-md-8">
-                <!-- #header-top-left -->
-                <div id="header-top-left" class="clearfix">
-                      <div class="region region-header-top-left">
-    <div id="block-menu-secondary-menu" class="block block-menu clearfix">
-
-
-  <div class="content">
-    <ul class="menu"><li class="first leaf"><a href="/" title="">Home</a></li>
-<li class="leaf"><a href="/blog" title="">From the Board</a></li>
-<li class="leaf"><a href="/contact" title="">Contact</a></li>
-<li class="last leaf"><a href="/civicrm/contribute/transact?reset=1&amp;id=2" title="">Donate</a></li>
-</ul>  </div>
-</div>
-  </div>
-                </div>
-                <!-- EOF:#header-top-left -->
-            </div>
-
-                        <div class="col-md-4">
-                <!-- #header-top-right -->
-                <div id="header-top-right" class="clearfix">
-                      <div class="region region-header-top-right">
-    <div id="block-search-form" class="block block-search clearfix">
-
-
-  <div class="content">
-    <form action="/licenses/mit-license.php" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
-      <h2 class="element-invisible">Search form</h2>
-    <div class="form-item form-type-textfield form-item-search-block-form">
- <input onblur="if (this.value == &#039;&#039;) {this.value = &#039;Search this website...&#039;;}" onfocus="if (this.value == &#039;Search this website...&#039;) {this.value = &#039;&#039;;}" type="text" id="edit-search-block-form--2" name="search_block_form" value="Search this website..." size="15" maxlength="128" class="form-text" />
-</div>
-<div class="form-actions form-wrapper" id="edit-actions"><input value="" type="submit" id="edit-submit" name="op" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-aB5V1er92LvWOShUqnFr3ohElMRQIZsrGOx3rJziFwQ" />
-<input type="hidden" name="form_id" value="search_block_form" />
-</div>
-</div></form>  </div>
-</div>
-  </div>
-                </div>
-                <!-- EOF:#header-top-right -->
-            </div>
-
-            </div>
-        </div>
-        <!-- EOF: #header-top-inside -->
-
-    </div>
-</div>
-<!-- EOF: #header-top -->
-
-<!-- header -->
-<header id="header" role="banner" class="clearfix">
-    <div class="container">
-
-        <!-- #header-inside -->
-        <div id="header-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-8">
-
-                                <div id="logo">
-                <a href="/" title="Home" rel="home"> <img src="http://opensource.org/files/osi_keyhole_300X300_90ppi_0.png" alt="Home" /> </a>
-                </div>
-
-                                <div id="site-name">
-                <a href="/" title="Home">Open Source Initiative</a>
-                </div>
-
-
-                </div>
-
-                <div class="col-md-4">
-
-
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #header-inside -->
-
-    </div>
-</header>
-<!-- EOF: #header -->
-
-<!-- #main-navigation -->
-<div id="main-navigation" class="clearfix">
-    <div class="container">
-
-        <!-- #main-navigation-inside -->
-        <div id="main-navigation-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-12">
-                    <nav role="navigation">
-                                                  <div class="region region-navigation">
-    <div id="block-superfish-1" class="block block-superfish clearfix">
-
-
-  <div class="content">
-    <ul id="superfish-1" class="menu sf-menu sf-navigation sf-horizontal sf-style-none sf-total-items-6 sf-parent-items-6 sf-single-items-0"><li id="menu-37-1" class="first odd sf-item-1 sf-depth-1 sf-total-children-4 sf-parent-children-2 sf-single-children-2 menuparent"><a href="/about" title="About the Open Source Initiative" class="sf-depth-1 menuparent">About</a><ul><li id="menu-75-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/history" title="History of the OSI" class="sf-depth-2">History</a></li><li id="menu-82-1" class="middle even sf-item-2 sf-depth-2 sf-total-children-7 sf-parent-children-0 sf-single-children-7 menuparent"><a href="/board" title="Board of Directors" class="sf-depth-2 menuparent">Board</a><ul><li id="menu-83-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/docs/board-annotated" title="OSI Board -- With Annotations" class="sf-depth-3">Board - Annotated</a></li><li id="menu-96-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/minutes" title="Public Minutes of Board Meetings" class="sf-depth-3">Minutes</a></li><li id="menu-185-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/organization" title="These portfolios represent the activities of the current OSI board." class="sf-depth-3">Organization &amp; Operations</a></li><li id="menu-95-1" class="middle even sf-item-4 sf-depth-3 sf-no-children"><a href="/articles-of-incorporation" title="OSI incorporation record" class="sf-depth-3">Articles of Incorporation</a></li><li id="menu-1475-1" class="middle odd sf-item-5 sf-depth-3 sf-no-children"><a href="/elections" class="sf-depth-3">Board Elections</a></li><li id="menu-84-1" class="middle even sf-item-6 sf-depth-3 sf-no-children"><a href="/bylaws" title="Bylaws of the Open Source Initiative" class="sf-depth-3">Bylaws</a></li><li id="menu-1317-1" class="last odd sf-item-7 sf-depth-3 sf-no-children"><a href="/conflict_of_interest_policy" title="" class="sf-depth-3">Conflict of Interest</a></li></ul></li><li id="menu-1843-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/trademark" title="" class="sf-depth-2 menuparent">Trademark &amp; Logo</a><ul><li id="menu-184-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/trademark-guidelines" title="OSI&#039;s Trademark Policy" class="sf-depth-3">Trademark Guidelines</a></li><li id="menu-183-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/logo-usage-guidelines" title="Guidelines for appearance and usage of OSI Logo" class="sf-depth-3">Logo Guidelines</a></li></ul></li><li id="menu-126-1" class="last even sf-item-4 sf-depth-2 sf-no-children"><a href="/ToS" title="Rules for posting content on this site" class="sf-depth-2">Terms of Service</a></li></ul></li><li id="menu-65-1" class="middle even sf-item-2 sf-depth-1 sf-total-children-5 sf-parent-children-3 sf-single-children-2 menuparent"><a href="/licenses" class="sf-depth-1 menuparent">Licenses &amp; Standards</a><ul><li id="menu-61-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/osd" title="The actual OSD defining what constitutes an Open Source licence" class="sf-depth-2 menuparent">Open Source Definition</a><ul><li id="menu-62-1" class="firstandlast odd sf-item-1 sf-depth-3 sf-no-children"><a href="/osd-annotated" title="The OSD with explationations and rationale interspersed." class="sf-depth-3">OSD - Annotated</a></li></ul></li><li id="menu-77-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/licenses/category" title="Licenses by Category" class="sf-depth-2">Licenses by Category</a></li><li id="menu-72-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/licenses/alphabetical" title="Licenses that are approved by the OSI as conforming to the OSD" class="sf-depth-2">Licenses by Name</a></li><li id="menu-66-1" class="middle even sf-item-4 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/approval" title="Certifying licences as OSD-compliant" class="sf-depth-2 menuparent">License Review Process</a><ul><li id="menu-67-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/proliferation" title="Supporting choice while maintaining sanity" class="sf-depth-3">Licence Proliferation</a></li><li id="menu-69-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/proliferation-report" title="License Proliferation Committee&#039;s report to the OSI Board" class="sf-depth-3">LP report to the Board</a></li></ul></li><li id="menu-99-1" class="last odd sf-item-5 sf-depth-2 sf-total-children-4 sf-parent-children-0 sf-single-children-4 menuparent"><a href="/osr-intro" title="Open Standards Requirement for Software" class="sf-depth-2 menuparent">Open Standards</a><ul><li id="menu-101-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/osr" title="An &quot;open standard&quot; must not prohibit conforming implementations in open source software." class="sf-depth-3">The Open Standards Requirement</a></li><li id="menu-102-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/osr-compliance" class="sf-depth-3">Open Standards Requirement Compliance</a></li><li id="menu-100-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/osr-rationale" class="sf-depth-3">Open Standards Requirement Rationale</a></li><li id="menu-103-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="/osr-faq" title="Frequently asked questions about the Open Standards Requirement" class="sf-depth-3">OSR Frequently Asked Questions</a></li></ul></li></ul></li><li id="menu-1842-1" class="middle odd sf-item-3 sf-depth-1 sf-total-children-3 sf-parent-children-2 sf-single-children-1 menuparent"><a href="/membership" title="Page for our various membership programs" class="sf-depth-1 menuparent">Membership</a><ul><li id="menu-914-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/members" class="sf-depth-2 menuparent">Individuals</a><ul><li id="menu-897-1" class="firstandlast odd sf-item-1 sf-depth-3 sf-no-children"><a href="/civicrm/contribute/transact?reset=1&amp;id=1" title="" class="sf-depth-3">Join</a></li></ul></li><li id="menu-675-1" class="middle even sf-item-2 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/affiliates" title="Home page for OSI&#039;s membership scheme for non-profits and not-for-profits" class="sf-depth-2 menuparent">Affiliates</a><ul><li id="menu-676-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/affiliates/about" title="" class="sf-depth-3">Become an Affiliate</a></li><li id="menu-677-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/affiliates/list" title="Full list of non-profits and not-for-profits affiliated to OSI" class="sf-depth-3">List of Affiliates</a></li></ul></li><li id="menu-1436-1" class="last odd sf-item-3 sf-depth-2 sf-no-children"><a href="/sponsors" class="sf-depth-2">Sponsors &amp; Support</a></li></ul></li><li id="menu-1841-1" class="middle even sf-item-4 sf-depth-1 sf-total-children-4 sf-parent-children-1 sf-single-children-3 menuparent"><a href="/community" title="Page for our various community members." class="sf-depth-1 menuparent">Community</a><ul><li id="menu-63-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/lists" title="The virtual committees where the OSI&#039;s work gets done" class="sf-depth-2 menuparent">Mailing lists</a><ul><li id="menu-78-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/codeofconduct" title="Guidelines for OSI Mailing Lists" class="sf-depth-3">General Code of Conduct</a></li><li id="menu-1072-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/codeofconduct/licensing" class="sf-depth-3">Licensing Code of Conduct</a></li></ul></li><li id="menu-2032-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/volunteers" class="sf-depth-2">Volunteers</a></li><li id="menu-1846-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="http://wiki.opensource.org" title="" class="sf-depth-2">Wiki</a></li><li id="menu-1524-1" class="last even sf-item-4 sf-depth-2 sf-no-children"><a href="/store" title="" class="sf-depth-2">OSI Store</a></li></ul></li><li id="menu-1840-1" class="middle odd sf-item-5 sf-depth-1 sf-total-children-6 sf-parent-children-1 sf-single-children-5 menuparent"><a href="/resources" title="Page offering resources to OSI personas" class="sf-depth-1 menuparent">Resources</a><ul><li id="menu-342-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/faq" title="Frequently Asked Questions about open source and about the OSI." class="sf-depth-2">FAQ</a></li><li id="menu-38-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/blog" title="A group blog / aggregation point for OSI Board Member blogs" class="sf-depth-2">OSI Board Blog</a></li><li id="menu-45-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/help" title="Resources for questions and further exploration" class="sf-depth-2 menuparent">Getting Help</a><ul><li id="menu-76-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/links" title="Links and References to Open Source" class="sf-depth-3">Bibliography</a></li><li id="menu-125-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/advocacy/case_for_business.php" title="How to advocate Open Source to businesses" class="sf-depth-3">Open Source Case for Business</a></li></ul></li><li id="menu-1845-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/newsletters" title="Index of newsletters" class="sf-depth-2">Newsletters</a></li><li id="menu-1514-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/working_groups" class="sf-depth-2">Working Groups</a></li><li id="menu-12-1" class="last even sf-item-6 sf-depth-2 sf-no-children"><a href="/osi-open-source-education" title="OSI&#039;s Open Source Education Initiative and Activities" class="sf-depth-2">Open Source Education</a></li></ul></li><li id="menu-1844-1" class="last even sf-item-6 sf-depth-1 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/news" title="Page dedicated to the latest news and events." class="sf-depth-1 menuparent">News &amp; Events</a><ul><li id="menu-1999-1" class="firstandlast odd sf-item-1 sf-depth-2 sf-no-children"><a href="/events" class="sf-depth-2">Events</a></li></ul></li></ul>  </div>
-</div>
-  </div>
-                                            </nav>
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #main-navigation-inside -->
-
-    </div>
-</div>
-<!-- EOF: #main-navigation -->
-
-
-<!-- #page -->
-<div id="page" class="clearfix">
-
-
-    <!-- #main-content -->
-    <div id="main-content">
-        <div class="container">
-
-            <!-- #messages-console -->
-                        <!-- EOF: #messages-console -->
-
-            <div class="row">
-
-
-
-                <section class="col-md-12">
-
-                    <!-- #main -->
-                    <div id="main" class="clearfix">
-
-
-
-                        <!-- EOF:#content-wrapper -->
-                        <div id="content-wrapper">
-
-                                                                                    <h1 class="page-title">The MIT License (MIT)</h1>
-
-
-                            <!-- #tabs -->
-                                                            <div class="tabs">
-                                                                </div>
-                                                        <!-- EOF: #tabs -->
-
-                            <!-- #action links -->
-                                                        <!-- EOF: #action links -->
-
-                              <div class="region region-content">
-    <div id="block-system-main" class="block block-system clearfix">
-
-
-  <div class="content">
-    <article id="node-66" class="node node-page clearfix">
-
-
-  <div class="content">
-    <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>
-<a href="https://tldrlegal.com/license/mit-license" style="color:rgb(92, 138, 208) !important;">
-View Summary of <b>MIT License</b> on TLDRLegal »
-</a>
-<a href="/node/778"><b>(Disclaimer)</b></a>
-</p>
-
-<h1>The MIT License (MIT)</h1>
-
-<pre>
-<p>Copyright (c) &lt;year&gt; &lt;copyright holders&gt;</p>
-
-<p>Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:</p>
-
-<p>The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.</p>
-
-<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.</p>
-
-</pre>
-</div></div></div>  </div>
-
-
-
-
-</article>  </div>
-</div>
-  </div>
-
-                        </div>
-                        <!-- EOF:#content-wrapper -->
-
-                    </div>
-                    <!-- EOF:#main -->
-
-                </section>
-
-
-            </div>
-
-        </div>
-    </div>
-    <!-- EOF:#main-content -->
-
-
-</div>
-<!-- EOF:#page -->
-
-
-<footer id="subfooter" class="clearfix">
-    <div class="container">
-
-        <!-- #subfooter-inside -->
-        <div id="subfooter-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-12">
-                    <!-- #subfooter-left -->
-                    <div class="subfooter-area">
-
-
-                                          <div class="region region-footer">
-    <div id="block-block-11" class="block block-block clearfix">
-
-
-  <div class="content">
-    <div class="filler" style="vertical-align: middle; display: inline-block;">
-<p style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;">
-<a href="https://twitter.com/OpenSourceOrg" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/twitterlogo.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="https://plus.google.com/+opensourceinitiative" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/google.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="https://www.linkedin.com/company/open-source-initiative-osi-" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/linkedin.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="http://wiki.opensource.org" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/xwikilogo.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="http://creativecommons.org/licenses/by/4.0/" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/ccby.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<script id="fbwiuwz">
-<!--//--><![CDATA[// ><!--
-(function(i){var f,s=document.getElementById(i);f=document.createElement('iframe');f.src='//api.flattr.com/button/view/?uid=osi&url=http%3A%2F%2Fopensource.org';f.title='Flattr';f.height=70;f.width=70;f.style.borderWidth=0;s.parentNode.insertBefore(f,s);})('fbwiuwz');
-//--><!]]>
-</script></p>
-</div>
-
-<br /><div class="license" style="vertical-align: middle; display: inline-block;">
-<p>
-Opensource.org site content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
-</p>
-<p>
-<a href="../ToS">Terms of Service</a>
-</p>
-</div>
-  </div>
-</div>
-<div id="block-block-7" class="block block-block clearfix">
-
-
-  <div class="content">
-    <script src="https://www.google-analytics.com/urchin.js" type="text/javascript">
-<!--//--><![CDATA[// ><!--
-
-
-//--><!]]>
-</script><script type="text/javascript">
-<!--//--><![CDATA[// ><!--
-
-_uacct = "UA-3916956-1";
-urchinTracker();
-
-//--><!]]>
-</script>  </div>
-</div>
-  </div>
-
-                    </div>
-                    <!-- EOF: #subfooter-left -->
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #subfooter-inside -->
-
-    </div>
-</footer>
-<!-- EOF:#subfooter -->
-  </body>
-</html>
diff --git a/java/maven.embedder/external/apache-maven-3.3.9-bin-license.txt b/java/maven.embedder/external/apache-maven-3.6.3-bin-license.txt
similarity index 99%
rename from java/maven.embedder/external/apache-maven-3.3.9-bin-license.txt
rename to java/maven.embedder/external/apache-maven-3.6.3-bin-license.txt
index 85cd743..d55749d 100644
--- a/java/maven.embedder/external/apache-maven-3.3.9-bin-license.txt
+++ b/java/maven.embedder/external/apache-maven-3.6.3-bin-license.txt
@@ -1,6 +1,6 @@
 Name: Apache Maven Distribution
 Description: Apache Maven Distribution
-Version: 3.3.9
+Version: 3.6.3
 License: Apache-2.0
 Origin: Apache Software Foundation
 URL: http://maven.apache.org/
diff --git a/java/maven.embedder/external/apache-maven-3.6.3-bin-notice.txt b/java/maven.embedder/external/apache-maven-3.6.3-bin-notice.txt
new file mode 100644
index 0000000..c76d78a
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.6.3-bin-notice.txt
@@ -0,0 +1,106 @@
+
+Apache Maven Distribution
+Copyright 2001-2019 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This software bundles the following NOTICE files from third party library providers:
+
+META-INF/NOTICE in archive lib/guice-4.2.1-no_aop.jar
+Google Guice - Core Library
+Copyright 2006-2018 Google, Inc.
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+META-INF/NOTICE in archive lib/plexus-utils-3.2.1.jar
+This product includes software developed by the Indiana University
+ Extreme! Lab (http://www.extreme.indiana.edu/).
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+This product includes software developed by
+ThoughtWorks (http://www.thoughtworks.com).
+This product includes software developed by
+javolution (http://javolution.org/).
+This product includes software developed by
+Rome (https://rome.dev.java.net/).
+
+about.html in archive lib/org.eclipse.sisu.inject-0.3.4.jar
+
+<!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"/>
+<title>About org.eclipse.sisu.inject</title>
+</head>
+<body lang="EN-US">
+<h2>About org.eclipse.sisu.inject</h2>
+ 
+<p>November 5, 2013</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>.
+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 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+<h3>Third Party Content</h3>
+<p>The Content includes items that have been sourced from third parties as set 
+out below. If you did not receive this Content directly from the Eclipse Foundation, 
+the following is provided for informational purposes only, and you should look 
+to the Redistributor's license for terms and conditions of use.</p>
+
+<h4>ASM 4.1</h4>
+<p>The plug-in includes software developed by the ObjectWeb consortium as part
+of the ASM project at <a href="http://asm.ow2.org/">http://asm.ow2.org/</a>.</p>
+
+<p>A subset of ASM is re-packaged within the source and binary of the plug-in (org.eclipse.sisu.space.asm.*)
+to avoid version collisions with other usage and is also available from the plug-in's github repository.</p>
+
+<p>Your use of the ASM code is subject to the terms and conditions of the ASM License
+below which is also available at <a href="http://asm.ow2.org/license.html">http://asm.ow2.org/license.html</a>.</p>
+
+<blockquote><pre>
+Copyright (c) 2000-2011 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holders nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
+</pre></blockquote>
+
+</body>
+</html>
diff --git a/java/maven.embedder/external/apache-maven-3.6.3-epl-license.txt b/java/maven.embedder/external/apache-maven-3.6.3-epl-license.txt
new file mode 100644
index 0000000..55a28b4
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.6.3-epl-license.txt
@@ -0,0 +1,217 @@
+Name: Apache Maven components under EPL v1.0
+Description: These Apache Maven components are under EPL v1.0: org.eclipse.sisu.inject-0.3.4.jar org.eclipse.sisu.plexus-0.3.4.jar
+Version: 3.6.3
+License: Maven-EPL-v10
+Origin: Apache Software Foundation
+Files: apache-maven-3.6.3-bin.zip!/apache-maven-3.6.3/lib/org.eclipse.sisu.inject-0.3.4.jar apache-maven-3.6.3-bin.zip!/apache-maven-3.6.3/lib/org.eclipse.sisu.plexus-0.3.4.jar
+
+Eclipse Public License - v 1.0
+
+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.
+
+   1. DEFINITIONS
+
+   "Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and
+
+      b) in the case of each subsequent Contributor:
+
+         i) changes to the Program, and
+
+         ii) additions to the Program;
+
+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.
+
+   "Contributor" means any person or entity that distributes the Program.
+
+"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.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including
+all Contributors.
+
+   2. GRANT OF RIGHTS
+
+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.
+
+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.
+
+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.
+
+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.
+
+   3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+      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.
diff --git a/java/maven.embedder/external/apache-maven-3.6.3-jsoup-license.txt b/java/maven.embedder/external/apache-maven-3.6.3-jsoup-license.txt
new file mode 100644
index 0000000..6f969ae
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.6.3-jsoup-license.txt
@@ -0,0 +1,28 @@
+Name: jsoup
+Description: Part of Apache Maven Distribution
+Version: 3.6.3
+License: Maven-MIT
+Origin: Apache Software Foundation
+Files: apache-maven-3.6.3-bin.zip!/apache-maven-3.6.3/lib/jsoup-1.12.1.jar
+
+The MIT License
+
+Copyright (c) 2009-2019 Jonathan Hedley <jonathan@hedley.net>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/java/maven.embedder/external/apache-maven-3.6.3-jsr-250-license.txt b/java/maven.embedder/external/apache-maven-3.6.3-jsr-250-license.txt
new file mode 100644
index 0000000..373e244
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.6.3-jsr-250-license.txt
@@ -0,0 +1,390 @@
+Name: JSR-250 Common Annotations for the JavaTM Platform
+Description: Part of Apache Maven Distribution
+Version: 3.6.3
+License: CDDL-1.0
+Origin: Apache Software Foundation
+Files: apache-maven-3.6.3-bin.zip!/apache-maven-3.6.3/lib/jsr250-api-1.0.jar
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+
+      1. Definitions.
+
+            1.1. "Contributor" means each individual or entity that
+            creates or contributes to the creation of Modifications.
+
+            1.2. "Contributor Version" means the combination of the
+            Original Software, prior Modifications used by a
+            Contributor (if any), and the Modifications made by that
+            particular Contributor.
+
+            1.3. "Covered Software" means (a) the Original Software, or
+            (b) Modifications, or (c) the combination of files
+            containing Original Software with files containing
+            Modifications, in each case including portions thereof.
+
+            1.4. "Executable" means the Covered Software in any form
+            other than Source Code.
+
+            1.5. "Initial Developer" means the individual or entity
+            that first makes Original Software available under this
+            License.
+
+            1.6. "Larger Work" means a work which combines Covered
+            Software or portions thereof with code not governed by the
+            terms of this License.
+
+            1.7. "License" means this document.
+
+            1.8. "Licensable" means having the right to grant, to the
+            maximum extent possible, whether at the time of the initial
+            grant or subsequently acquired, any and all of the rights
+            conveyed herein.
+
+            1.9. "Modifications" means the Source Code and Executable
+            form of any of the following:
+
+                  A. Any file that results from an addition to,
+                  deletion from or modification of the contents of a
+                  file containing Original Software or previous
+                  Modifications;
+
+                  B. Any new file that contains any part of the
+                  Original Software or previous Modification; or
+
+                  C. Any new file that is contributed or otherwise made
+                  available under the terms of this License.
+
+            1.10. "Original Software" means the Source Code and
+            Executable form of computer software code that is
+            originally released under this License.
+
+            1.11. "Patent Claims" means any patent claim(s), now owned
+            or hereafter acquired, including without limitation,
+            method, process, and apparatus claims, in any patent
+            Licensable by grantor.
+
+            1.12. "Source Code" means (a) the common form of computer
+            software code in which modifications are made and (b)
+            associated documentation included in or with such code.
+
+            1.13. "You" (or "Your") means an individual or a legal
+            entity exercising rights under, and complying with all of
+            the terms of, this License. For legal entities, "You"
+            includes any entity which controls, is controlled by, or is
+            under common control with You. For purposes of this
+            definition, "control" means (a) the power, direct or
+            indirect, to cause the direction or management of such
+            entity, whether by contract or otherwise, or (b) ownership
+            of more than fifty percent (50%) of the outstanding shares
+            or beneficial ownership of such entity.
+
+      2. License Grants.
+
+            2.1. The Initial Developer Grant.
+
+            Conditioned upon Your compliance with Section 3.1 below and
+            subject to third party intellectual property claims, the
+            Initial Developer hereby grants You a world-wide,
+            royalty-free, non-exclusive license:
+
+                  (a) under intellectual property rights (other than
+                  patent or trademark) Licensable by Initial Developer,
+                  to use, reproduce, modify, display, perform,
+                  sublicense and distribute the Original Software (or
+                  portions thereof), with or without Modifications,
+                  and/or as part of a Larger Work; and
+
+                  (b) under Patent Claims infringed by the making,
+                  using or selling of Original Software, to make, have
+                  made, use, practice, sell, and offer for sale, and/or
+                  otherwise dispose of the Original Software (or
+                  portions thereof).
+
+                  (c) The licenses granted in Sections 2.1(a) and (b)
+                  are effective on the date Initial Developer first
+                  distributes or otherwise makes the Original Software
+                  available to a third party under the terms of this
+                  License.
+
+                  (d) Notwithstanding Section 2.1(b) above, no patent
+                  license is granted: (1) for code that You delete from
+                  the Original Software, or (2) for infringements
+                  caused by: (i) the modification of the Original
+                  Software, or (ii) the combination of the Original
+                  Software with other software or devices.
+
+            2.2. Contributor Grant.
+
+            Conditioned upon Your compliance with Section 3.1 below and
+            subject to third party intellectual property claims, each
+            Contributor hereby grants You a world-wide, royalty-free,
+            non-exclusive license:
+
+                  (a) under intellectual property rights (other than
+                  patent or trademark) Licensable by Contributor to
+                  use, reproduce, modify, display, perform, sublicense
+                  and distribute the Modifications created by such
+                  Contributor (or portions thereof), either on an
+                  unmodified basis, with other Modifications, as
+                  Covered Software and/or as part of a Larger Work; and
+
+
+                  (b) under Patent Claims infringed by the making,
+                  using, or selling of Modifications made by that
+                  Contributor either alone and/or in combination with
+                  its Contributor Version (or portions of such
+                  combination), to make, use, sell, offer for sale,
+                  have made, and/or otherwise dispose of: (1)
+                  Modifications made by that Contributor (or portions
+                  thereof); and (2) the combination of Modifications
+                  made by that Contributor with its Contributor Version
+                  (or portions of such combination).
+
+                  (c) The licenses granted in Sections 2.2(a) and
+                  2.2(b) are effective on the date Contributor first
+                  distributes or otherwise makes the Modifications
+                  available to a third party.
+
+                  (d) Notwithstanding Section 2.2(b) above, no patent
+                  license is granted: (1) for any code that Contributor
+                  has deleted from the Contributor Version; (2) for
+                  infringements caused by: (i) third party
+                  modifications of Contributor Version, or (ii) the
+                  combination of Modifications made by that Contributor
+                  with other software (except as part of the
+                  Contributor Version) or other devices; or (3) under
+                  Patent Claims infringed by Covered Software in the
+                  absence of Modifications made by that Contributor.
+
+      3. Distribution Obligations.
+
+            3.1. Availability of Source Code.
+
+            Any Covered Software that You distribute or otherwise make
+            available in Executable form must also be made available in
+            Source Code form and that Source Code form must be
+            distributed only under the terms of this License. You must
+            include a copy of this License with every copy of the
+            Source Code form of the Covered Software You distribute or
+            otherwise make available. You must inform recipients of any
+            such Covered Software in Executable form as to how they can
+            obtain such Covered Software in Source Code form in a
+            reasonable manner on or through a medium customarily used
+            for software exchange.
+
+            3.2. Modifications.
+
+            The Modifications that You create or to which You
+            contribute are governed by the terms of this License. You
+            represent that You believe Your Modifications are Your
+            original creation(s) and/or You have sufficient rights to
+            grant the rights conveyed by this License.
+
+            3.3. Required Notices.
+
+            You must include a notice in each of Your Modifications
+            that identifies You as the Contributor of the Modification.
+            You may not remove or alter any copyright, patent or
+            trademark notices contained within the Covered Software, or
+            any notices of licensing or any descriptive text giving
+            attribution to any Contributor or the Initial Developer.
+
+            3.4. Application of Additional Terms.
+
+            You may not offer or impose any terms on any Covered
+            Software in Source Code form that alters or restricts the
+            applicable version of this License or the recipients'
+            rights hereunder. You may choose to offer, and to charge a
+            fee for, warranty, support, indemnity or liability
+            obligations to one or more recipients of Covered Software.
+            However, you may do so only on Your own behalf, and not on
+            behalf of the Initial Developer or any Contributor. You
+            must make it absolutely clear that any such warranty,
+            support, indemnity or liability obligation is offered by
+            You alone, and You hereby agree to indemnify the Initial
+            Developer and every Contributor for any liability incurred
+            by the Initial Developer or such Contributor as a result of
+            warranty, support, indemnity or liability terms You offer.
+
+
+            3.5. Distribution of Executable Versions.
+
+            You may distribute the Executable form of the Covered
+            Software under the terms of this License or under the terms
+            of a license of Your choice, which may contain terms
+            different from this License, provided that You are in
+            compliance with the terms of this License and that the
+            license for the Executable form does not attempt to limit
+            or alter the recipient's rights in the Source Code form
+            from the rights set forth in this License. If You
+            distribute the Covered Software in Executable form under a
+            different license, You must make it absolutely clear that
+            any terms which differ from this License are offered by You
+            alone, not by the Initial Developer or Contributor. You
+            hereby agree to indemnify the Initial Developer and every
+            Contributor for any liability incurred by the Initial
+            Developer or such Contributor as a result of any such terms
+            You offer.
+
+            3.6. Larger Works.
+
+            You may create a Larger Work by combining Covered Software
+            with other code not governed by the terms of this License
+            and distribute the Larger Work as a single product. In such
+            a case, You must make sure the requirements of this License
+            are fulfilled for the Covered Software.
+
+      4. Versions of the License.
+
+            4.1. New Versions.
+
+            Sun Microsystems, Inc. is the initial license steward and
+            may publish revised and/or new versions of this License
+            from time to time. Each version will be given a
+            distinguishing version number. Except as provided in
+            Section 4.3, no one other than the license steward has the
+            right to modify this License.
+
+            4.2. Effect of New Versions.
+
+            You may always continue to use, distribute or otherwise
+            make the Covered Software available under the terms of the
+            version of the License under which You originally received
+            the Covered Software. If the Initial Developer includes a
+            notice in the Original Software prohibiting it from being
+            distributed or otherwise made available under any
+            subsequent version of the License, You must distribute and
+            make the Covered Software available under the terms of the
+            version of the License under which You originally received
+            the Covered Software. Otherwise, You may also choose to
+            use, distribute or otherwise make the Covered Software
+            available under the terms of any subsequent version of the
+            License published by the license steward.
+
+            4.3. Modified Versions.
+
+            When You are an Initial Developer and You want to create a
+            new license for Your Original Software, You may create and
+            use a modified version of this License if You: (a) rename
+            the license and remove any references to the name of the
+            license steward (except to note that the license differs
+            from this License); and (b) otherwise make it clear that
+            the license contains terms which differ from this License.
+
+      5. DISCLAIMER OF WARRANTY.
+
+      COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+      BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+      INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+      SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+      PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+      PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+      COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+      INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
+      ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+      WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+      ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+      DISCLAIMER.
+
+      6. TERMINATION.
+
+            6.1. This License and the rights granted hereunder will
+            terminate automatically if You fail to comply with terms
+            herein and fail to cure such breach within 30 days of
+            becoming aware of the breach. Provisions which, by their
+            nature, must remain in effect beyond the termination of
+            this License shall survive.
+
+            6.2. If You assert a patent infringement claim (excluding
+            declaratory judgment actions) against Initial Developer or
+            a Contributor (the Initial Developer or Contributor against
+            whom You assert such claim is referred to as "Participant")
+            alleging that the Participant Software (meaning the
+            Contributor Version where the Participant is a Contributor
+            or the Original Software where the Participant is the
+            Initial Developer) directly or indirectly infringes any
+            patent, then any and all rights granted directly or
+            indirectly to You by such Participant, the Initial
+            Developer (if the Initial Developer is not the Participant)
+            and all Contributors under Sections 2.1 and/or 2.2 of this
+            License shall, upon 60 days notice from Participant
+            terminate prospectively and automatically at the expiration
+            of such 60 day notice period, unless if within such 60 day
+            period You withdraw Your claim with respect to the
+            Participant Software against such Participant either
+            unilaterally or pursuant to a written agreement with
+            Participant.
+
+            6.3. In the event of termination under Sections 6.1 or 6.2
+            above, all end user licenses that have been validly granted
+            by You or any distributor hereunder prior to termination
+            (excluding licenses granted to You by any distributor)
+            shall survive termination.
+
+      7. LIMITATION OF LIABILITY.
+
+      UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+      (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+      INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+      COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+      LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+      CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+      LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+      STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+      COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+      INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+      LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+      INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
+      APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+      NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+      CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+      APPLY TO YOU.
+
+      8. U.S. GOVERNMENT END USERS.
+
+      The Covered Software is a "commercial item," as that term is
+      defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+      computer software" (as that term is defined at 48 C.F.R.
+      252.227-7014(a)(1)) and "commercial computer software
+      documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
+      1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+      through 227.7202-4 (June 1995), all U.S. Government End Users
+      acquire Covered Software with only those rights set forth herein.
+      This U.S. Government Rights clause is in lieu of, and supersedes,
+      any other FAR, DFAR, or other clause or provision that addresses
+      Government rights in computer software under this License.
+
+      9. MISCELLANEOUS.
+
+      This License represents the complete agreement concerning subject
+      matter hereof. If any provision of this License is held to be
+      unenforceable, such provision shall be reformed only to the
+      extent necessary to make it enforceable. This License shall be
+      governed by the law of the jurisdiction specified in a notice
+      contained within the Original Software (except to the extent
+      applicable law, if any, provides otherwise), excluding such
+      jurisdiction's conflict-of-law provisions. Any litigation
+      relating to this License shall be subject to the jurisdiction of
+      the courts located in the jurisdiction and venue specified in a
+      notice contained within the Original Software, with the losing
+      party responsible for costs, including, without limitation, court
+      costs and reasonable attorneys' fees and expenses. The
+      application of the United Nations Convention on Contracts for the
+      International Sale of Goods is expressly excluded. Any law or
+      regulation which provides that the language of a contract shall
+      be construed against the drafter shall not apply to this License.
+      You agree that You alone are responsible for compliance with the
+      United States export administration regulations (and the export
+      control laws and regulation of any other countries) when You use,
+      distribute or otherwise make available any Covered Software.
+
+      10. RESPONSIBILITY FOR CLAIMS.
+
+      As between Initial Developer and the Contributors, each party is
+      responsible for claims and damages arising, directly or
+      indirectly, out of its utilization of rights under this License
+      and You agree to work with Initial Developer and Contributors to
+      distribute such responsibility on an equitable basis. Nothing
+      herein is intended or shall be deemed to constitute any admission
+      of liability.
diff --git a/java/maven.embedder/external/apache-maven-3.6.3-slf4j-license.txt b/java/maven.embedder/external/apache-maven-3.6.3-slf4j-license.txt
new file mode 100644
index 0000000..f451e46
--- /dev/null
+++ b/java/maven.embedder/external/apache-maven-3.6.3-slf4j-license.txt
@@ -0,0 +1,28 @@
+Name: slf4j
+Description: Part of Apache Maven Distribution
+Version: 3.6.3
+License: MIT-slf4j
+Origin: Apache Software Foundation
+Files: apache-maven-3.6.3-bin.zip!/apache-maven-3.6.3/lib/slf4j-api-1.7.29.jar
+
+Copyright (c) 2004-2017 QOS.ch
+All rights reserved.
+
+Permission is hereby granted, free  of charge, to any person obtaining
+a  copy  of this  software  and  associated  documentation files  (the
+"Software"), to  deal in  the Software without  restriction, including
+without limitation  the rights to  use, copy, modify,  merge, publish,
+distribute,  sublicense, and/or sell  copies of  the Software,  and to
+permit persons to whom the Software  is furnished to do so, subject to
+the following conditions:
+
+The  above  copyright  notice  and  this permission  notice  shall  be
+included in all copies or substantial portions of the Software.
+
+THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/java/maven.embedder/external/binaries-list b/java/maven.embedder/external/binaries-list
index 61d832c..36f93a8 100644
--- a/java/maven.embedder/external/binaries-list
+++ b/java/maven.embedder/external/binaries-list
@@ -16,4 +16,4 @@
 # under the License.
 A2AC1CD690AB4C80DEFE7F9BCE14D35934C35CEC jdom:jdom:1.0
 5D9CE6ADD7B714B8095F0E3E396C5E9F8C5DCFEF org.apache.maven.shared:maven-dependency-tree:2.2
-2DDF9BB8C3B41BC2891832A6D6FC25F8BF41D77F org.apache.maven:apache-maven:3.3.9:bin@zip
+B36434A3A5C7A6B75AC955DF152E4325765D0804 org.apache.maven:apache-maven:3.6.3:bin@zip
diff --git a/java/maven.embedder/external/binariesembedded-list b/java/maven.embedder/external/binariesembedded-list
new file mode 100644
index 0000000..943fd47
--- /dev/null
+++ b/java/maven.embedder/external/binariesembedded-list
@@ -0,0 +1,60 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+44C453F60909DFC223552ACE63E05C694215156B;javax.enterprise:cdi-api:1.0
+C51C00206BB913CD8612B24ABD9FA98AE89719B1;commons-cli:commons-cli:1.4
+2852E6E05FBB95076FC091F6D1780F1F8FE35E0F;commons-io:commons-io:2.5
+6505A72A097D9270F7A9E7BF42C4238283247755;org.apache.commons:commons-lang3:3.8.1
+BDAAB946CA5AD20253502D873BA0C3313D141036;com.google.guava:guava:25.1-android
+41E5AB52EC65E60B6C0CED947BECF7BA96402645;com.google.inject:guice:4.2.1:no_aop
+E90CAA31C9B8D748359450D7487F76B05549AE65;org.fusesource.jansi:jansi:1.17.1
+6975DA39A7040257BD51D21A231B76C915872D38;javax.inject:javax.inject:1
+D6DCA1EC36F28ECF286241DEADC790C2D4C8EAA0;org.slf4j:jcl-over-slf4j:1.7.29
+55819A28FC834C2F2BCF4DCDB278524DC3CF088F;org.jsoup:jsoup:1.12.1
+5025422767732A1AB45D93ABFEA846513D742DCF;javax.annotation:jsr250-api:1.0
+F8FF8032903882376E8D000C51E3E16D20FC7DF7;org.apache.maven:maven-artifact:3.6.3
+E9A37AF390009A525D8FAA6B18BD682123F85F9E;org.apache.maven:maven-builder-support:3.6.3
+2A8242398EFBFD533FFE36147864C34A326666DA;org.apache.maven:maven-compat:3.6.3
+ECA800AA73E750EC9A880EB224F0BB68F5B7873B;org.apache.maven:maven-core:3.6.3
+CC8DF86676BCB37F68D2CEAF05DF8EF6FB11D873;org.apache.maven:maven-embedder:3.6.3
+61C7848DCE2FBF7F7AB0FDC8E8A7CC9DA5DD7827;org.apache.maven:maven-model:3.6.3
+4EF1D56F53D3E0A9003B7CC82C89AF9878321E82;org.apache.maven:maven-model-builder:3.6.3
+063FE5967B9C4C1B6FA6004BE76E1C939E8BD1D6;org.apache.maven:maven-plugin-api:3.6.3
+14D28071C85E76B656C46C465DB91D394D6F48F0;org.apache.maven:maven-repository-metadata:3.6.3
+CEEE6B7EA1BC252AFA585FA32F76C2CDA206BDCD;org.apache.maven.resolver:maven-resolver-api:1.4.1
+C213352D609D576641AED35172157D46CD2003D4;org.apache.maven.resolver:maven-resolver-connector-basic:1.4.1
+1658CFA27978C5949C3A92086514A22CA85394E4;org.apache.maven.resolver:maven-resolver-impl:1.4.1
+115240B65C1D0E9745CB2012B977AFC3D1795F94;org.apache.maven:maven-resolver-provider:3.6.3
+905A024FF050E804A8A4DF53EEEE63CC7D153438;org.apache.maven.resolver:maven-resolver-spi:1.4.1
+F3268F4EE92227AB98B7BE0AC5122DAA2ED97E35;org.apache.maven.resolver:maven-resolver-transport-wagon:1.4.1
+3F6D4F4BC3E24B46A776B47CCFEAED9D2ED01549;org.apache.maven.resolver:maven-resolver-util:1.4.1
+BBF4E06DCDB0BB33D1546C080DF5C8D92B535D30;org.apache.maven:maven-settings:3.6.3
+756D46810B8CC7B2B98585CCC787854CDFDE7FD9;org.apache.maven:maven-settings-builder:3.6.3
+08DD4DFB1D2D8B6969F6462790F82670BCD35CE2;org.apache.maven.shared:maven-shared-utils:3.2.1
+DE3B6CF15C2974250AE88820AB6C210FD8F38ED3;org.apache.maven:maven-slf4j-provider:3.6.3
+FC3BE144183F54DC6F5C55E34462C1C2D89D7D96;org.eclipse.sisu:org.eclipse.sisu.inject:0.3.4
+F1335A3B7BC3FD23F67DA88BD60CD5D4C3304EF3;org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4
+51460409B6CDC2B828540C19C05691F89141EDC2;org.sonatype.plexus:plexus-cipher:1.7
+8587E80FCB38E70B70FAE8D5914B6376BFAD6259;org.codehaus.plexus:plexus-classworlds:2.6.0
+2F2147A6CC6A119A1B51A96F31D45C557F6244B9;org.codehaus.plexus:plexus-component-annotations:2.1.0
+3B37B3335E6A97E11E690BBDC22ADE1A5DEB74D6;org.codehaus.plexus:plexus-interpolation:1.25
+43FDE524E9B94C883727A9FDDB8669181B890EA7;org.sonatype.plexus:plexus-sec-dispatcher:1.4
+13B015768E0D04849D2794E4C47EB02D01A0DE32;org.codehaus.plexus:plexus-utils:3.2.1
+E56BF4473A4C6B71C7DD397A833DCE86D1993D9D;org.slf4j:slf4j-api:1.7.29
+9F4E71EFC815C087E32C2C80341C1ED5D9CBEDD6;org.apache.maven.wagon:wagon-file:3.3.4
+8152D42E1C416AF9B4B146FB1AA082BBCC55C557;org.apache.maven.wagon:wagon-http:3.3.4:shaded
+7A99FDAA534AA8C01F01A447FE1C7AF5CFC7B0D5;org.apache.maven.wagon:wagon-provider-api:3.3.4
\ No newline at end of file
diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties
index 7e47a09..a61eb10 100644
--- a/java/maven.embedder/nbproject/project.properties
+++ b/java/maven.embedder/nbproject/project.properties
@@ -20,7 +20,7 @@
 javac.compilerargs=-Xlint -Xlint:-serial
 release.external/jdom-1.0.jar=modules/ext/maven/jdom-1.0.jar
 release.external/maven-dependency-tree-2.2.jar=modules/ext/maven/maven-dependency-tree-2.2.jar
-bundled.maven=apache-maven-3.3.9
+bundled.maven=apache-maven-3.6.3
 extra.module.files=maven/
 nbm.executable.files=maven/bin/mvn,maven/bin/mvnDebug,maven/bin/mvnyjp
 extra.license.files=${cluster}/maven/LICENSE.txt,${cluster}/maven/NOTICE.txt
diff --git a/java/maven.embedder/nbproject/project.xml b/java/maven.embedder/nbproject/project.xml
index e4bcf40..89b8de1 100644
--- a/java/maven.embedder/nbproject/project.xml
+++ b/java/maven.embedder/nbproject/project.xml
@@ -194,6 +194,7 @@
                 <package>org.apache.maven.artifact.resolver</package>
                 <package>org.apache.maven.artifact.versioning</package>
                 <package>org.apache.maven.cli</package>
+                <package>org.apache.maven.cli.configuration</package>
                 <package>org.apache.maven.embedder</package>
                 <package>org.apache.maven.execution</package>
                 <package>org.apache.maven.lifecycle</package>
@@ -230,6 +231,7 @@
                 <package>org.codehaus.plexus</package>
                 <package>org.codehaus.plexus.classworlds</package>
                 <package>org.codehaus.plexus.classworlds.realm</package>
+                <package>org.codehaus.plexus.component.annotations</package>
                 <package>org.codehaus.plexus.component.composition</package>
                 <package>org.codehaus.plexus.component.configurator.expression</package>
                 <package>org.codehaus.plexus.component.repository</package>
@@ -263,6 +265,7 @@
                 <package>org.slf4j</package>
                 <package>org.slf4j.impl</package>                
                 <package>org.apache.maven.wagon.shared.http4</package>
+                <package>org.apache.maven.wagon.providers.http.wagon.shared</package>
             </friend-packages>
             <class-path-extension>
                 <runtime-relative-path>ext/maven/maven-dependency-tree-2.2.jar</runtime-relative-path>
@@ -273,134 +276,134 @@
                 <binary-origin>external/jdom-1.0.jar</binary-origin>
             </class-path-extension>
             <!-- zipinfo -1 .../apache-maven-*-bin.zip | sort | perl -n -e 'if (m!^apache-maven-.+/((lib|boot)/.+.jar)$!) {print "            <class-path-extension>\n                <runtime-relative-path>../maven/$1</runtime-relative-path>\n            </class-path-extension>\n"}' -->
-            <class-path-extension>
-                <runtime-relative-path>../maven/boot/plexus-classworlds-2.5.2.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-api-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-connector-basic-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-impl-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-spi-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-transport-wagon-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aether-util-1.0.2.v20150114.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/aopalliance-1.0.jar</runtime-relative-path>
+                        <class-path-extension>
+                <runtime-relative-path>../maven/boot/plexus-classworlds-2.6.0.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>../maven/lib/cdi-api-1.0.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/commons-cli-1.2.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/commons-cli-1.4.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/commons-io-2.2.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/commons-io-2.5.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/commons-lang-2.6.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/commons-lang3-3.8.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/commons-lang3-3.4.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/guava-25.1-android.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/guava-18.0.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/guice-4.2.1-no_aop.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/guice-4.0-no_aop.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/jansi-1.17.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>../maven/lib/javax.inject-1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/jsoup-1.7.2.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/jcl-over-slf4j-1.7.29.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/jsoup-1.12.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>../maven/lib/jsr250-api-1.0.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-aether-provider-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-artifact-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-artifact-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-builder-support-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-builder-support-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-compat-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-compat-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-core-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-core-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-embedder-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-embedder-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-model-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-model-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-model-builder-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-model-builder-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-plugin-api-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-plugin-api-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-repository-metadata-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-repository-metadata-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-resolver-api-1.4.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-settings-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-resolver-connector-basic-1.4.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/maven-settings-builder-3.3.9.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-resolver-impl-1.4.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/org.eclipse.sisu.inject-0.3.2.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-resolver-provider-3.6.3.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/org.eclipse.sisu.plexus-0.3.2.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/maven-resolver-spi-1.4.1.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-resolver-transport-wagon-1.4.1.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-resolver-util-1.4.1.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-settings-3.6.3.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-settings-builder-3.6.3.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-shared-utils-3.2.1.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/maven-slf4j-provider-3.6.3.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/org.eclipse.sisu.inject-0.3.4.jar</runtime-relative-path>
+            </class-path-extension>
+            <class-path-extension>
+                <runtime-relative-path>../maven/lib/org.eclipse.sisu.plexus-0.3.4.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
                 <runtime-relative-path>../maven/lib/plexus-cipher-1.7.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/plexus-component-annotations-1.6.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/plexus-component-annotations-2.1.0.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/plexus-interpolation-1.21.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/plexus-interpolation-1.25.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/plexus-sec-dispatcher-1.3.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/plexus-sec-dispatcher-1.4.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/plexus-utils-3.0.22.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/plexus-utils-3.2.1.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/slf4j-api-1.7.5.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/slf4j-api-1.7.29.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/slf4j-simple-1.7.5.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/wagon-file-3.3.4.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/wagon-file-2.10.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/wagon-http-3.3.4-shaded.jar</runtime-relative-path>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>../maven/lib/wagon-http-2.10-shaded.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/wagon-http-shared-2.10.jar</runtime-relative-path>
-            </class-path-extension>
-            <class-path-extension>
-                <runtime-relative-path>../maven/lib/wagon-provider-api-2.10.jar</runtime-relative-path>
+                <runtime-relative-path>../maven/lib/wagon-provider-api-3.3.4.jar</runtime-relative-path>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
index 40998a9..833af65 100644
--- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/MavenEmbedder.java
@@ -45,7 +45,7 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.cli.MavenCli;
+import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
 import org.apache.maven.execution.DefaultMavenExecutionResult;
 import org.apache.maven.execution.MavenExecutionRequest;
@@ -183,7 +183,7 @@
             return testSettings; // could instead make public void setSettings(Settings settingsOverride)
         }
         File settingsXml = embedderConfiguration.getSettingsXml();
-        long newSettingsTimestamp = settingsXml.hashCode() ^ settingsXml.lastModified() ^ MavenCli.DEFAULT_USER_SETTINGS_FILE.lastModified();
+        long newSettingsTimestamp = settingsXml.hashCode() ^ settingsXml.lastModified() ^ SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.lastModified();
         // could be included but currently constant: hashCode() of those files; getSystemProperties.hashCode()
         if (settings != null && settingsTimestamp == newSettingsTimestamp) {
             LOG.log(Level.FINER, "settings.xml cache hit for {0}", this);
@@ -192,7 +192,7 @@
         LOG.log(Level.FINE, "settings.xml cache miss for {0}", this);
         SettingsBuildingRequest req = new DefaultSettingsBuildingRequest();
         req.setGlobalSettingsFile(settingsXml);
-        req.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE);
+        req.setUserSettingsFile(SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE);
         req.setSystemProperties(getSystemProperties());
         req.setUserProperties(embedderConfiguration.getUserProperties());
         try {
@@ -489,8 +489,8 @@
         if (settingsXml !=null && settingsXml.exists()) {
             req.setGlobalSettingsFile(settingsXml);
         }
-        if (MavenCli.DEFAULT_USER_SETTINGS_FILE != null && MavenCli.DEFAULT_USER_SETTINGS_FILE.exists()) {
-          req.setUserSettingsFile(MavenCli.DEFAULT_USER_SETTINGS_FILE);
+        if (SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE != null && SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.exists()) {
+          req.setUserSettingsFile(SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE);
         }
         
         req.setSystemProperties(getSystemProperties());
diff --git a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/NBRepositoryModelResolver.java b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/NBRepositoryModelResolver.java
index 78134f7..eb67f6f 100644
--- a/java/maven.embedder/src/org/netbeans/modules/maven/embedder/NBRepositoryModelResolver.java
+++ b/java/maven.embedder/src/org/netbeans/modules/maven/embedder/NBRepositoryModelResolver.java
@@ -25,6 +25,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.building.FileModelSource;
@@ -101,4 +102,9 @@
             throw new InvalidRepositoryException(ex.toString(), repository, ex);
         }
     }
+
+    @Override
+    public ModelSource resolveModel(Dependency dpndnc) throws UnresolvableModelException {
+        return resolveModel(dpndnc.getGroupId(), dpndnc.getArtifactId(), dpndnc.getVersion());
+    }    
 }
diff --git a/java/maven.grammar/src/org/netbeans/modules/maven/grammar/effpom/LocationAwareMavenXpp3Writer.java b/java/maven.grammar/src/org/netbeans/modules/maven/grammar/effpom/LocationAwareMavenXpp3Writer.java
index b665945..543d06e 100644
--- a/java/maven.grammar/src/org/netbeans/modules/maven/grammar/effpom/LocationAwareMavenXpp3Writer.java
+++ b/java/maven.grammar/src/org/netbeans/modules/maven/grammar/effpom/LocationAwareMavenXpp3Writer.java
@@ -270,8 +270,8 @@
         }
         if ((build.getExtensions() != null) && (build.getExtensions().size() > 0)) {
             serializer.startTag(NAMESPACE, "extensions");
-            for (Iterator iter = build.getExtensions().iterator(); iter.hasNext();) {
-                Extension o = (Extension) iter.next();
+            for (Iterator<Extension> iter = build.getExtensions().iterator(); iter.hasNext();) {
+                Extension o = iter.next();
                 writeExtension(o, "extension", serializer);
             }
             serializer.endTag(NAMESPACE, "extensions");
@@ -281,16 +281,16 @@
         }
         if ((build.getResources() != null) && (build.getResources().size() > 0)) {
             serializer.startTag(NAMESPACE, "resources");
-            for (Iterator iter = build.getResources().iterator(); iter.hasNext();) {
-                Resource o = (Resource) iter.next();
+            for (Iterator<Resource> iter = build.getResources().iterator(); iter.hasNext();) {
+                Resource o = iter.next();
                 writeResource(o, "resource", serializer);
             }
             serializer.endTag(NAMESPACE, "resources");
         }
         if ((build.getTestResources() != null) && (build.getTestResources().size() > 0)) {
             serializer.startTag(NAMESPACE, "testResources");
-            for (Iterator iter = build.getTestResources().iterator(); iter.hasNext();) {
-                Resource o = (Resource) iter.next();
+            for (Iterator<Resource> iter = build.getTestResources().iterator(); iter.hasNext();) {
+                Resource o = iter.next();
                 writeResource(o, "testResource", serializer);
             }
             serializer.endTag(NAMESPACE, "testResources");
@@ -307,8 +307,8 @@
             int start2 = b.length();
             InputLocationTracker filtersTracker = build.getLocation("filters");
             int index = 0;
-            for (Iterator iter = build.getFilters().iterator(); iter.hasNext();) {
-                String filter = (String) iter.next();
+            for (Iterator<String> iter = build.getFilters().iterator(); iter.hasNext();) {
+                String filter = iter.next();
                 writeValue(serializer, "filter", filter, filtersTracker, index);
                 index = index + 1;
             }
@@ -320,8 +320,8 @@
         }
         if ((build.getPlugins() != null) && (build.getPlugins().size() > 0)) {
             serializer.startTag(NAMESPACE, "plugins");
-            for (Iterator iter = build.getPlugins().iterator(); iter.hasNext();) {
-                Plugin o = (Plugin) iter.next();
+            for (Iterator<Plugin> iter = build.getPlugins().iterator(); iter.hasNext();) {
+                Plugin o = iter.next();
                 writePlugin(o, "plugin", serializer);
             }
             serializer.endTag(NAMESPACE, "plugins");
@@ -341,16 +341,16 @@
         }
         if ((buildBase.getResources() != null) && (buildBase.getResources().size() > 0)) {
             serializer.startTag(NAMESPACE, "resources");
-            for (Iterator iter = buildBase.getResources().iterator(); iter.hasNext();) {
-                Resource o = (Resource) iter.next();
+            for (Iterator<Resource> iter = buildBase.getResources().iterator(); iter.hasNext();) {
+                Resource o = iter.next();
                 writeResource(o, "resource", serializer);
             }
             serializer.endTag(NAMESPACE, "resources");
         }
         if ((buildBase.getTestResources() != null) && (buildBase.getTestResources().size() > 0)) {
             serializer.startTag(NAMESPACE, "testResources");
-            for (Iterator iter = buildBase.getTestResources().iterator(); iter.hasNext();) {
-                Resource o = (Resource) iter.next();
+            for (Iterator<Resource> iter = buildBase.getTestResources().iterator(); iter.hasNext();) {
+                Resource o = iter.next();
                 writeResource(o, "testResource", serializer);
             }
             serializer.endTag(NAMESPACE, "testResources");
@@ -367,8 +367,8 @@
             int start2 = b.length();
             InputLocationTracker filtersTracker = buildBase.getLocation("filters");
             int index = 0;
-            for (Iterator iter = buildBase.getFilters().iterator(); iter.hasNext();) {
-                String filter = (String) iter.next();
+            for (Iterator<String> iter = buildBase.getFilters().iterator(); iter.hasNext();) {
+                String filter = iter.next();
                 writeValue(serializer, "filter", filter, filtersTracker, index);
                 index = index + 1;
             }
@@ -380,8 +380,8 @@
         }
         if ((buildBase.getPlugins() != null) && (buildBase.getPlugins().size() > 0)) {
             serializer.startTag(NAMESPACE, "plugins");
-            for (Iterator iter = buildBase.getPlugins().iterator(); iter.hasNext();) {
-                Plugin o = (Plugin) iter.next();
+            for (Iterator<Plugin> iter = buildBase.getPlugins().iterator(); iter.hasNext();) {
+                Plugin o = iter.next();
                 writePlugin(o, "plugin", serializer);
             }
             serializer.endTag(NAMESPACE, "plugins");
@@ -404,8 +404,8 @@
         }
         if ((ciManagement.getNotifiers() != null) && (ciManagement.getNotifiers().size() > 0)) {
             serializer.startTag(NAMESPACE, "notifiers");
-            for (Iterator iter = ciManagement.getNotifiers().iterator(); iter.hasNext();) {
-                Notifier o = (Notifier) iter.next();
+            for (Iterator<Notifier> iter = ciManagement.getNotifiers().iterator(); iter.hasNext();) {
+                Notifier o = iter.next();
                 writeNotifier(o, "notifier", serializer);
             }
             serializer.endTag(NAMESPACE, "notifiers");
@@ -441,8 +441,8 @@
             int start2 = b.length();
             InputLocationTracker rolesTracker = contributor.getLocation("roles");
             int index = 0;
-            for (Iterator iter = contributor.getRoles().iterator(); iter.hasNext();) {
-                String role = (String) iter.next();
+            for (Iterator<String> iter = contributor.getRoles().iterator(); iter.hasNext();) {
+                String role = iter.next();
                 writeValue(serializer, "role", role, rolesTracker, index);
                 index = index + 1;
             }
@@ -499,8 +499,8 @@
         }
         if ((dependency.getExclusions() != null) && (dependency.getExclusions().size() > 0)) {
             serializer.startTag(NAMESPACE, "exclusions");
-            for (Iterator iter = dependency.getExclusions().iterator(); iter.hasNext();) {
-                Exclusion o = (Exclusion) iter.next();
+            for (Iterator<Exclusion> iter = dependency.getExclusions().iterator(); iter.hasNext();) {
+                Exclusion o = iter.next();
                 writeExclusion(o, "exclusion", serializer);
             }
             serializer.endTag(NAMESPACE, "exclusions");
@@ -517,8 +517,8 @@
         serializer.startTag(NAMESPACE, tagName);
         if ((dependencyManagement.getDependencies() != null) && (dependencyManagement.getDependencies().size() > 0)) {
             serializer.startTag(NAMESPACE, "dependencies");
-            for (Iterator iter = dependencyManagement.getDependencies().iterator(); iter.hasNext();) {
-                Dependency o = (Dependency) iter.next();
+            for (Iterator<Dependency> iter = dependencyManagement.getDependencies().iterator(); iter.hasNext();) {
+                Dependency o = iter.next();
                 writeDependency(o, "dependency", serializer);
             }
             serializer.endTag(NAMESPACE, "dependencies");
@@ -587,8 +587,8 @@
             int start2 = b.length();
             InputLocationTracker rolesTracker = developer.getLocation("roles");
             int index = 0;
-            for (Iterator iter = developer.getRoles().iterator(); iter.hasNext();) {
-                String role = (String) iter.next();
+            for (Iterator<String> iter = developer.getRoles().iterator(); iter.hasNext();) {
+                String role = iter.next();
                 writeValue(serializer, "role", role, rolesTracker, index);
                 index = index + 1;
             }
@@ -604,7 +604,7 @@
             int start2 = b.length();
             InputLocationTracker propTracker = developer.getLocation("properties");
             for (Iterator iter = developer.getProperties().keySet().iterator(); iter.hasNext();) {
-                String key = (String) iter.next();
+                String key = (String)iter.next();
                 String value = (String) developer.getProperties().get(key);
                 writeValue(serializer, key, value, propTracker);
             }
@@ -744,8 +744,8 @@
             flush(serializer);
             InputLocation otherLoc = mailingList.getLocation("otherArchives");
             int index = 0;
-            for (Iterator iter = mailingList.getOtherArchives().iterator(); iter.hasNext();) {
-                String otherArchive = (String) iter.next();
+            for (Iterator<String> iter = mailingList.getOtherArchives().iterator(); iter.hasNext();) {
+                String otherArchive = iter.next();
                 writeValue(serializer, "otherArchive", otherArchive, otherLoc, index);
                 index = index + 1;
             }
@@ -798,32 +798,32 @@
         }
         if ((model.getLicenses() != null) && (model.getLicenses().size() > 0)) {
             serializer.startTag(NAMESPACE, "licenses");
-            for (Iterator iter = model.getLicenses().iterator(); iter.hasNext();) {
-                License o = (License) iter.next();
+            for (Iterator<License> iter = model.getLicenses().iterator(); iter.hasNext();) {
+                License o = iter.next();
                 writeLicense(o, "license", serializer);
             }
             serializer.endTag(NAMESPACE, "licenses");
         }
         if ((model.getDevelopers() != null) && (model.getDevelopers().size() > 0)) {
             serializer.startTag(NAMESPACE, "developers");
-            for (Iterator iter = model.getDevelopers().iterator(); iter.hasNext();) {
-                Developer o = (Developer) iter.next();
+            for (Iterator<Developer> iter = model.getDevelopers().iterator(); iter.hasNext();) {
+                Developer o = iter.next();
                 writeDeveloper(o, "developer", serializer);
             }
             serializer.endTag(NAMESPACE, "developers");
         }
         if ((model.getContributors() != null) && (model.getContributors().size() > 0)) {
             serializer.startTag(NAMESPACE, "contributors");
-            for (Iterator iter = model.getContributors().iterator(); iter.hasNext();) {
-                Contributor o = (Contributor) iter.next();
+            for (Iterator<Contributor> iter = model.getContributors().iterator(); iter.hasNext();) {
+                Contributor o = iter.next();
                 writeContributor(o, "contributor", serializer);
             }
             serializer.endTag(NAMESPACE, "contributors");
         }
         if ((model.getMailingLists() != null) && (model.getMailingLists().size() > 0)) {
             serializer.startTag(NAMESPACE, "mailingLists");
-            for (Iterator iter = model.getMailingLists().iterator(); iter.hasNext();) {
-                MailingList o = (MailingList) iter.next();
+            for (Iterator<MailingList> iter = model.getMailingLists().iterator(); iter.hasNext();) {
+                MailingList o = iter.next();
                 writeMailingList(o, "mailingList", serializer);
             }
             serializer.endTag(NAMESPACE, "mailingLists");
@@ -837,8 +837,8 @@
             int start2 = b.length();
             int index = 0;
             InputLocation tracker = model.getLocation("modules");
-            for (Iterator iter = model.getModules().iterator(); iter.hasNext();) {
-                String module = (String) iter.next();
+            for (Iterator<String> iter = model.getModules().iterator(); iter.hasNext();) {
+                String module = iter.next();
                 writeValue(serializer, "module", module, tracker, index);
                 index = index + 1;
             }
@@ -875,24 +875,24 @@
         }
         if ((model.getDependencies() != null) && (model.getDependencies().size() > 0)) {
             serializer.startTag(NAMESPACE, "dependencies");
-            for (Iterator iter = model.getDependencies().iterator(); iter.hasNext();) {
-                Dependency o = (Dependency) iter.next();
+            for (Iterator<Dependency> iter = model.getDependencies().iterator(); iter.hasNext();) {
+                Dependency o = iter.next();
                 writeDependency(o, "dependency", serializer);
             }
             serializer.endTag(NAMESPACE, "dependencies");
         }
         if ((model.getRepositories() != null) && (model.getRepositories().size() > 0)) {
             serializer.startTag(NAMESPACE, "repositories");
-            for (Iterator iter = model.getRepositories().iterator(); iter.hasNext();) {
-                Repository o = (Repository) iter.next();
+            for (Iterator<Repository> iter = model.getRepositories().iterator(); iter.hasNext();) {
+                Repository o = iter.next();
                 writeRepository(o, "repository", serializer);
             }
             serializer.endTag(NAMESPACE, "repositories");
         }
         if ((model.getPluginRepositories() != null) && (model.getPluginRepositories().size() > 0)) {
             serializer.startTag(NAMESPACE, "pluginRepositories");
-            for (Iterator iter = model.getPluginRepositories().iterator(); iter.hasNext();) {
-                Repository o = (Repository) iter.next();
+            for (Iterator<Repository> iter = model.getPluginRepositories().iterator(); iter.hasNext();) {
+                Repository o = iter.next();
                 writeRepository(o, "pluginRepository", serializer);
             }
             serializer.endTag(NAMESPACE, "pluginRepositories");
@@ -908,8 +908,8 @@
         }
         if ((model.getProfiles() != null) && (model.getProfiles().size() > 0)) {
             serializer.startTag(NAMESPACE, "profiles");
-            for (Iterator iter = model.getProfiles().iterator(); iter.hasNext();) {
-                Profile o = (Profile) iter.next();
+            for (Iterator<Profile> iter = model.getProfiles().iterator(); iter.hasNext();) {
+                Profile o = iter.next();
                 writeProfile(o, "profile", serializer);
             }
             serializer.endTag(NAMESPACE, "profiles");
diff --git a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
index 68bfbda..5a93cda 100644
--- a/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
+++ b/java/maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
@@ -225,21 +225,16 @@
         if (!inited) {
             try {
                 ContainerConfiguration config = new DefaultContainerConfiguration();
-	            //#154755 - start
-	            ClassWorld world = new ClassWorld();
-	            ClassRealm embedderRealm = world.newRealm("maven.embedder", MavenEmbedder.class.getClassLoader()); //NOI18N
+                //#154755 - start
                 ClassLoader indexerLoader = NexusRepositoryIndexerImpl.class.getClassLoader();
-	            ClassRealm indexerRealm = world.newRealm("maven.indexer", indexerLoader); //NOI18N
-	            ClassRealm plexusRealm = world.newRealm("plexus.core", indexerLoader); //NOI18N
-	            //need to import META-INF/plexus stuff, otherwise the items in META-INF will not be loaded,
-	            // and the Dependency Injection won't work.
-	            plexusRealm.importFrom(embedderRealm.getId(), "META-INF/plexus"); //NOI18N
-	            plexusRealm.importFrom(embedderRealm.getId(), "META-INF/maven"); //NOI18N
-	            plexusRealm.importFrom(indexerRealm.getId(), "META-INF/plexus"); //NOI18N
-	            plexusRealm.importFrom(indexerRealm.getId(), "META-INF/maven"); //NOI18N
-	            config.setClassWorld(world);
-                    config.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
-	            //#154755 - end
+                ClassWorld classWorld = new ClassWorld();
+                ClassRealm plexusRealm = classWorld.newRealm("plexus.core", EmbedderFactory.class.getClassLoader()); //NOI18N
+                plexusRealm.importFrom(indexerLoader, "META-INF/sisu"); //NOI18N
+                plexusRealm.importFrom(indexerLoader, "org.apache.maven.index"); //NOI18N
+                plexusRealm.importFrom(indexerLoader, "org.netbeans.modules.maven.indexer"); //NOI18N
+                config.setClassWorld(classWorld);
+                config.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
+                //#154755 - end
                 embedder = new DefaultPlexusContainer(config);
 
                 ComponentDescriptor<ArtifactContextProducer> desc = new ComponentDescriptor<ArtifactContextProducer>();
diff --git a/java/maven.repository/src/org/netbeans/modules/maven/repository/M2RepositoryBrowser.java b/java/maven.repository/src/org/netbeans/modules/maven/repository/M2RepositoryBrowser.java
index fbaefa4..cd8c2b7 100644
--- a/java/maven.repository/src/org/netbeans/modules/maven/repository/M2RepositoryBrowser.java
+++ b/java/maven.repository/src/org/netbeans/modules/maven/repository/M2RepositoryBrowser.java
@@ -28,7 +28,7 @@
 import javax.swing.Action;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
-import org.apache.maven.cli.MavenCli;
+import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
 import org.netbeans.api.core.ide.ServicesTabNodeRegistration;
 import org.netbeans.modules.maven.indexer.api.QueryField;
 import org.netbeans.modules.maven.indexer.api.RepositoryIndexer;
@@ -187,7 +187,7 @@
         }
         @Override protected void addNotify() {
             RepositoryPreferences.getInstance().addChangeListener(this);
-            FileUtil.addFileChangeListener(this, MavenCli.DEFAULT_USER_SETTINGS_FILE);
+            FileUtil.addFileChangeListener(this, SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE);
             addChangeListener(this);
             addNotifyCalled = true;
         }
@@ -196,7 +196,7 @@
             removeChangeListener(this);
             if (addNotifyCalled) { //#213038
                 try {
-                    FileUtil.removeFileChangeListener(this, MavenCli.DEFAULT_USER_SETTINGS_FILE);
+                    FileUtil.removeFileChangeListener(this, SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE);
                 } catch (IllegalArgumentException exc) {
                     //we just ignore, who cares
                 }
diff --git a/java/maven/manifest.mf b/java/maven/manifest.mf
index 387a056..a845bde 100644
--- a/java/maven/manifest.mf
+++ b/java/maven/manifest.mf
@@ -1,6 +1,6 @@
 Manifest-Version: 1.0
 OpenIDE-Module: org.netbeans.modules.maven/2
-OpenIDE-Module-Specification-Version: 2.137
+OpenIDE-Module-Specification-Version: 2.138
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/Bundle.properties
 OpenIDE-Module-Layer: org/netbeans/modules/maven/layer.xml
 AutoUpdate-Show-In-Client: false
diff --git a/java/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java b/java/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java
index f005a0e..a180788 100644
--- a/java/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java
+++ b/java/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java
@@ -231,7 +231,7 @@
 
             @Override
             public File[] getFiles() {
-                File homeFile = FileUtil.normalizeFile(MavenCli.userMavenConfigurationHome);
+                File homeFile = FileUtil.normalizeFile(MavenCli.USER_MAVEN_CONFIGURATION_HOME);
                 return new File[] {
                     new File(projectFile.getParentFile(), "nb-configuration.xml"), //NOI18N
                     projectFile,
diff --git a/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java b/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
index e38c95a..745e0b0 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/FileUtilities.java
@@ -28,7 +28,7 @@
 import java.util.TreeSet;
 import java.util.regex.Pattern;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.cli.MavenCli;
+import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
 import org.netbeans.api.annotations.common.CheckForNull;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.annotations.common.NullAllowed;
@@ -291,13 +291,13 @@
      * @return either the settings.xml file or <code>null</code> if not available
      */
     public static File getUserSettingsFile(boolean forceCreate) {
-        if(!MavenCli.DEFAULT_USER_SETTINGS_FILE.exists()) {
+        if(!SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.exists()) {
             if(!forceCreate) {
                 return null;
             }
             
             try {
-                File fil = MavenCli.DEFAULT_USER_SETTINGS_FILE.getParentFile();
+                File fil = SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.getParentFile();
 
                 DataFolder folder = DataFolder.findFolder(FileUtil.createFolder(fil));
                 // path to template...
@@ -310,7 +310,7 @@
                 ex.printStackTrace();
             }
         }
-        return MavenCli.DEFAULT_USER_SETTINGS_FILE;
+        return SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE;
     }
     
     private static void getSourcePackageNames (Project prj, SortedSet<String> result, boolean onlyRoots) {
diff --git a/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java b/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
index 94d13cd..9317f1c 100644
--- a/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
+++ b/java/maven/src/org/netbeans/modules/maven/api/archetype/ArchetypeWizards.java
@@ -83,7 +83,7 @@
     }
 
     public static WizardDescriptor.Panel<WizardDescriptor> basicWizardPanel(ValidationGroup vg, boolean isFinish, @NullAllowed Archetype archetype) {
-        return new BasicWizardPanel(vg, archetype, isFinish, false);
+        return new BasicWizardPanel(vg, archetype, isFinish, false, null);
     }
 
     static WizardDescriptor.Panel<WizardDescriptor> basicWizardPanel(Object p, String type) {
@@ -109,12 +109,21 @@
      * @see #TEMPLATE_FOLDER
      */
     public static WizardDescriptor.InstantiatingIterator<?> definedArchetype(String groupId, String artifactId, String version, @NullAllowed String repository, String title) {
+        return definedArchetype(groupId, artifactId, version, repository, title, null);
+    }
+    /** 
+     * @sinced 2.138
+     */
+    public static WizardDescriptor.InstantiatingIterator<?> definedArchetype(
+        String groupId, String artifactId, String version, @NullAllowed String repository, String title,
+        Map<String,String> defaultProps
+    ) {
         Archetype arch = new Archetype();
         arch.setGroupId(groupId);
         arch.setArtifactId(artifactId);
         arch.setVersion(version);
         arch.setRepository(repository);
-        return new MavenWizardIterator(arch, title);
+        return new MavenWizardIterator(arch, title, defaultProps);
     }
 
 }
diff --git a/java/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java b/java/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java
index 6ebd0f2..b794960 100644
--- a/java/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java
+++ b/java/maven/src/org/netbeans/modules/maven/classpath/ClassPathProviderImpl.java
@@ -41,6 +41,7 @@
 import org.netbeans.api.java.classpath.ClassPath;
 import org.netbeans.api.java.classpath.JavaClassPathConstants;
 import org.netbeans.api.java.platform.JavaPlatform;
+import org.netbeans.api.java.queries.SourceLevelQuery;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.modules.java.api.common.classpath.ClassPathSupport;
@@ -538,9 +539,17 @@
             if (ret == null) {
                 // see org.apache.maven.plugin.compiler.CompilerMojo.classpathElements
                 for (String sourceRoot : proj.getOriginalMavenProject().getCompileSourceRoots()) {
-                    if(new File(sourceRoot, MODULE_INFO_JAVA).exists()) {
-                        ret = hasModuleInfoCP.get();  
-                        LOGGER.log(Level.FINER, "ModuleInfoSelector {0} for project {1}: has module-info.java", new Object [] {logDesc, proj.getProjectDirectory().getPath()}); // NOI18N
+                    final File moduleInfoFile = new File(sourceRoot, MODULE_INFO_JAVA);
+                    if(moduleInfoFile.exists()) {
+                        FileObject moduleInfo = FileUtil.toFileObject(moduleInfoFile);
+                        String sourceLevel = SourceLevelQuery.getSourceLevel2(moduleInfo).getSourceLevel();
+                        String ide_jdkvers = System.getProperty("java.version"); //NOI18N
+                        if(!sourceLevel.startsWith("1.") && !ide_jdkvers.startsWith("1.")) { //NOI18N
+                            // both sourceLevel and ideJDK are 9+
+                            ret = hasModuleInfoCP.get();  
+                        }
+                        final Object retObject = ret;
+                        LOGGER.log(Level.FINER, () -> String.format("ModuleInfoSelector %s for project %s: has module-info.java %s", logDesc, proj.getProjectDirectory().getPath(), retObject == null ? "IGNORED" : "")); // NOI18N
                         break;
                     }
                 }
diff --git a/java/maven/src/org/netbeans/modules/maven/customizer/Bundle.properties b/java/maven/src/org/netbeans/modules/maven/customizer/Bundle.properties
index 35aa7a4..dfbd3d7 100644
--- a/java/maven/src/org/netbeans/modules/maven/customizer/Bundle.properties
+++ b/java/maven/src/org/netbeans/modules/maven/customizer/Bundle.properties
@@ -142,7 +142,7 @@
 RunJarPanel.lblConfiguration.text=&Configuration:
 ActionMappings.txtPackagings.text=
 ActionMappings.lblPackagings.text=Supported Packagings:
-CompilePanel.cbCompileOnSave.text=Compile On &Save
+CompilePanel.cbCompileOnSave.text=Compile on &Save (requires nb-javac plugin)
 CompilePanel.btnLearnMore.text=<html><a href="">Learn More about Compile On Save feature in Maven projects</a></html>
 ActionMappings.jButton1.text=Show in Toolbar
 RunJarPanel.txtVMOptions.AccessibleContext.accessibleDescription=VM options
diff --git a/java/maven/src/org/netbeans/modules/maven/customizer/CompilePanel.java b/java/maven/src/org/netbeans/modules/maven/customizer/CompilePanel.java
index 5ba47d8..8da6f6a 100644
--- a/java/maven/src/org/netbeans/modules/maven/customizer/CompilePanel.java
+++ b/java/maven/src/org/netbeans/modules/maven/customizer/CompilePanel.java
@@ -250,7 +250,7 @@
         // java platform updater
         ComboBoxUpdater<Union2<JavaPlatform,String>> compleComboBoxUpdater = new ComboBoxUpdater<Union2<JavaPlatform,String>>(comJavaPlatform, lblJavaPlatform) {
             private String modifiedValue;
-            private String DEFAULT_PLATFORM_VALUE = "@@DEFAU:T@@";
+            private String DEFAULT_PLATFORM_VALUE = "@@DEFAULT@@";
             private ModelOperation<POMModel> operation = new ModelOperation<POMModel>() {
 
             @Override
diff --git a/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java
index 6589ed3..770e556 100644
--- a/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java
+++ b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java
@@ -55,6 +55,7 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.netbeans.api.extexecution.base.Processes;
+import org.netbeans.api.java.platform.JavaPlatform;
 import org.netbeans.api.progress.ProgressHandle;
 import org.netbeans.api.progress.ProgressHandleFactory;
 import org.netbeans.modules.maven.api.Constants;
@@ -83,6 +84,7 @@
 import org.openide.filesystems.FileUtil;
 import org.openide.modules.InstalledFileLocator;
 import org.openide.modules.Places;
+import org.openide.modules.SpecificationVersion;
 import org.openide.util.Exceptions;
 import org.openide.util.Lookup;
 import org.openide.util.RequestProcessor;
@@ -111,7 +113,7 @@
     private String processUUID;
     private Process preProcess;
     private String preProcessUUID;
-    
+    private static final SpecificationVersion VER17 = new SpecificationVersion("1.7"); //NOI18N
     private static final Logger LOGGER = Logger.getLogger(MavenCommandLineExecutor.class.getName());
     
     private static final RequestProcessor RP = new RequestProcessor(MavenCommandLineExecutor.class.getName(),1);
@@ -241,7 +243,8 @@
         processInitialMessage();
         boolean isMaven3 = !isMaven2();
         boolean singlethreaded = !isMultiThreaded(clonedConfig);
-        if (isMaven3 && singlethreaded) {
+        boolean eventSpyCompatible = isEventSpyCompatible(clonedConfig);
+        if (isMaven3 && singlethreaded && eventSpyCompatible) {
             injectEventSpy( clonedConfig );
             if (clonedConfig.getPreExecution() != null) {
                 injectEventSpy( (BeanRunConfig) clonedConfig.getPreExecution());
@@ -330,6 +333,17 @@
         }
     }
 
+    private boolean isEventSpyCompatible(final BeanRunConfig clonedConfig) {
+        // EventSpy cannot work on jdk < 7
+        if (clonedConfig.getProject() != null) {
+            ActiveJ2SEPlatformProvider javaprov = clonedConfig.getProject().getLookup().lookup(ActiveJ2SEPlatformProvider.class);
+            JavaPlatform platform = javaprov.getJavaPlatform();
+            return (platform.getSpecification().getVersion().compareTo(VER17) >= 0);
+        } else {
+            return true;
+        }
+    }
+
     private void kill(Process prcs, String uuid) {
         Map<String, String> env = new HashMap<String, String>();
         env.put(KEY_UUID, uuid);
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.form b/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.form
index 4688231..7023014 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.form
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.form
@@ -73,7 +73,7 @@
           </Group>
           <Group type="102" alignment="0" attributes="0">
               <Component id="pnlAdditionals" max="32767" attributes="0"/>
-              <EmptySpace pref="12" max="32767" attributes="0"/>
+              <EmptySpace max="32767" attributes="0"/>
           </Group>
       </Group>
     </DimensionLayout>
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.java b/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.java
index 16cfec2..2f5b873 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/BasicPanelVisual.java
@@ -118,8 +118,10 @@
         "ERR_Project_Folder_cannot_be_created=Project Folder cannot be created.",
         "ERR_Project_Folder_is_not_valid_path=Project Folder is not a valid path.",
         "ERR_Project_Folder_is_UNC=Project Folder cannot be located on UNC path.",
+        "ERR_Package_ends_in_dot=Package name can not end in '.'.",
         "# {0} - version", "ERR_old_maven=Maven {0} is too old, version 2.0.7 or newer is needed.",
-        "ERR_Project_Folder_exists=Project Folder already exists and is not empty."
+        "ERR_Project_Folder_exists=Project Folder already exists and is not empty.",
+        "ERR_Project_Folder_not_directory=Project Folder is not a directory."
     })
     BasicPanelVisual(BasicWizardPanel panel, Archetype arch) {
         this.panel = panel;
@@ -158,7 +160,17 @@
                 vg.add(txtGroupId, MavenValidators.createGroupIdValidators());
                 vg.add(txtArtifactId, MavenValidators.createArtifactIdValidators());
                 vg.add(txtVersion, MavenValidators.createVersionValidators());
-                vg.add(txtPackage, StringValidators.JAVA_PACKAGE_NAME);
+                vg.add(txtPackage, ValidatorUtils.merge(
+                        StringValidators.JAVA_PACKAGE_NAME,
+                        new AbstractValidator<String>(String.class) {
+                        @Override
+                        public void validate(Problems problems, String compName, String model)
+                        {
+                            // MAY_NOT_END_WITH_PERIOD validator broken in NB's
+                            // version (empty string); so copy current version' code.
+                            if(model != null && !model.isEmpty() && model.charAt(model.length() - 1) == '.')
+                                problems.add(ERR_Package_ends_in_dot());
+                        }}));
                 vg.add(projectNameTextField, ValidatorUtils.merge(
                         MavenValidators.createArtifactIdValidators(),
                         StringValidators.REQUIRE_VALID_FILENAME
@@ -198,6 +210,10 @@
                             return;
                         }
                         File destFolder = FileUtil.normalizeFile(new File(new File(projectLocationTextField.getText().trim()), projectNameTextField.getText().trim()).getAbsoluteFile());
+                        if(destFolder.exists() && !destFolder.isDirectory()) {
+                            problems.add(ERR_Project_Folder_not_directory());
+                            return;
+                        }
                         File[] kids = destFolder.listFiles();
                         if (destFolder.exists() && kids != null && kids.length > 0) {
                             // Folder exists and is not empty
@@ -509,13 +525,14 @@
         }
         String name = projectNameTextField.getText().trim();
         String folder = createdFolderTextField.getText().trim();
-        final File parentFolder = new File(folder);
+        final File projectFolder = new File(folder);
         
-        d.putProperty(CommonProjectActions.PROJECT_PARENT_FOLDER, parentFolder);
+        // PROJECT_PARENT_FOLDER confusing, better name is PROJECT_BASE_FOLDER
+        d.putProperty(CommonProjectActions.PROJECT_PARENT_FOLDER, projectFolder);
         if (d instanceof TemplateWizard) {
             ((TemplateWizard) d).setTargetFolderLazy(() -> {
-                parentFolder.mkdirs();
-                return DataFolder.findFolder(FileUtil.toFileObject(parentFolder));
+                projectFolder.mkdirs();
+                return DataFolder.findFolder(FileUtil.toFileObject(projectFolder));
             });
         }
         d.putProperty("name", name); //NOI18N
@@ -550,21 +567,40 @@
         });
     }
     
+    private static final String SETTINGS_HAVE_READ = "BasicPanelVisual-read-properties-before"; //NOI18N
     @Messages({
         "# {0} - project count", "TXT_MavenProjectName=mavenproject{0}",
         "TXT_Checking1=Checking additional creation properties..."
     })
-    void read(WizardDescriptor settings) {
+    void read(WizardDescriptor settings, Map<String,String> defaultProps) {
         synchronized (HANDLE_LOCK) {
             if (handle != null) {
                 handle.finish();
                 handle = null;
             }
         }        
-        File projectLocation = (File) settings.getProperty(CommonProjectActions.PROJECT_PARENT_FOLDER); //NOI18N
-        if (projectLocation == null || projectLocation.getParentFile() == null || !projectLocation.getParentFile().isDirectory()) {
-            projectLocation = ProjectChooser.getProjectsFolder();
-        } 
+        // PROJECT_PARENT_FOLDER usage is confusing. Sometimes it's the
+        // parent directory, sometimes it's the project directory.
+        // Maybe introduce PROJECT_BASE_FOLDER, to clarify and differentiate.
+        // But for local fix [NETBEANS-4206] keep track of whether
+        // these properties have been read before.
+        boolean haveRead =  Boolean.parseBoolean((String)settings.getProperty(SETTINGS_HAVE_READ)); //NOI18N
+        File projectFolder = (File) settings.getProperty(CommonProjectActions.PROJECT_PARENT_FOLDER); //NOI18N
+        File projectLocation;
+        if(!haveRead && projectFolder != null) {
+            // First time in here, dialog was started with project folder;
+            // example is creating a project from pom parent
+            projectLocation = projectFolder;
+        } else {
+            if (projectFolder == null || projectFolder.getParentFile() == null || !projectFolder.getParentFile().isDirectory()) {
+                projectLocation = ProjectChooser.getProjectsFolder();
+            } else {
+                projectLocation = projectFolder.getParentFile();
+            }
+        }
+        if(!haveRead) {
+            settings.putProperty(SETTINGS_HAVE_READ, "true"); //NOI18N
+        }
         this.projectLocationTextField.setText(projectLocation.getAbsolutePath());
         
         String projectName = (String) settings.getProperty("name"); //NOI18N
@@ -598,7 +634,7 @@
             RPprep.post(new Runnable() {
                 @Override
                 public void run() {
-                    prepareAdditionalProperties(archet);
+                    prepareAdditionalProperties(archet, defaultProps);
                 }
             });
         }
@@ -615,7 +651,7 @@
         "COL_Value=Value",
         "TXT_Checking2=A&dditional Creation Properties:"
     })
-    private void prepareAdditionalProperties(Archetype arch) {
+    private void prepareAdditionalProperties(Archetype arch, Map<String, String> defaultProps) {
         final DefaultTableModel dtm = new DefaultTableModel();
         dtm.addColumn(COL_Key());
         dtm.addColumn(COL_Value());
@@ -629,7 +665,13 @@
                     if ("groupId".equals(key) || "artifactId".equals(key) || "version".equals(key)) {
                         continue; //don't show the basic props as additionals..
                     }
-                    dtm.addRow(new Object[] {key, defVal == null ? "" : defVal });
+                    if (defaultProps != null && defaultProps.containsKey(key)) {
+                        defVal = defaultProps.get(key);
+                    }
+                    if (defVal == null) {
+                        defVal = "";
+                    }
+                    dtm.addRow(new Object[] {key, defVal });
                 }
             }
         } catch (ArtifactResolutionException ex) {
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/BasicWizardPanel.java b/java/maven/src/org/netbeans/modules/maven/newproject/BasicWizardPanel.java
index 4077588..c23ed33 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/BasicWizardPanel.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/BasicWizardPanel.java
@@ -19,6 +19,7 @@
 
 package org.netbeans.modules.maven.newproject;
 
+import java.util.Map;
 import javax.swing.event.ChangeListener;
 import org.netbeans.api.annotations.common.NullAllowed;
 import org.netbeans.modules.maven.api.archetype.Archetype;
@@ -38,12 +39,16 @@
     private final boolean additional;
     private final ValidationGroup validationGroup;
     private final Archetype arch;
+    private final Map<String, String> defaultProps;
     
-    public BasicWizardPanel(ValidationGroup vg, @NullAllowed Archetype arch, boolean isFinish, boolean additional) {
+    public BasicWizardPanel(ValidationGroup vg, @NullAllowed
+            Archetype arch, boolean isFinish, boolean additional, Map<String,String> defaultArgs
+    ) {
         this.isFinish = isFinish;
         this.additional = additional;
         this.validationGroup = vg;
         this.arch = arch;
+        this.defaultProps = defaultArgs;
     }
 
     ValidationGroup getValidationGroup() {
@@ -81,7 +86,7 @@
     
     public @Override void readSettings(WizardDescriptor settings) {
         wizardDescriptor = settings;
-        getComponent().read(wizardDescriptor);
+        getComponent().read(wizardDescriptor, defaultProps);
         // XXX hack, TemplateWizard in final setTemplateImpl() forces new wizard's title
         // this name is used in NewProjectWizard to modify the title
 //        Object substitute = getComponent().getClientProperty ("NewProjectWizard_Title"); // NOI18N
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java b/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java
index 7d566a2..387ad1a 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/MavenWizardIterator.java
@@ -22,7 +22,9 @@
 import java.io.IOException;
 import java.text.MessageFormat;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -33,6 +35,7 @@
 import org.netbeans.modules.maven.api.archetype.Archetype;
 import org.netbeans.modules.maven.api.archetype.ArchetypeWizards;
 import static org.netbeans.modules.maven.newproject.Bundle.*;
+import org.netbeans.modules.maven.options.MavenSettings;
 import org.netbeans.spi.project.ui.support.CommonProjectActions;
 import org.netbeans.validation.api.ui.ValidationGroup;
 import org.openide.WizardDescriptor;
@@ -57,14 +60,16 @@
     private final Archetype archetype;
     private final AtomicBoolean hasNextCalled = new AtomicBoolean(); //#216236
     private final String titlename;
+    private final Map<String, String> defaultProps;
 
     public MavenWizardIterator() {
-        this(null, null);
+        this(null, null, null);
     }
     
-    public MavenWizardIterator(Archetype archetype, String titleName) {
+    public MavenWizardIterator(Archetype archetype, String titleName, Map<String,String> defaultProps) {
         this.archetype = archetype;
         this.titlename = titleName;
+        this.defaultProps = defaultProps;
     }
 
 //    @TemplateRegistration(folder=ArchetypeWizards.TEMPLATE_FOLDER, position=100, displayName="#LBL_Maven_Quickstart_Archetype", iconBase="org/netbeans/modules/maven/resources/jaricon.png", description="quickstart.html")
@@ -88,14 +93,24 @@
     @TemplateRegistration(folder=ArchetypeWizards.TEMPLATE_FOLDER, position = 925, displayName = "#LBL_Maven_FXML_Archetype", iconBase = "org/netbeans/modules/maven/resources/jaricon.png", description = "javafx.html")
     @Messages("LBL_Maven_FXML_Archetype=FXML JavaFX Maven Archetype (Gluon)")
     public static WizardDescriptor.InstantiatingIterator<?> openJFXFML() {
-       return ArchetypeWizards.definedArchetype("org.openjfx", "javafx-archetype-fxml", "0.0.3", null, LBL_Maven_FXML_Archetype());
+       return definedFXArchetype("com.raelity.jfx", "javafx-archetype-fxml-netbeans", "0.0.4", LBL_Maven_FXML_Archetype());
     }
 
     @TemplateRegistration(folder=ArchetypeWizards.TEMPLATE_FOLDER, position = 926, displayName = "#LBL_Maven_Simple_Archetype", iconBase = "org/netbeans/modules/maven/resources/jaricon.png", description = "javafx.html")
     @Messages("LBL_Maven_Simple_Archetype=Simple JavaFX Maven Archetype (Gluon)")
     public static WizardDescriptor.InstantiatingIterator<?> openJFXSimple() {
-       return ArchetypeWizards.definedArchetype("org.openjfx", "javafx-archetype-simple", "0.0.3", null, LBL_Maven_Simple_Archetype());
+       return definedFXArchetype("com.raelity.jfx", "javafx-archetype-simple-netbeans", "0.0.4", LBL_Maven_Simple_Archetype());
     }
+
+    private static WizardDescriptor.InstantiatingIterator<?> definedFXArchetype(String g, String a, String v, String name) {
+        Map<String,String> props = new HashMap<>();
+        if (System.getProperty("java.version").startsWith("1.8")) {
+            props.put("javafx-version", "1.8");
+        }
+        props.put("add-debug-configuration", "Y");
+        return ArchetypeWizards.definedArchetype(g, a, v, null, name, props);
+    }
+
 //    @TemplateRegistration(folder=ArchetypeWizards.TEMPLATE_FOLDER, position=980, displayName="#LBL_Maven_POM_Archetype", iconBase="org/netbeans/modules/maven/resources/Maven2Icon.gif", description="pom-root.html")
 //    @Messages("LBL_Maven_POM_Archetype=POM Project")
 //    public static WizardDescriptor.InstantiatingIterator<?> pomRoot() {
@@ -120,7 +135,7 @@
             panels.add(new ChooseWizardPanel());
             steps.add(LBL_CreateProjectStep());
         }
-        panels.add(new BasicWizardPanel(vg, null, true, true)); //only download archetype (for additional props) when unknown archetype is used.
+        panels.add(new BasicWizardPanel(vg, null, true, true, defaultProps)); //only download archetype (for additional props) when unknown archetype is used.
         steps.add(LBL_CreateProjectStep2());
         for (int i = 0; i < panels.size(); i++) {
             JComponent c = (JComponent) panels.get(i).getComponent();
diff --git a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
index 5b475e9..c4426a4 100644
--- a/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
+++ b/java/maven/src/org/netbeans/modules/maven/newproject/idenative/IDENativeMavenWizardIterator.java
@@ -39,6 +39,7 @@
 import static org.netbeans.modules.maven.newproject.idenative.Bundle.NameFormat;
 
 import org.netbeans.spi.project.ui.support.CommonProjectActions;
+import org.netbeans.spi.project.ui.support.ProjectChooser;
 import org.netbeans.validation.api.ui.ValidationGroup;
 import org.openide.WizardDescriptor;
 import org.openide.filesystems.FileObject;
@@ -82,6 +83,10 @@
             String[] splitlog = StringUtils.split(log, ":");
             ArchetypeWizardUtils.logUsage(splitlog[0], splitlog[1], splitlog[2]);
             File projFile = FileUtil.normalizeFile((File) wiz.getProperty(CommonProjectActions.PROJECT_PARENT_FOLDER)); // NOI18N
+            final File parent = projFile.getParentFile();
+            if (parent != null && parent.exists()) {
+                ProjectChooser.setProjectsFolder(parent);
+            }
             CreateProjectBuilder builder = createBuilder(projFile, vi, handle);
             builder.create();
             handle.progress(Bundle.PRG_FINISH());
@@ -111,7 +116,7 @@
         panels = new ArrayList<WizardDescriptor.Panel<WizardDescriptor>>();
         List<String> steps = new ArrayList<String>();
         
-        panels.add(new BasicWizardPanel(vg, null, true, false)); //only download archetype (for additional props) when unknown archetype is used.
+        panels.add(new BasicWizardPanel(vg, null, true, false, null)); //only download archetype (for additional props) when unknown archetype is used.
         steps.add(LBL_CreateProjectStep2());
         for (int i = 0; i < panels.size(); i++) {
             JComponent c = (JComponent) panels.get(i).getComponent();
diff --git a/java/maven/src/org/netbeans/modules/maven/nodes/ProjectFilesNode.java b/java/maven/src/org/netbeans/modules/maven/nodes/ProjectFilesNode.java
index 618e714..60f07dc 100644
--- a/java/maven/src/org/netbeans/modules/maven/nodes/ProjectFilesNode.java
+++ b/java/maven/src/org/netbeans/modules/maven/nodes/ProjectFilesNode.java
@@ -34,7 +34,7 @@
 import java.util.logging.Logger;
 import javax.swing.AbstractAction;
 import javax.swing.Action;
-import org.apache.maven.cli.MavenCli;
+import org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor;
 import org.netbeans.api.annotations.common.StaticResource;
 import org.netbeans.modules.maven.M2AuxilaryConfigImpl;
 import org.netbeans.modules.maven.NbMavenProjectImpl;
@@ -78,7 +78,7 @@
     @Override
     public Action[] getActions(boolean context) {
         Collection<Action> col = new ArrayList<Action>();
-        if (!MavenCli.DEFAULT_USER_SETTINGS_FILE.exists()) {
+        if (!SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE.exists()) {
             col.add(new AddSettingsXmlAction());
         }
         return col.toArray(new Action[col.size()]);
@@ -163,7 +163,7 @@
                 }
             }
             keys.add(d.getFileObject(M2AuxilaryConfigImpl.CONFIG_FILE_NAME));
-            keys.add(FileUtil.toFileObject(MavenCli.DEFAULT_USER_SETTINGS_FILE));
+            keys.add(FileUtil.toFileObject(SettingsXmlConfigurationProcessor.DEFAULT_USER_SETTINGS_FILE));
             keys.removeAll(Collections.singleton(null));
             return true;
         }
diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/ActionProviderImplTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/ActionProviderImplTest.java
index 3aa76c0..278a866 100644
--- a/java/maven/test/unit/src/org/netbeans/modules/maven/ActionProviderImplTest.java
+++ b/java/maven/test/unit/src/org/netbeans/modules/maven/ActionProviderImplTest.java
@@ -107,7 +107,7 @@
                 + "<groupId>test</groupId><artifactId>prj</artifactId>"
                 + "<version>1.0</version>"
                 + "<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version></plugin></plugins></build>"
-                + "<dependencies><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.5.2</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-params</artifactId><version>5.5.2</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>5.5.2</version><scope>test</scope></dependency></dependencies>"
+                + "<dependencies><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.6.0</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-params</artifactId><version>5.6.0</version><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-engine</artifactId><version>5.6.0</version><scope>test</scope></dependency></dependencies>"
                 + "<properties><netbeans.compile.on.save>none</netbeans.compile.on.save></properties>"
                 + "</project>");
         assertSupportsRunSingleMethod(ProjectManager.getDefault().findProject(FileUtil.toFileObject(getWorkDir())), true);
diff --git a/java/refactoring.java/nbproject/project.xml b/java/refactoring.java/nbproject/project.xml
index ba5f6da..6e99e83 100644
--- a/java/refactoring.java/nbproject/project.xml
+++ b/java/refactoring.java/nbproject/project.xml
@@ -458,6 +458,9 @@
                         <compile-dependency/>
                     </test-dependency>
                     <test-dependency>
+                        <code-name-base>org.netbeans.libs.truffleapi</code-name-base>
+                    </test-dependency>
+                    <test-dependency>
                         <code-name-base>org.netbeans.modules.editor.codetemplates</code-name-base>
                         <compile-dependency/>
                     </test-dependency>
@@ -525,11 +528,6 @@
                         <test/>
                     </test-dependency>
                     <test-dependency>
-                        <code-name-base>org.netbeans.modules.java.source.nbjavac</code-name-base>
-                        <compile-dependency/>
-                        <test/>
-                    </test-dependency>
-                    <test-dependency>
                         <code-name-base>org.netbeans.modules.nbjunit</code-name-base>
                         <recursive/>
                         <compile-dependency/>
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
index df11b17..698c1f1 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineMethodTransformer.java
@@ -31,8 +31,10 @@
 import org.netbeans.api.java.source.Comment;
 import org.netbeans.api.java.source.ElementUtilities;
 import org.netbeans.api.java.source.GeneratorUtilities;
+import org.netbeans.api.java.source.SourceUtils;
 import org.netbeans.api.java.source.TreePathHandle;
 import org.netbeans.api.java.source.TreeUtilities;
+import org.netbeans.api.java.source.WorkingCopy;
 import org.netbeans.api.java.source.support.ErrorAwareTreePathScanner;
 import org.netbeans.api.java.source.support.ErrorAwareTreeScanner;
 import org.netbeans.modules.refactoring.api.Problem;
@@ -42,6 +44,7 @@
 import org.openide.util.NbBundle;
 import org.openide.util.Pair;
 import static org.netbeans.modules.refactoring.java.plugins.Bundle.*;
+import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
 
 /**
  *
@@ -69,6 +72,12 @@
         changedParamters = new HashSet<>();
     }
 
+    @Override
+    public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        SourceUtils.forceSource(workingCopy, tph.getFileObject());
+        super.setWorkingCopy(workingCopy);
+    }
+
     public Problem getProblem() {
         return problem;
     }
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
index 6bc3f8a..9dbea15 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineRefactoringPlugin.java
@@ -91,7 +91,7 @@
                 break;
             case CONSTANT:
             case TEMP:
-                visitor = new InlineVariableTransformer();
+                visitor = new InlineVariableTransformer(treePathHandle);
                 break;
             default:
                 return null;
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineVariableTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineVariableTransformer.java
index 9c41146..b298afb 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineVariableTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InlineVariableTransformer.java
@@ -27,7 +27,12 @@
 import javax.lang.model.type.TypeMirror;
 import org.netbeans.api.java.source.ElementUtilities;
 import org.netbeans.api.java.source.GeneratorUtilities;
+import org.netbeans.api.java.source.SourceUtils;
+import org.netbeans.api.java.source.TreePathHandle;
+import org.netbeans.api.java.source.WorkingCopy;
 import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
+import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
+import org.openide.filesystems.FileObject;
 
 /**
  *
@@ -35,6 +40,19 @@
  */
 public class InlineVariableTransformer extends RefactoringVisitor {
 
+    private final FileObject sourceFile;
+
+    public InlineVariableTransformer(TreePathHandle treePathHandle) {
+        this.sourceFile = treePathHandle.getFileObject();
+    }
+
+    
+    @Override
+    public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        SourceUtils.forceSource(workingCopy, sourceFile);
+        super.setWorkingCopy(workingCopy);
+    }
+
     @Override
     public Tree visitIdentifier(IdentifierTree node, Element p) {
         replaceUsageIfMatch(getCurrentPath(), node, p);
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
index 9f7165b..33e993f 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/InnerToOuterTransformer.java
@@ -586,7 +586,7 @@
             for (Tree member:newInnerClass.getMembers()) {
                 if (member.getKind() == Tree.Kind.METHOD) {
                     MethodTree m = (MethodTree) member;
-                    if (m.getReturnType()==null) {
+                    if (m.getName().contentEquals("<init>") || m.getReturnType() == null) {
                         VariableTree parameter = make.Variable(make.Modifiers(EnumSet.of(Modifier.FINAL)), refactoring.getReferenceName(), make.Type(outerType), null);
                         MethodTree newConstructor = hasVarArgs(m) ?
                             make.insertMethodParameter(m, m.getParameters().size() - 1, parameter) : 
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
index a53c3bc..b54f983 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/IntroduceLocalExtensionTransformer.java
@@ -41,6 +41,7 @@
 import org.netbeans.modules.refactoring.java.api.IntroduceLocalExtensionRefactoring.Equality;
 import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
 import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
+import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
 import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
 import org.openide.util.MapFormat;
@@ -68,6 +69,17 @@
     }
 
     @Override
+    public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        if (!initialized) {
+            FileObject origin = SourceUtils.getFile(refactoring.getRefactoringSource().lookup(TreePathHandle.class).getElementHandle(), workingCopy.getClasspathInfo());
+            if (origin != null) {
+                SourceUtils.forceSource(workingCopy, origin);
+            }
+        }
+        super.setWorkingCopy(workingCopy);
+    }
+
+    @Override
     public Tree visitCompilationUnit(CompilationUnitTree node, Element p) {
         if (!initialized) {
             String packageName = refactoring.getPackageName();
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
index cd7b618..8ac0216 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveClassTransformer.java
@@ -30,6 +30,7 @@
 import javax.lang.model.type.TypeMirror;
 import org.netbeans.api.java.source.ElementHandle;
 import org.netbeans.api.java.source.GeneratorUtilities;
+import org.netbeans.api.java.source.SourceUtils;
 import org.netbeans.api.java.source.TreePathHandle;
 import org.netbeans.api.java.source.TreeUtilities;
 import org.netbeans.api.java.source.WorkingCopy;
@@ -63,25 +64,29 @@
     private Set<ImportTree> importToRemove;
     private boolean isThisFileReferencingOldPackage = false;
     private final ElementHandle<TypeElement> targetHandle;
+    private final FileObject targetFile;
+    private final FileObject sourceFile;
     private boolean deleteFile;
 
     public MoveClassTransformer(TreePathHandle elementHandle, URL targetURL) {
-        this(elementHandle.getElementHandle(), targetURL, null);
+        this(elementHandle.getElementHandle(), targetURL, null, null, null);
         this.targetPackageName = RefactoringUtils.getPackageName(targetURL);
     }
     
-    public MoveClassTransformer(TreePathHandle elementHandle, ElementHandle<TypeElement> targetHandle) {
-        this(elementHandle.getElementHandle(), null, targetHandle);
+    public MoveClassTransformer(TreePathHandle elementHandle, ElementHandle<TypeElement> targetHandle, FileObject targetFile, FileObject sourceFile) {
+        this(elementHandle.getElementHandle(), null, targetHandle, targetFile, sourceFile);
     }
     
-    public MoveClassTransformer(ElementHandle<TypeElement> elementHandle, ElementHandle<TypeElement> targetHandle) {
-        this(elementHandle, null, targetHandle);
+    public MoveClassTransformer(ElementHandle<TypeElement> elementHandle, ElementHandle<TypeElement> targetHandle, FileObject targetFile, FileObject sourceFile) {
+        this(elementHandle, null, targetHandle, targetFile, sourceFile);
     }
     
-    private MoveClassTransformer(ElementHandle<TypeElement> elementHandle, URL targetURL, ElementHandle<TypeElement> targetHandle) {
+    private MoveClassTransformer(ElementHandle<TypeElement> elementHandle, URL targetURL, ElementHandle<TypeElement> targetHandle, FileObject targetFile, FileObject sourceFile) {
         this.elementHandle = elementHandle;
         this.targetURL = targetURL;
         this.targetHandle = targetHandle;
+        this.targetFile = targetFile;
+        this.sourceFile = sourceFile;
     }
 
     Problem getProblem() {
@@ -90,6 +95,9 @@
 
     @Override
     public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        if (sourceFile != null) {
+            SourceUtils.forceSource(workingCopy, sourceFile);
+        }
         super.setWorkingCopy(workingCopy);
         final TypeElement element = this.elementHandle.resolve(workingCopy);
         this.originalPackage = getPackageOf(element).getQualifiedName().toString();
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
index 2801df4..5a25832 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveFileRefactoringPlugin.java
@@ -554,9 +554,9 @@
                     transformer = new MoveClassTransformer(sourceTph, targetUrl);
                 } else {
                     if(sourceTph != null) {
-                        transformer = new MoveClassTransformer(sourceTph, targetTph.getElementHandle());
+                        transformer = new MoveClassTransformer(sourceTph, targetTph.getElementHandle(), targetTph.getFileObject(), sourceTph.getFileObject());
                     } else {
-                        transformer = new MoveClassTransformer(classes.iterator().next(), targetTph.getElementHandle());
+                        transformer = new MoveClassTransformer(classes.iterator().next(), targetTph.getElementHandle(), null, null); //TODO: unclear - source?
                     }
                 }
             }
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersRefactoringPlugin.java
index ee29d4f..a98bf1d 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersRefactoringPlugin.java
@@ -201,12 +201,18 @@
             }
         }
 
-        TreePath targetPath = target.resolve(javac);
-        if(targetPath == null) {
+        Element targetElement = target.resolveElement(javac);
+        Element targetClass = targetElement;
+        if(targetClass == null) {
             return new Problem(true, NbBundle.getMessage(MoveMembersRefactoringPlugin.class, "ERR_TargetNotResolved"));
         }
-        TreePath targetClass = JavaRefactoringUtils.findEnclosingClass(javac, targetPath, true, true, true, true, true);
-        TypeMirror targetType = javac.getTrees().getTypeMirror(targetClass);
+        while (targetClass != null && !targetClass.getKind().isClass() && !targetClass.getKind().isInterface()) {
+            targetClass = targetClass.getEnclosingElement();
+        }
+        if(targetClass == null) {
+            return new Problem(true, NbBundle.getMessage(MoveMembersRefactoringPlugin.class, "ERR_TargetNotResolved"));
+        }
+        TypeMirror targetType = targetClass.asType();
         if(targetType == null) {
             return new Problem(true, NbBundle.getMessage(MoveMembersRefactoringPlugin.class, "ERR_TargetNotResolved"));
         }
@@ -227,7 +233,6 @@
             return new Problem(true, NbBundle.getMessage(MoveMembersRefactoringPlugin.class, "ERR_MoveToSubClass")); //NOI18N
         }
         
-        Element targetElement = target.resolveElement(javac);
         PackageElement targetPackage = (PackageElement) javac.getElementUtilities().outermostTypeElement(targetElement).getEnclosingElement();
         Element sourceElement = sourceTph.resolveElement(javac);
         PackageElement sourcePackage = (PackageElement) javac.getElementUtilities().outermostTypeElement(sourceElement).getEnclosingElement();
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
index e9ba1d9..21f0947 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveMembersTransformer.java
@@ -43,6 +43,7 @@
 import org.netbeans.modules.refactoring.java.api.JavaMoveMembersProperties.Visibility;
 import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
 import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
+import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
 import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
 import org.openide.util.NbBundle;
@@ -82,6 +83,14 @@
         updateJavadoc = properties.isUpdateJavaDoc();
     }
 
+    @Override
+    public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        for (TreePathHandle element : allElements) {
+            SourceUtils.forceSource(workingCopy, element.getFileObject());
+        }
+        super.setWorkingCopy(workingCopy);
+    }
+
     public Problem getProblem() {
         return problem;
     }
@@ -451,6 +460,9 @@
                     return (r1 == Boolean.TRUE || r2 == Boolean.TRUE);
                 }
             };
+            if (workingCopy.getTrees().getTree(el) == null) {
+                System.err.println("!!!");
+            }
             Boolean needsArgument = needsArgumentScanner.scan(workingCopy.getTrees().getTree(el).getBody(), sourceType);
             if (needsArgument == Boolean.TRUE) {
                 ExpressionTree newArgument;
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
index 63dc550..201267a 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/MoveTransformer.java
@@ -122,7 +122,7 @@
                         }
                         }
                     } else {
-                        if (el.getKind()!=ElementKind.PACKAGE) {
+                        if (el.getKind()!=ElementKind.PACKAGE && el.getKind() != ElementKind.MODULE) {
                             Element enclosingTypeElement = workingCopy.getElementUtilities().enclosingTypeElement(el);
 
                             EnumSet<Modifier> neededMods = EnumSet.of(Modifier.PUBLIC);
@@ -196,7 +196,7 @@
                         if (!RefactoringUtils.getPackageName(workingCopy.getCompilationUnit()).equals(targetPackageName)) {
                             elementsToImport.add(el);
                         }
-                } else if (el.getKind() != ElementKind.PACKAGE) {
+                } else if (el.getKind() != ElementKind.PACKAGE && el.getKind() != ElementKind.MODULE) {
                         Element enclosingTypeElement = workingCopy.getElementUtilities().enclosingTypeElement(el);
                         
                         EnumSet<Modifier> neededMods = EnumSet.of(Modifier.PUBLIC);
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
index 5af5c2a..9d95322 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PullUpTransformer.java
@@ -40,6 +40,7 @@
 import javax.lang.model.util.Types;
 import org.netbeans.api.java.source.ElementHandle;
 import org.netbeans.api.java.source.GeneratorUtilities;
+import org.netbeans.api.java.source.SourceUtils;
 import org.netbeans.api.java.source.TreeMaker;
 import org.netbeans.api.java.source.TreePathHandle;
 import org.netbeans.api.java.source.WorkingCopy;
@@ -68,6 +69,7 @@
 
     @Override
     public void setWorkingCopy(WorkingCopy copy) throws ToPhaseException {
+        SourceUtils.forceSource(copy, refactoring.getSourceType().getFileObject());
         super.setWorkingCopy(copy);
         this.targetType = refactoring.getTargetType().resolve(copy);
         this.sourceType = (TypeElement) refactoring.getSourceType().resolveElement(copy);
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownRefactoringPlugin.java
index f01b841..399f2e9 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownRefactoringPlugin.java
@@ -143,7 +143,7 @@
     public Problem prepare(RefactoringElementsBag refactoringElements) {
         Set<FileObject> a = getRelevantFiles(treePathHandle);
         fireProgressListenerStart(AbstractRefactoring.PREPARE, a.size());
-        PushDownTransformer pdt = new PushDownTransformer(refactoring.getMembers()); 
+        PushDownTransformer pdt = new PushDownTransformer(treePathHandle.getFileObject(), refactoring.getMembers()); 
         Problem prob = createAndAddElements(a, new TransformTask(pdt, treePathHandle), refactoringElements, refactoring);
         fireProgressListenerStop();
         return prob != null ? prob : pdt.getProblem();
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
index 89c261a..f08aed9 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/PushDownTransformer.java
@@ -40,11 +40,15 @@
 import org.netbeans.api.java.source.ElementHandle;
 import org.netbeans.api.java.source.ElementUtilities;
 import org.netbeans.api.java.source.GeneratorUtilities;
+import org.netbeans.api.java.source.SourceUtils;
+import org.netbeans.api.java.source.WorkingCopy;
 import org.netbeans.modules.refactoring.api.Problem;
 import org.netbeans.modules.refactoring.java.RefactoringUtils;
 import org.netbeans.modules.refactoring.java.api.MemberInfo;
 import org.netbeans.modules.refactoring.java.spi.RefactoringVisitor;
 import static org.netbeans.modules.refactoring.java.plugins.Bundle.*;
+import org.netbeans.modules.refactoring.java.spi.ToPhaseException;
+import org.openide.filesystems.FileObject;
 import org.openide.util.NbBundle;
 
 /**
@@ -54,6 +58,7 @@
  */
 public class PushDownTransformer extends RefactoringVisitor {
 
+    private final FileObject originFile;
     private final MemberInfo<ElementHandle<? extends Element>>[] members;
     private Problem problem;
     private boolean inSuperClass;
@@ -62,11 +67,18 @@
         return problem;
     }
 
-    public PushDownTransformer(MemberInfo<ElementHandle<? extends Element>> members[]) {
+    public PushDownTransformer(FileObject originFile, MemberInfo<ElementHandle<? extends Element>> members[]) {
+        this.originFile = originFile;
         this.members = members;
         this.translateQueue = new LinkedList<>();
     }
 
+    @Override
+    public void setWorkingCopy(WorkingCopy workingCopy) throws ToPhaseException {
+        SourceUtils.forceSource(workingCopy, originFile);
+        super.setWorkingCopy(workingCopy); //To change body of generated methods, choose Tools | Templates.
+    }
+
     private final Deque<Map<Tree, Tree>> translateQueue;
     @Override
     public Tree visitClass(ClassTree node, Element source) {
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTestClassRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTestClassRefactoringPlugin.java
index 545d5ec..508ee39 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTestClassRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/plugins/RenameTestClassRefactoringPlugin.java
@@ -244,10 +244,10 @@
 		JavaSource.forFileObject(location.getFileObject()).runUserActionTask(new Task<CompilationController>() {
 		    @Override
 		    public void run(CompilationController javac) throws Exception {
+			javac.toPhase(JavaSource.Phase.RESOLVED);
 			final Element methodElement = treePathHandle.resolveElement(javac);
 			String methodName = methodElement.getSimpleName().toString();
 			String testMethodName = RefactoringUtils.getTestMethodName(methodName);
-			javac.toPhase(JavaSource.Phase.RESOLVED);
 			CompilationUnitTree cut = javac.getCompilationUnit();
 			Tree classTree = cut.getTypeDecls().get(0);
 			List<? extends Tree> members = ((ClassTree) classTree).getMembers();
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaRefactoringPlugin.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaRefactoringPlugin.java
index 3162c2d..fb9d3b6 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaRefactoringPlugin.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/JavaRefactoringPlugin.java
@@ -312,11 +312,20 @@
                         .setSourcePath(srcPath)
                         .build();
             }
-            final JavaSource javaSource = JavaSource.create(info, entry.getValue());
+            List<FileObject> augmentedFiles = new ArrayList<>(entry.getValue());
+            FileObject fake = FileUtil.createMemoryFileSystem().getRoot().createData("Fake.java");
+            augmentedFiles.add(fake);
+            final JavaSource javaSource = JavaSource.create(info, augmentedFiles);
             if (modification) {
-                results.add(javaSource.runModificationTask((CancellableTask<WorkingCopy>)task)); // can throw IOException
+                results.add(javaSource.runModificationTask(cc -> {
+                    if (cc.getFileObject() == fake) return ;
+                    ((CancellableTask<WorkingCopy>) task).run(cc);
+                })); // can throw IOException
             } else {
-                javaSource.runUserActionTask(currentTask, true);
+                javaSource.runUserActionTask(cc -> {
+                    if (cc.getFileObject() == fake) return ;
+                    currentTask.run(cc);
+                }, true);
             }
         }
     }
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
index 52a109f..01c23e3 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/spi/RefactoringVisitor.java
@@ -68,6 +68,7 @@
 import org.netbeans.api.java.source.WorkingCopy;
 import org.netbeans.modules.refactoring.java.api.JavaRefactoringUtils;
 import org.openide.ErrorManager;
+import org.openide.filesystems.FileObject;
 
 /**
  *
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.form b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.form
index 471d6ec..5881496 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.form
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.form
@@ -54,7 +54,7 @@
     <DimensionLayout dim="1">
       <Group type="103" groupAlignment="0" attributes="0">
           <Group type="102" alignment="0" attributes="0">
-              <Component id="innerPanel" pref="181" max="32767" attributes="0"/>
+              <Component id="innerPanel" pref="210" max="32767" attributes="0"/>
               <EmptySpace max="-2" attributes="0"/>
               <Group type="103" groupAlignment="0" max="-2" attributes="0">
                   <Component id="scope" max="32767" attributes="0"/>
diff --git a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.java b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.java
index c084e49..2540b8e 100644
--- a/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.java
+++ b/java/refactoring.java/src/org/netbeans/modules/refactoring/java/ui/WhereUsedPanel.java
@@ -227,7 +227,7 @@
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
-                .addComponent(innerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 181, Short.MAX_VALUE)
+                .addComponent(innerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                     .addComponent(scope, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/suites/TestEntityCatalogImpl.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/suites/TestEntityCatalogImpl.java
new file mode 100644
index 0000000..c26a888
--- /dev/null
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/suites/TestEntityCatalogImpl.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.refactoring.java.suites;
+
+import java.io.IOException;
+import org.openide.util.lookup.ServiceProvider;
+import org.openide.xml.EntityCatalog;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ *
+ * @author lahvac
+ */
+@ServiceProvider(service=EntityCatalog.class)
+public final class TestEntityCatalogImpl extends EntityCatalog {
+
+    @Override
+    public InputSource resolveEntity(String publicID, String systemID) throws SAXException, IOException {
+        switch (publicID) {
+            case "-//NetBeans//DTD Editor KeyBindings settings 1.1//EN":
+                return new InputSource(TestEntityCatalogImpl.class.getResourceAsStream("/org/netbeans/modules/editor/settings/storage/keybindings/EditorKeyBindings-1_1.dtd"));
+            case "-//NetBeans//DTD Editor Preferences 1.0//EN":
+                return new InputSource(TestEntityCatalogImpl.class.getResourceAsStream("/org/netbeans/modules/editor/settings/storage/preferences/EditorPreferences-1_0.dtd"));
+            case "-//NetBeans//DTD Editor Fonts and Colors settings 1.1//EN":
+                return new InputSource(TestEntityCatalogImpl.class.getResourceAsStream("/org/netbeans/modules/editor/settings/storage/fontscolors/EditorFontsColors-1_1.dtd"));
+        }
+        return null;
+    }
+
+}
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindSubclassesTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindSubclassesTest.java
index b1b10c6..f8a118e 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindSubclassesTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindSubclassesTest.java
@@ -35,6 +35,7 @@
 import org.netbeans.junit.Log;
 import org.netbeans.junit.NbModuleSuite;
 import org.netbeans.junit.NbPerformanceTest;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.refactoring.api.RefactoringElement;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
 import org.netbeans.modules.refactoring.api.WhereUsedQuery;
@@ -133,6 +134,7 @@
     }
 
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(FindSubclassesTest.class, "testFindSub").gui(false));
+//        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(FindSubclassesTest.class, "testFindSub").gui(false));
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesJDK9Test.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesJDK9Test.java
index 4a59a13..9b1d2ca 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesJDK9Test.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesJDK9Test.java
@@ -34,6 +34,7 @@
 import org.netbeans.api.java.source.*;
 import org.netbeans.junit.NbModuleSuite;
 import org.netbeans.junit.NbTestCase;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.java.j2seplatform.platformdefinition.J2SEPlatformImpl;
 import org.netbeans.modules.java.source.BootClassPathUtil;
 import org.netbeans.modules.java.source.parsing.JavacParser;
@@ -160,8 +161,9 @@
     }
 
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.createConfiguration(FindUsagesJDK9Test.class)
-                .clusters(".*").enableModules(".*")
-                .gui(false).suite();
+//        return NbModuleSuite.createConfiguration(FindUsagesJDK9Test.class)
+//                .clusters(".*").enableModules(".*")
+//                .gui(false).suite();
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
index 921c9cc..3b8c667 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesPerfTest.java
@@ -32,6 +32,7 @@
 import org.netbeans.api.java.source.*;
 import org.netbeans.junit.Log;
 import org.netbeans.junit.NbModuleSuite;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.refactoring.api.AbstractRefactoring;
 import org.netbeans.modules.refactoring.api.RefactoringElement;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
@@ -130,7 +131,8 @@
     }
     
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(FindUsagesPerfTest.class, "testFindUsage").gui(false));
+//        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(FindUsagesPerfTest.class, "testFindUsage").gui(false));
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesTest.java
index c0bc308..263f256 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/FindUsagesTest.java
@@ -34,6 +34,7 @@
 import org.netbeans.api.java.source.*;
 import org.netbeans.junit.NbModuleSuite;
 import org.netbeans.junit.NbTestCase;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.refactoring.api.RefactoringElement;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
 import org.netbeans.modules.refactoring.api.Scope;
@@ -384,8 +385,9 @@
     }
     
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.createConfiguration(FindUsagesTest.class)
-                .clusters(".*").enableModules(".*")
-                .gui(false).suite();
+//        return NbModuleSuite.createConfiguration(FindUsagesTest.class)
+//                .clusters(".*").enableModules(".*")
+//                .gui(false).suite();
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
index ada952f..cb34715 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InlineTest.java
@@ -633,7 +633,7 @@
                 + "public class B {\n"
                 + "    public void testMethodB() {\n"
                 + "        if(true) {\n"
-                + "            t.A.A();\n"
+                + "            A.A();\n"
                 + "        }\n"
                 + "    }\n"
                 + "}"));
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
index bb7593f..0376b39 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/InnerToOutterTest.java
@@ -652,7 +652,7 @@
                                            "\n" +
                                            "/** * * @author junit */ public class B {\n" +
                                            "    public B(List<? extends Runnable> runnables) {\n" +
-                                           "        assert runnables.stream().noneMatch((r) -> r instanceof RunnableFuture);\n" +
+                                           "        assert runnables.stream().noneMatch(r -> r instanceof RunnableFuture);\n" + //TODO: note the conversion of "(r)" to "r" - would be better if the form would be kept
                                            "    }\n" +
                                            "} "));
     }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
index 24ea36b..985e46c 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/IntroduceLocalExtensionTest.java
@@ -28,6 +28,7 @@
 import org.netbeans.api.java.source.Task;
 import org.netbeans.api.java.source.TreePathHandle;
 import org.netbeans.modules.java.source.parsing.JavacParser;
+import org.netbeans.modules.java.source.parsing.ParameterNameProviderImpl;
 import org.netbeans.modules.refactoring.api.Problem;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
 import org.netbeans.modules.refactoring.java.api.IntroduceLocalExtensionRefactoring;
@@ -380,6 +381,7 @@
     
     static {
         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
+        ParameterNameProviderImpl.DISABLE_PARAMETER_NAMES_LOADING = true;
     }
     
     public void testPrivateConstr() throws Exception {
@@ -693,7 +695,7 @@
         performIntroduceLocalExtension("EnM", true, true, "t", IntroduceLocalExtensionRefactoring.Equality.DELEGATE, new Problem(true, "ERR_IntroduceLEWrongType"));
     }
     
-    public void testDate() throws Exception {
+    public void DISABLEDtestDate() throws Exception {
         writeFilesAndWaitForScan(src,
                 new File("t/A.java", "package t;\n"
                 + "import java.util.Date;\n"
@@ -913,7 +915,7 @@
                 + ""));
     }
     
-    public void test209863() throws Exception {
+    public void DISABLEDtest209863() throws Exception {//depends on exact form of JDK's List
         writeFilesAndWaitForScan(src,
                 new File("t/SingleList.java", sb.toString()),
                 new File("t/A.java", "package t; import java.util.List; public class A { public static void main(String[] args) { SingleList<String> lijst = new SingleList<String>(); SingleList<String> cloned = lijst.clone(); } }"));
@@ -1344,7 +1346,7 @@
                 new File("t/InterWrapper.java", "/* * Refactoring License */ package t; /** * * @author junit */ public interface InterWrapper extends Inter {} "));
     }
 
-    public void testWrapper() throws Exception {
+    public void DISABLEDtestWrapper() throws Exception {
         writeFilesAndWaitForScan(src,
                 new File("t/SingleList.java", sb.toString()),
                 new File("t/A.java", "package t; import java.util.List; public class A { public static void main(String[] args) { SingleList<String> lijst = new SingleList<String>(); SingleList<String> cloned = lijst.clone(); cloned.someMagicNumber = SingleList.MAGIC; System.out.println(\"Magic Number:\" + lijst.someMagicNumber); } }"));
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
index 866335b..75877a4 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveBase.java
@@ -76,6 +76,7 @@
             addAllProblems(problems, r[0].prepare(rs));
         }
         if (!problemIsFatal(problems)) {
+            rs.getRefactoringElements();
             addAllProblems(problems, rs.doRefactoring(true));
         }
         assertProblems(Arrays.asList(expectedProblems), problems);
@@ -265,4 +266,21 @@
         assertProblems(Arrays.asList(expectedProblems), problems);
     }
     
+    void performMove(FileObject source, final URL target, Problem... expectedProblems) throws IOException, IllegalArgumentException, InterruptedException {
+        MoveRefactoring r = new MoveRefactoring(Lookups.singleton(source));
+        r.setTarget(Lookups.singleton(target));
+
+        RefactoringSession rs = RefactoringSession.create("Session");
+        List<Problem> problems = new LinkedList<Problem>();
+        addAllProblems(problems, r.preCheck());
+        if (!problemIsFatal(problems)) {
+            addAllProblems(problems, r.prepare(rs));
+        }
+        if (!problemIsFatal(problems)) {
+            rs.getRefactoringElements();
+            addAllProblems(problems, rs.doRefactoring(true));
+        }
+        assertProblems(Arrays.asList(expectedProblems), problems);
+    }
+    
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassPerfTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassPerfTest.java
index 73b1198..78eb614 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassPerfTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassPerfTest.java
@@ -34,6 +34,7 @@
 import org.netbeans.junit.Log;
 import org.netbeans.junit.NbModuleSuite;
 import org.netbeans.junit.NbPerformanceTest;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.refactoring.api.MoveRefactoring;
 import org.netbeans.modules.refactoring.api.RefactoringElement;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
@@ -117,6 +118,7 @@
     }
 
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(MoveClassPerfTest.class, "testMoveActionSet").gui(false));
+//        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(MoveClassPerfTest.class, "testMoveActionSet").gui(false));
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
index a62a93b..435069b 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveClassTest.java
@@ -19,6 +19,7 @@
 package org.netbeans.modules.refactoring.java.test;
 
 import java.net.URL;
+import org.netbeans.modules.java.source.parsing.JavacParser;
 import org.netbeans.modules.refactoring.api.Problem;
 
 /**
@@ -28,7 +29,7 @@
 public class MoveClassTest extends MoveBase {
 
     public MoveClassTest(String name) {
-        super(name);
+        super(name, "testModuleInfoMoveFileDifferentPackage".equals(name) ? "11" : "1.6");
     }
     
     public void test204444() throws Exception { // #204444 - Improve Move Refactoring to support nested/inner classes
@@ -307,4 +308,34 @@
                 + "    public int i = 42;\n"
                 + "}\n"));
     }
+
+    public void testModuleInfoMoveFileDifferentPackage() throws Exception {
+        writeFilesAndWaitForScan(src,
+                new File("t/A.java", "package t;\n"
+                + "public class A {\n"
+                + "    public void foo() {\n"
+                + "    }\n"
+                + "}\n"),
+                new File("module-info.java", "module m {\n"
+                + "    requires java.base;\n"
+                + "    exports t to m;\n"
+                + "    uses t.A;\n"
+                + "}\n"));
+        performMove(src.getFileObject("t/A.java"), new URL(src.toURL(), "p/"));
+        verifyContent(src,
+                new File("p/A.java", "package p;\n"
+                + "public class A {\n"
+                + "    public void foo() {\n"
+                + "    }\n"
+                + "}\n"),
+                new File("module-info.java", "module m {\n"
+                + "    requires java.base;\n"
+                + "    exports t to m;\n"
+                + "    uses p.A;\n"
+                + "}\n"));
+    }
+
+    static {
+        JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
+    }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
index 00107bb..57b6937 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/MoveMethodTest.java
@@ -209,7 +209,7 @@
                 + "}\n"));
     }
     
-    public void test232604() throws Exception {
+    public void DISABLEDtest232604() throws Exception { //requires that error parameter types are stored in classfiles.
         writeFilesAndWaitForScan(src,
                 new File("t/A.java", "package t;\n"
                 + "public class A {\n"
diff --git a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/Noop.java
similarity index 77%
copy from java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
copy to java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/Noop.java
index ce5fca3..65df35f 100644
--- a/java/junit/src/org/netbeans/modules/junit/JUnitVersion.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/Noop.java
@@ -16,13 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.netbeans.modules.refactoring.java.test;
 
-package org.netbeans.modules.junit;
+import junit.framework.TestCase;
 
 /**
+ *
+ * @author lahvac
  */
-public enum JUnitVersion {
-    JUNIT3,
-    JUNIT4,
-    JUNIT5
+public class Noop extends TestCase {
+
+    public Noop(String name) {
+        super(name);
+    }
+
+    public void noop() {}
+
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/OpenDocumentsPerfTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/OpenDocumentsPerfTest.java
index aae3042..aec670c 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/OpenDocumentsPerfTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/OpenDocumentsPerfTest.java
@@ -35,6 +35,7 @@
 import org.netbeans.junit.Log;
 import org.netbeans.junit.NbModuleSuite;
 import org.netbeans.junit.NbPerformanceTest;
+import org.netbeans.junit.NbTestSuite;
 import org.netbeans.modules.refactoring.api.RefactoringElement;
 import org.netbeans.modules.refactoring.api.RefactoringSession;
 import org.netbeans.modules.refactoring.api.WhereUsedQuery;
@@ -117,6 +118,7 @@
     }
 
     public static Test suite() throws InterruptedException {
-        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(OpenDocumentsPerfTest.class, "testOpenDocuments").gui(false));
+//        return NbModuleSuite.create(NbModuleSuite.emptyConfiguration().addTest(OpenDocumentsPerfTest.class, "testOpenDocuments").gui(false));
+        return NbTestSuite.createTest(Noop.class, "noop");
     }
 }
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/PullUpTest.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/PullUpTest.java
index fff5b14..65ee09d 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/PullUpTest.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/PullUpTest.java
@@ -1198,11 +1198,11 @@
 
     public void testPullUpLocalyReferenced() throws Exception {
         writeFilesAndWaitForScan(src,
-                new File("pullup/A.java", "package pullup; public class A extends B { private void foo() { } private method() { foo() } }"),
+                new File("pullup/A.java", "package pullup; public class A extends B { private void foo() { } private void method() { foo() } }"),
                 new File("pullup/B.java", "package pullup; public class B { }"));
         performPullUp(src.getFileObject("pullup/A.java"), 1, Boolean.FALSE);
         verifyContent(src,
-                new File("pullup/A.java", "package pullup; public class A extends B {private method() { foo() } }"),
+                new File("pullup/A.java", "package pullup; public class A extends B {private void method() { foo() } }"),
                 new File("pullup/B.java", "package pullup; public class B { protected void foo() { } }"));
     }
 
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
index 73e3bc2..aba43c8 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefTestBase.java
@@ -35,13 +35,13 @@
 import org.netbeans.api.java.classpath.GlobalPathRegistry;
 import org.netbeans.api.java.source.SourceUtilsTestUtil;
 import org.netbeans.api.java.source.TestUtilities;
-import org.netbeans.api.java.source.TreeUtilities;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.api.project.SourceGroup;
 import org.netbeans.api.project.Sources;
 import org.netbeans.core.startup.Main;
 import org.netbeans.junit.NbTestCase;
+import org.netbeans.modules.java.source.BootClassPathUtil;
 import org.netbeans.modules.java.source.indexing.JavaCustomIndexer;
 import org.netbeans.modules.parsing.impl.indexing.CacheFolder;
 import org.netbeans.modules.parsing.impl.indexing.MimeTypes;
@@ -65,8 +65,6 @@
 import org.openide.util.lookup.ServiceProvider;
 
 public class RefTestBase extends NbTestCase {
-    // Turning off annoying info messages from treeutilities
-    private static final Logger TREEUTILITIESLOGGER = Logger.getLogger(TreeUtilities.class.getName());
 
     public RefTestBase(String name) {
         super(name);
@@ -164,7 +162,7 @@
 
     @Override
     protected void setUp() throws Exception {
-        TREEUTILITIESLOGGER.setLevel(Level.SEVERE);
+        Logger.getLogger("").setLevel(Level.SEVERE);
         MimeTypes.setAllMimeTypes(new HashSet<String>());
         SourceUtilsTestUtil.prepareTest(new String[] {"org/netbeans/modules/openide/loaders/layer.xml",
             "org/netbeans/modules/java/source/resources/layer.xml",
@@ -178,7 +176,7 @@
                     if ((src != null && (file == src || FileUtil.isParentOf(src, file)))
                             || (test != null && (file == test || FileUtil.isParentOf(test, file)))){
                         if (ClassPath.BOOT.equals(type)) {
-                            return ClassPathSupport.createClassPath(System.getProperty("sun.boot.class.path"));
+                            return BootClassPathUtil.getBootClassPath();
                         }
                         if (ClassPath.COMPILE.equals(type)) {
                             return ClassPathSupport.createClassPath(new FileObject[0]);
diff --git a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
index 010215f..0846c2d 100644
--- a/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
+++ b/java/refactoring.java/test/unit/src/org/netbeans/modules/refactoring/java/test/RefactoringTestBase.java
@@ -30,21 +30,23 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CountDownLatch;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import javax.swing.event.ChangeListener;
 import org.netbeans.api.editor.mimelookup.MimePath;
 import org.netbeans.api.java.classpath.ClassPath;
 import org.netbeans.api.java.classpath.GlobalPathRegistry;
+import org.netbeans.api.java.classpath.JavaClassPathConstants;
 import org.netbeans.api.java.source.SourceUtilsTestUtil;
 import org.netbeans.api.java.source.TestUtilities;
-import org.netbeans.api.java.source.TreeUtilities;
 import org.netbeans.api.project.Project;
 import org.netbeans.api.project.ProjectManager;
 import org.netbeans.api.project.SourceGroup;
 import org.netbeans.api.project.Sources;
 import org.netbeans.core.startup.Main;
 import org.netbeans.junit.NbTestCase;
+import org.netbeans.modules.java.source.BootClassPathUtil;
 import org.netbeans.modules.java.source.TestUtil;
 import org.netbeans.modules.java.source.indexing.JavaCustomIndexer;
 import org.netbeans.modules.parsing.api.indexing.IndexingManager;
@@ -71,8 +73,6 @@
 import org.openide.util.lookup.ServiceProvider;
 
 public class RefactoringTestBase extends NbTestCase {
-    // Turning off annoying info messages from treeutilities
-    private static final Logger TREEUTILITIESLOGGER = Logger.getLogger(TreeUtilities.class.getName());
 
     public RefactoringTestBase(String name) {
         super(name);
@@ -122,7 +122,15 @@
             assertNotNull(f);
             assertNotNull(f.content);
             assertNotNull("Cannot find " + f.filename + " in map " + content, fileContent);
+            try {
             assertEquals(getName() ,f.content.replaceAll("[ \t\r\n\n]+", " "), fileContent.replaceAll("[ \t\r\n\n]+", " "));
+            } catch (Throwable t) {
+                System.err.println("expected:");
+                System.err.println(f.content);
+                System.err.println("actual:");
+                System.err.println(fileContent);
+                throw t;
+            }
         }
 
         assertTrue(content.toString(), content.isEmpty());
@@ -192,7 +200,7 @@
     @Override
     protected void setUp() throws Exception {
         System.setProperty("org.netbeans.modules.java.source.usages.SourceAnalyser.fullIndex", "true");
-        TREEUTILITIESLOGGER.setLevel(Level.SEVERE);
+        Logger.getLogger("").setLevel(Level.SEVERE); //turn off chatty logs
         MimeTypes.setAllMimeTypes(new HashSet<String>());
         SourceUtilsTestUtil.prepareTest(new String[] {"org/netbeans/modules/openide/loaders/layer.xml",
                     "org/netbeans/modules/java/source/resources/layer.xml",
@@ -205,6 +213,9 @@
                                 if (ClassPath.BOOT.equals(type)) {
                                     return TestUtil.getBootClassPath();
                                 }
+                                if (JavaClassPathConstants.MODULE_BOOT_PATH.equals(type)) {
+                                    return BootClassPathUtil.getBootClassPath();
+                                }
                                 if (ClassPath.COMPILE.equals(type)) {
                                     return ClassPathSupport.createClassPath(new FileObject[0]);
                                 }
@@ -340,6 +351,11 @@
         super.tearDown();
         GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, new ClassPath[] {sourcePath});
         org.netbeans.api.project.ui.OpenProjects.getDefault().close(new Project[] {prj});
+        CountDownLatch cdl = new CountDownLatch(1);
+        RepositoryUpdater.getDefault().stop(() -> {
+            cdl.countDown();;
+        });
+        cdl.await();
         prj = null;
     }
 
@@ -350,10 +366,10 @@
         src = FileUtil.createFolder(projectFolder, "src");
         test = FileUtil.createFolder(projectFolder, "test");
 
-        FileObject cache = FileUtil.createFolder(workdir, "cache");
+            FileObject cache = FileUtil.createFolder(workdir, "cache");
 
-        CacheFolder.setCacheFolder(cache);
-    }
+            CacheFolder.setCacheFolder(cache);
+        }
 
     @ServiceProvider(service=MimeDataProvider.class)
     public static final class MimeDataProviderImpl implements MimeDataProvider {
@@ -383,4 +399,22 @@
         }
         return false;
     }
+
+    private static final int RETRIES = 3;
+
+    @Override
+    protected void runTest() throws Throwable {
+        //the tests are unfortunatelly not 100% stable, try to recover by retrying:
+        Throwable exc = null;
+        for (int i = 0; i < RETRIES; i++) {
+            try {
+                super.runTest();
+                return;
+            } catch (Throwable t) {
+                if (exc == null) exc = t;
+            }
+        }
+        throw exc;
+    }
+
 }
\ No newline at end of file
diff --git a/java/spi.java.hints/src/org/netbeans/modules/java/hints/providers/spi/HintMetadata.java b/java/spi.java.hints/src/org/netbeans/modules/java/hints/providers/spi/HintMetadata.java
index e98893a..4b3651e 100644
--- a/java/spi.java.hints/src/org/netbeans/modules/java/hints/providers/spi/HintMetadata.java
+++ b/java/spi.java.hints/src/org/netbeans/modules/java/hints/providers/spi/HintMetadata.java
@@ -175,6 +175,7 @@
                     this.sourceVersion = SourceVersion.valueOf("RELEASE_" + version);
                 } catch (IllegalArgumentException ex) {
                     this.sourceVersion = SourceVersion.RELEASE_3;
+                    setEnabled(false);
                 }
             }
             return this;
diff --git a/java/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Hacks.java b/java/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Hacks.java
index 8c713ed..43e5c25 100644
--- a/java/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Hacks.java
+++ b/java/spi.java.hints/src/org/netbeans/modules/java/hints/spiimpl/Hacks.java
@@ -21,6 +21,7 @@
 
 import com.sun.source.tree.BlockTree;
 import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.LambdaExpressionTree;
 import com.sun.source.tree.MethodTree;
 import com.sun.source.tree.Scope;
 import com.sun.source.tree.Tree;
@@ -48,6 +49,7 @@
 import javax.tools.JavaFileObject;
 
 import com.sun.tools.javac.parser.ParserFactory;
+import com.sun.tools.javac.tree.JCTree.JCLambda;
 import org.netbeans.api.annotations.common.CheckForNull;
 import org.netbeans.api.annotations.common.NonNull;
 import org.netbeans.api.java.source.CompilationInfo;
@@ -102,6 +104,10 @@
         }
     }
 
+    public static void copyLambdaKind(LambdaExpressionTree node, LambdaExpressionTree nue) {
+        ((JCLambda) nue).paramKind = ((JCLambda) node).paramKind;
+    }
+
     private static final class ScannerImpl extends ErrorAwareTreePathScanner<Scope, CompilationInfo> {
 
         @Override
diff --git a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java
index 25dae5e..22699f4 100644
--- a/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java
+++ b/java/spi.java.hints/src/org/netbeans/spi/java/hints/JavaFixUtilities.java
@@ -1285,6 +1285,8 @@
             List<? extends VariableTree> args = resolveMultiParameters(node.getParameters());
             LambdaExpressionTree nue = make.LambdaExpression(args, node.getBody());
 
+            Hacks.copyLambdaKind(node, nue);
+
             rewrite(node, nue);
 
             return super.visitLambdaExpression(node, p);
diff --git a/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java b/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java
index f85c63a..46e7c78 100644
--- a/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java
+++ b/java/spi.java.hints/test/unit/src/org/netbeans/spi/java/hints/JavaFixUtilitiesTest.java
@@ -1323,6 +1323,38 @@
 		           "}\n");
     }
 
+    public void testRewriteUndeclaredLambda() throws Exception {
+        performRewriteTest("package test;\n" +
+                           "public class Test {\n" +
+                           "    public void m() {\n" +
+                           "        m();\n" +
+                           "    }\n" +
+                           "}\n",
+                           "$0{test.Test}.m()=>$0.m(t -> System.err.println(t))",
+                           "package test;\n" +
+                           "public class Test {\n" +
+                           "    public void m() {\n" +
+                           "        m(t -> System.err.println(t));\n" +
+                           "    }\n" +
+		           "}\n");
+    }
+
+    public void testRewriteToExplicitLambda() throws Exception {
+        performRewriteTest("package test;\n" +
+                           "public class Test {\n" +
+                           "    public void m() {\n" +
+                           "        m();\n" +
+                           "    }\n" +
+                           "}\n",
+                           "$0{test.Test}.m()=>$0.m((String t) -> System.err.println(t))",
+                           "package test;\n" +
+                           "public class Test {\n" +
+                           "    public void m() {\n" +
+                           "        m((String t) -> System.err.println(t));\n" +
+                           "    }\n" +
+		           "}\n");
+    }
+
     public void performRewriteTest(String code, String rule, String golden) throws Exception {
         performRewriteTest(code, rule, golden, null);
     }
diff --git a/java/spring.beans/nbproject/project.properties b/java/spring.beans/nbproject/project.properties
index 41da663..70d0b82 100644
--- a/java/spring.beans/nbproject/project.properties
+++ b/java/spring.beans/nbproject/project.properties
@@ -26,4 +26,4 @@
     **/SpringConfigFileModelControllerTest.class
 
 # Spring API classes
-test.unit.cp.extra=${libs.springframework.dir}/modules/ext/spring-3.0/spring-context-3.2.7.RELEASE.jar
+test.unit.cp.extra=${libs.springframework.dir}/modules/ext/spring-3.0/spring-context-3.2.18.RELEASE.jar
diff --git a/java/spring.beans/src/org/netbeans/modules/spring/beans/wizards/NewSpringXMLConfigWizardIterator.java b/java/spring.beans/src/org/netbeans/modules/spring/beans/wizards/NewSpringXMLConfigWizardIterator.java
index 475f7f0..154bb93 100644
--- a/java/spring.beans/src/org/netbeans/modules/spring/beans/wizards/NewSpringXMLConfigWizardIterator.java
+++ b/java/spring.beans/src/org/netbeans/modules/spring/beans/wizards/NewSpringXMLConfigWizardIterator.java
@@ -63,7 +63,7 @@
 public final class NewSpringXMLConfigWizardIterator implements WizardDescriptor.AsynchronousInstantiatingIterator {
 
     private static final Logger LOG = Logger.getLogger(NewSpringXMLConfigWizardIterator.class.getName());
-    private static final String DEFAULT_SPRING_VERSION = "3.2.3";
+    private static final String DEFAULT_SPRING_VERSION = "3.2.18";
     private int index;
     private WizardDescriptor wizard;
     private WizardDescriptor.Panel[] panels;
diff --git a/java/testng.ui/src/org/netbeans/modules/testng/ui/actions/TestNGTestCreatorProvider.java b/java/testng.ui/src/org/netbeans/modules/testng/ui/actions/TestNGTestCreatorProvider.java
index 1280885..9fadd8c 100644
--- a/java/testng.ui/src/org/netbeans/modules/testng/ui/actions/TestNGTestCreatorProvider.java
+++ b/java/testng.ui/src/org/netbeans/modules/testng/ui/actions/TestNGTestCreatorProvider.java
@@ -38,7 +38,7 @@
  *
  * @author Theofanis Oikonomou
  */
-@Registration(displayName=GuiUtils.TESTNG_TEST_FRAMEWORK, identifier = TestCreatorProvider.IDENTIFIER_TESTNG)
+@Registration(displayName=GuiUtils.TESTNG_TEST_FRAMEWORK, identifier = TestCreatorProvider.IDENTIFIER_TESTNG, position = 1000)
 public class TestNGTestCreatorProvider extends TestCreatorProvider {
 
     private static final Logger LOGGER = Logger.getLogger(TestNGTestCreatorProvider.class.getName());
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/ElementBindings.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/ElementBindings.java
index 9f0d42f..b8ed928 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/ElementBindings.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/ElementBindings.java
@@ -104,9 +104,9 @@
         
         if (name == null) return false;
         
-        Iterator it = values().iterator();
+        Iterator<Entry> it = values().iterator();
         while (it.hasNext()) {
-            Entry next = (Entry) it.next();
+            Entry next = it.next();
             if (name.equals(next.parslet)) return true;
         }
         
@@ -118,10 +118,10 @@
      */
     public int getParsletUsageCount(String parslet) {
         int toret = 0;
-        Iterator it = values().iterator();
+        Iterator<Entry> it = values().iterator();
         
         while (it.hasNext()) {
-            Entry next = (Entry) it.next();
+            Entry next = it.next();
             if (parslet != null && parslet.equals(next.parslet)) {            
                 toret++;
             }
@@ -143,9 +143,9 @@
      */
     public final Entry getEntry(final int index) {
         int myindex = index;
-        Iterator it = values().iterator();
+        Iterator<Entry> it = values().iterator();
         while (it.hasNext()) {
-            Entry next = (Entry) it.next();
+            Entry next = it.next();
             if (myindex-- == 0) 
                 return next;
         }
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerateDOMScannerSupport.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerateDOMScannerSupport.java
index c7deb22..7f2d22c 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerateDOMScannerSupport.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerateDOMScannerSupport.java
@@ -220,9 +220,9 @@
         
                         // no root element is obvious, go over all declated elements.
         
-                       Iterator it = dtd.getElementDeclarations().iterator();
+                       Iterator<TreeElementDecl> it = dtd.getElementDeclarations().iterator();
                        while (it.hasNext()) {
-                           String tagName = ((TreeElementDecl)it.next()).getName();
+                           String tagName = it.next().getName();
                            sb.append ("if ((").append (VARIABLE_ELEMENT).append (" != null) && "). // NOI18N
                            append (VARIABLE_ELEMENT).append (".getTagName().equals (\"").append (tagName).append ("\")) {\n"); // NOI18N
                            sb.append (METHOD_SCAN_ELEMENT).append ("_").append (GenerateSupportUtils.getJavaName (tagName)).append (" (").append (VARIABLE_ELEMENT). // NOI18N
@@ -263,14 +263,14 @@
                             sb = new StringBuffer ();
                             sb.append("{");
                             sb.append (" // <").append (tagName).append (">\n// element.getValue();\n"); // NOI18N
-                            Iterator it2;
+                            Iterator<TreeAttlistDeclAttributeDef> it2;
                             if ((it2 = dtd.getAttributeDeclarations (tagName).iterator()).hasNext()) {
                                 sb.append (DOM_NAMED_NODE_MAP).append (" ").append (VARIABLE_ATTRS).append (" = "). // NOI18N
                                 append (VARIABLE_ELEMENT).append (".getAttributes();\n"); // NOI18N
                                 sb.append ("for (int i = 0; i < ").append (VARIABLE_ATTRS).append (".getLength(); i++) {\n"); // NOI18N
                                 sb.append ("org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i);\n"); // NOI18N
                                 while (it2.hasNext()) {
-                                    TreeAttlistDeclAttributeDef attr = (TreeAttlistDeclAttributeDef)it2.next();
+                                    TreeAttlistDeclAttributeDef attr = it2.next();
                                     sb.append ("if (attr.getName().equals (\"").append (attr.getName()).append ("\")) { // <"). // NOI18N
                                     append (tagName).append (" ").append (attr.getName()).append ("=\"???\">\n"); // NOI18N
                                     sb.append ("// attr.getValue();\n}\n"); // NOI18N
@@ -310,7 +310,7 @@
      */
     private String generateElementScanner(TreeElementDecl element) {
         
-        Iterator it;
+        Iterator<TreeElementDecl> it;
         Set<String> elements = new HashSet<>();
         
         TreeElementDecl.ContentType type = element.getContentType();
@@ -318,7 +318,7 @@
         if (type instanceof ANYType) {
             it = dtd.getElementDeclarations().iterator();
             while (it.hasNext()) {
-                String tagName = ((TreeElementDecl)it.next()).getName();
+                String tagName = it.next().getName();
                 elements.add(tagName);
             }
             
@@ -365,8 +365,8 @@
     private void addElements(TreeElementDecl.ContentType type, Set elements) {
         
         if (type instanceof ChildrenType) {
-            for (Iterator it = ((ChildrenType)type).getTypes().iterator(); it.hasNext(); ) {
-                TreeElementDecl.ContentType next = (TreeElementDecl.ContentType) it.next();
+            for (Iterator<TreeElementDecl.ContentType> it = ((ChildrenType)type).getTypes().iterator(); it.hasNext(); ) {
+                TreeElementDecl.ContentType next = it.next();
                 if (next instanceof ChildrenType) {
                     addElements(next, elements);
                 } else if ( next instanceof NameType) {
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerationUtils.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerationUtils.java
index 97c7793..b048c40 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerationUtils.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/GenerationUtils.java
@@ -394,8 +394,8 @@
         Parameters.notNull("fieldTrees", fieldTrees); // NOI18N
 
         int firstNonFieldIndex = 0;
-        Iterator memberTrees = classTree.getMembers().iterator();
-        while (memberTrees.hasNext() && ((Tree)memberTrees.next()).getKind() == Tree.Kind.VARIABLE) {
+        Iterator<? extends Tree> memberTrees = classTree.getMembers().iterator();
+        while (memberTrees.hasNext() && memberTrees.next().getKind() == Tree.Kind.VARIABLE) {
             firstNonFieldIndex++;
         }
         TreeMaker make = getTreeMaker();
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXBindingsGenerator.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXBindingsGenerator.java
index 2b36a31..1fafd43 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXBindingsGenerator.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXBindingsGenerator.java
@@ -47,9 +47,9 @@
     private static String elementBindings(SAXGeneratorModel model) {
         StringBuffer s = new StringBuffer();
         
-        Iterator it = model.getElementBindings().values().iterator();
+        Iterator<ElementBindings.Entry> it = model.getElementBindings().values().iterator();
         while (it.hasNext()) {
-            ElementBindings.Entry next = (ElementBindings.Entry) it.next();
+            ElementBindings.Entry next = it.next();
             s.append("\t<bind element='" + next.getElement() + "' method='" + next.getMethod() + "' "); // NOI18N
             s.append("type='" + next.getType() + "' "); // NOI18N
             if (next.getParslet() != null) {
@@ -64,9 +64,9 @@
         
         StringBuffer s = new StringBuffer();
         
-        Iterator it = model.getParsletBindings().values().iterator();
+        Iterator<ParsletBindings.Entry> it = model.getParsletBindings().values().iterator();
         while (it.hasNext()) {
-            ParsletBindings.Entry next = (ParsletBindings.Entry) it.next();
+            ParsletBindings.Entry next = it.next();
             s.append("\t<parslet parslet='" + next.getId() + "' return='" + next.getType() + "' />\n"); // NOI18N
         }
         
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorAbstractPanel.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorAbstractPanel.java
index 75aac6d..8308073 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorAbstractPanel.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorAbstractPanel.java
@@ -138,9 +138,9 @@
             this.valid = valid;
 
             synchronized (listeners) {
-                Iterator it = listeners.iterator();
+                Iterator<ChangeListener> it = listeners.iterator();
                 while (it.hasNext()) {
-                    ChangeListener next = (ChangeListener) it.next();
+                    ChangeListener next = it.next();
                     next.stateChanged(EVENT);
                 }
             }
diff --git a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorModel.java b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorModel.java
index 9af9b80..e61855e 100644
--- a/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorModel.java
+++ b/java/xml.tools.java/src/org/netbeans/modules/xml/tools/java/generator/SAXGeneratorModel.java
@@ -294,9 +294,9 @@
     public void loadElementBindings(ElementBindings bindings) {
         if (bindings == null) return;
         
-        Iterator it = bindings.values().iterator();
+        Iterator<ElementBindings.Entry> it = bindings.values().iterator();
         while (it.hasNext()) {
-            ElementBindings.Entry next = (ElementBindings.Entry) it.next();
+            ElementBindings.Entry next = it.next();
             
             if (elementDeclarations.getEntry(next.getElement()) != null) {
                 elementBindings.put(next.getElement(), next);
@@ -312,9 +312,9 @@
        
         if (parslets == null) return;
         
-        Iterator it = parslets.values().iterator();
+        Iterator<ParsletBindings.Entry> it = parslets.values().iterator();
         while (it.hasNext()) {
-            ParsletBindings.Entry next = (ParsletBindings.Entry) it.next();
+            ParsletBindings.Entry next = it.next();
             
             if (elementBindings.containsParslet(next.getId())) {
                 parsletBindings.put(next.getId(), next);
diff --git a/javafx/javafx2.samples/src/org/netbeans/modules/javafx2/samples/PanelConfigureProject.java b/javafx/javafx2.samples/src/org/netbeans/modules/javafx2/samples/PanelConfigureProject.java
index 4a366a5..d80deb0 100644
--- a/javafx/javafx2.samples/src/org/netbeans/modules/javafx2/samples/PanelConfigureProject.java
+++ b/javafx/javafx2.samples/src/org/netbeans/modules/javafx2/samples/PanelConfigureProject.java
@@ -86,13 +86,13 @@
     }
 
     protected final void fireChangeEvent() {
-        Iterator it;
+        Iterator<ChangeListener> it;
         synchronized (listeners) {
             it = new HashSet<ChangeListener>(listeners).iterator();
         }
         ChangeEvent ev = new ChangeEvent(this);
         while (it.hasNext()) {
-            ((ChangeListener) it.next()).stateChanged(ev);
+            it.next().stateChanged(ev);
         }
     }
 
diff --git a/nb/ide.launcher/netbeans.conf b/nb/ide.launcher/netbeans.conf
index c883ee0..f0e17c6 100644
--- a/nb/ide.launcher/netbeans.conf
+++ b/nb/ide.launcher/netbeans.conf
@@ -62,7 +62,7 @@
 # default command line arguments.
 # (see: https://issues.apache.org/jira/browse/NETBEANS-1344)
 #
-netbeans_default_options="-J-XX:+UseStringDeduplication -J-Djdk.lang.Process.allowAmbiguousCommands=true -J-Xss2m @@metabuild.logcli@@ -J-Djdk.gtk.version=2.2 -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=jdk.jshell/jdk.jshell=ALL-UNNAMED -J--add-modules=jdk.jshell -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J-XX:+IgnoreUnrecognizedVMOptions"
+netbeans_default_options="-J-XX:+UseStringDeduplication -J-Xss2m @@metabuild.logcli@@ -J-Djdk.gtk.version=2.2 -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=jdk.jshell/jdk.jshell=ALL-UNNAMED -J--add-modules=jdk.jshell -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J-XX:+IgnoreUnrecognizedVMOptions"
 
 # Default location of JDK:
 # (set by installer or commented out if launcher should decide)
diff --git a/nb/updatecenters/build.xml b/nb/updatecenters/build.xml
index b9a6577..f91f4c0 100644
--- a/nb/updatecenters/build.xml
+++ b/nb/updatecenters/build.xml
@@ -41,8 +41,6 @@
       />
       <subant  target="nbm" inheritall="false">
           <property name="build.dir" location="build/3rdparty-nbms"/>
-          <property name="keystore" location="${netbeans.bundled.ks}"/>
-          <property name="storepass" value="${netbeans.bundled.ks}"/>
           <property name="nbm_alias" value="netbeans-bundled"/>
           <fileset dir="${nb_all}/extra" includes="libs.javafx.*/build.xml"/>
       </subant>
@@ -56,8 +54,6 @@
       </subant>
       <subant target="nbm" inheritall="false">
           <property name="build.dir" location="build/3rdparty-nbms"/>
-          <property name="keystore" location="${netbeans.bundled.ks}"/>
-          <property name="storepass" value="${netbeans.bundled.ks}"/>
           <property name="nbm_alias" value="netbeans-bundled"/>
           <property name="nb_all" location="${nb_all}"/>
           <property name="nbplatform.default.netbeans.dest.dir" location="${netbeans.dest.dir}"/>
diff --git a/nb/updatecenters/extras/nbjavac/src/org/netbeans/modules/nbjavac/Bundle.properties b/nb/updatecenters/extras/nbjavac/src/org/netbeans/modules/nbjavac/Bundle.properties
index fdea444..9da78f6 100644
--- a/nb/updatecenters/extras/nbjavac/src/org/netbeans/modules/nbjavac/Bundle.properties
+++ b/nb/updatecenters/extras/nbjavac/src/org/netbeans/modules/nbjavac/Bundle.properties
@@ -16,4 +16,8 @@
 # under the License.
 
 OpenIDE-Module-Display-Category=Java
+OpenIDE-Module-Long-Description=\
+    This library improves the Java editor behavior and enables the Compile on Save features. \
+    Note this plugin does not support JDK 14 language features, like records.
 OpenIDE-Module-Name=The nb-javac Java editing support library
+OpenIDE-Module-Short-Description=The nb-javac Java editing support library
diff --git a/nb/updatecenters/src/org/netbeans/modules/updatecenters/resources/mf-layer.xml b/nb/updatecenters/src/org/netbeans/modules/updatecenters/resources/mf-layer.xml
index b57d7a8..bacad2f 100644
--- a/nb/updatecenters/src/org/netbeans/modules/updatecenters/resources/mf-layer.xml
+++ b/nb/updatecenters/src/org/netbeans/modules/updatecenters/resources/mf-layer.xml
@@ -62,6 +62,7 @@
           <attr name="url" bundlevalue="org.netbeans.modules.updatecenters.resources.Bundle#URL_3rdparty"/>
           <attr name="category" stringvalue="STANDARD"/>
           <attr name="enabled" boolvalue="true"/>
+          <attr name="trusted" boolvalue="true"/>
           <attr name="instanceOf" stringvalue="org.netbeans.spi.autoupdate.UpdateProvider"/>
           <attr name="instanceCreate" methodvalue="org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogFactory.createUpdateProvider"/>
       </file>
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CheckEmbeddedBinaries.java b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CheckEmbeddedBinaries.java
new file mode 100644
index 0000000..94db7ba
--- /dev/null
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CheckEmbeddedBinaries.java
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.nbbuild.extlibs;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.math.BigInteger;
+import java.nio.file.Files;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+/**
+ * Task to check sha1 from named files (generally  binaries such as ZIPs)
+ * from a repository.
+ */
+public class CheckEmbeddedBinaries extends Task {
+
+    private File dir;
+
+    /**
+     * Location of unzippped jar folder to be tested.
+     */
+    public void setDir(File dir) {
+        this.dir = dir;
+    }
+
+    private File shalist;
+
+    /**
+     * List of chechcksum and coordinate
+     * @param shaList
+     */
+    public void setShaList(File shaList) {
+        this.shalist = shaList;
+    }
+
+    @Override
+    public void execute() throws BuildException {
+        boolean success = true;
+
+        File manifest = shalist;
+        Map<String,String> shamap = new HashMap<>();
+        log("Scanning: " + manifest, Project.MSG_VERBOSE);
+        try {
+            try (InputStream is = new FileInputStream(manifest)) {
+                BufferedReader r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+                String line;
+                while ((line = r.readLine()) != null) {
+                    if (line.startsWith("#")) {
+                        continue;
+                    }
+                    if (line.trim().length() == 0) {
+                        continue;
+                    }
+                    String[] hashAndFile = line.split(";", 2);
+                    if (hashAndFile.length < 2) {
+                        throw new BuildException("Bad line '" + line + "' in " + manifest, getLocation());
+                    }
+
+                    if (MavenCoordinate.isMavenFile(hashAndFile[1])) {
+                        MavenCoordinate mc = MavenCoordinate.fromGradleFormat(hashAndFile[1]);
+                        shamap.put(hashAndFile[0], hashAndFile[1]);
+                    } else {
+                        throw new BuildException("Invalid manifest entry should be Maven coordinate", getLocation());
+                    }
+                }
+            }
+        } catch (IOException x) {
+            throw new BuildException("Could not open " + manifest + ": " + x, x, getLocation());
+
+        }
+        try {
+            StringBuilder errorList = new StringBuilder();
+            Files.list(dir.toPath())
+                    .forEach((t) -> {
+                        String sha1 = hash(t.toFile());
+                        if (!shamap.containsKey(sha1)) {
+                            errorList.append("No sha1 (expected ").append(sha1).append(" for file: ").append(t).append("\n");
+                        }                          
+                    });
+            if (errorList.toString().length()>0) {
+                log(""+errorList.toString());
+                throw new BuildException("Missing Sha1 file", getLocation());
+            }
+        } catch (IOException ex) {
+            throw new BuildException("Invalid manifest entry should be Maven coordinate", getLocation());
+        }
+        if (!success) {
+            throw new BuildException("Failed to download binaries - see log message for the detailed reasons.", getLocation());
+        }
+    }
+
+    private String hash(File f) {
+        try {
+            try (FileInputStream is = new FileInputStream(f)) {
+                return hash(is);
+            }
+        } catch (IOException x) {
+            throw new BuildException("Could not get hash for " + f + ": " + x, x, getLocation());
+        }
+    }
+
+    private String hash(InputStream is) throws IOException {
+        MessageDigest digest;
+        try {
+            digest = MessageDigest.getInstance("SHA-1");
+        } catch (NoSuchAlgorithmException x) {
+            throw new BuildException(x, getLocation());
+        }
+        byte[] buf = new byte[4096];
+        int r;
+        while ((r = is.read(buf)) != -1) {
+            digest.update(buf, 0, r);
+        }
+        return String.format("%040X", new BigInteger(1, digest.digest()));
+    }
+
+    static class MavenCoordinate {
+
+        private final String groupId;
+        private final String artifactId;
+        private final String version;
+        private final String extension;
+        private final String classifier;
+
+        private MavenCoordinate(String groupId, String artifactId, String version, String extension, String classifier) {
+            this.groupId = groupId;
+            this.artifactId = artifactId;
+            this.version = version;
+            this.extension = extension;
+            this.classifier = classifier;
+        }
+
+        public boolean hasClassifier() {
+            return (!classifier.isEmpty());
+        }
+
+        public String getGroupId() {
+            return groupId;
+        }
+
+        public String getArtifactId() {
+            return artifactId;
+        }
+
+        public String getVersion() {
+            return version;
+        }
+
+        public String getExtension() {
+            return extension;
+        }
+
+        public String getClassifier() {
+            return classifier;
+        }
+
+        /**
+         * @return filename of the artifact by maven convention:
+         * {@code artifact-version[-classifier].extension}
+         */
+        public String toArtifactFilename() {
+            return String.format("%s-%s%s.%s",
+                    getArtifactId(),
+                    getVersion(),
+                    hasClassifier() ? ("-" + getClassifier()) : "",
+                    getExtension()
+            );
+        }
+
+        /**
+         * @return The repository path for an artifact by maven convention:
+         * {@code group/artifact/version/artifact-version[-classifier].extension}.
+         * In the group part all dots are replaced by a slash.
+         */
+        public String toMavenPath() {
+            return String.format("%s/%s/%s/%s",
+                    getGroupId().replace(".", "/"),
+                    getArtifactId(),
+                    getVersion(),
+                    toArtifactFilename()
+            );
+        }
+
+        public static boolean isMavenFile(String gradleFormat) {
+            return gradleFormat.split(":").length > 2;
+        }
+
+        /**
+         * The maven coordinate is supplied in the form:
+         *
+         * <p>
+         * {@code group:name:version:classifier@extension}</p>
+         *
+         * <p>
+         * For the DownloadBinaries task the parts group, name and version are
+         * requiered. classifier and extension are optional. The extension has a
+         * default value of "jar".
+         *
+         * @param gradleFormat artifact coordinated to be parse as a
+         * MavenCoordinate
+         * @return
+         * @throws IllegalArgumentException if provided string fails to parse
+         */
+        public static MavenCoordinate fromGradleFormat(String gradleFormat) {
+            if (!isMavenFile(gradleFormat)) {
+                throw new IllegalArgumentException("Supplied string is not in gradle dependency format: " + gradleFormat);
+            }
+            String[] coordinateExtension = gradleFormat.split("@", 2);
+            String extension;
+            String coordinate = coordinateExtension[0];
+            if (coordinateExtension.length > 1
+                    && (!coordinateExtension[1].trim().isEmpty())) {
+                extension = coordinateExtension[1];
+            } else {
+                extension = "jar";
+            }
+            String[] coordinates = coordinate.split(":");
+            String group = coordinates[0];
+            String artifact = coordinates[1];
+            String version = coordinates[2];
+            String classifier = "";
+            if (coordinates.length > 3) {
+                classifier = coordinates[3].trim();
+            }
+            return new MavenCoordinate(group, artifact, version, extension, classifier);
+        }
+    }
+}
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
index 7fae888..355b90e 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
@@ -95,12 +95,6 @@
         this.repos = repos;
     }
     
-    private File report = null;
-    
-    public void setReportToFile(File file) {
-        this.report = file;
-    }
-    
     private final List<FileSet> manifests = new ArrayList<>();
     /**
      * Add one or more manifests of files to download.
@@ -141,14 +135,6 @@
     @Override
     public void execute() throws BuildException {
         boolean success = true;
-        if (report != null) {
-            try {
-                Files.deleteIfExists(report.toPath());
-                Files.createFile(report.toPath());
-            } catch (IOException x) {
-                throw new BuildException("Cannot create report file at : " + report + x, getLocation());
-            }
-        }
         for (FileSet fs : manifests) {
             DirectoryScanner scanner = fs.getDirectoryScanner(getProject());
             File basedir = scanner.getBasedir();
@@ -177,10 +163,6 @@
                             } else {
                                 success &= fillInFile(hashAndFile[0], hashAndFile[1], manifest, () -> legacyDownload(hashAndFile[0] + "-" + hashAndFile[1]));
                             }
-                            if (report != null) {
-                                Files.write(report.toPath(), (hashAndFile[0] + ";" + hashAndFile[1] + ";" + include + "\n").getBytes("UTF-8"),StandardOpenOption.APPEND);
-                            }
-                            
                         }
                     }
                 } catch (IOException x) {
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
index 6a91454..515c851 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps
@@ -59,11 +59,11 @@
 groovy/gradle/external/gradle-4.10.2-bin.zip ide/c.google.gson/external/gson-2.7.jar
 groovy/gradle/external/gradle-4.10.2-bin.zip ide/c.jcraft.jsch/external/jsch-0.1.54.jar
 groovy/gradle/external/gradle-4.10.2-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar
-groovy/gradle/external/gradle-4.10.2-bin.zip java/maven/external/aether-api-1.13.1.jar
-groovy/gradle/external/gradle-4.10.2-bin.zip java/maven.embedder/external/apache-maven-3.3.9-bin.zip
+groovy/gradle/external/gradle-4.10.2-bin.zip java/maven.embedder/external/apache-maven-3.6.3-bin.zip
 groovy/gradle/external/gradle-4.10.2-bin.zip platform/api.annotations.common/external/jsr305-3.0.2.jar
 groovy/gradle/external/gradle-4.10.2-bin.zip platform/libs.junit4/external/hamcrest-core-1.3.jar
 groovy/gradle/external/gradle-4.10.2-bin.zip platform/libs.junit4/external/junit-4.12.jar
+groovy/gradle/external/gradle-4.10.2-bin.zip java/maven/external/aether-api-1.13.1.jar
 
 # These are the endorsed version of the javaee apis and create libraries, so they are better kept separate
 enterprise/javaee.api/external/javax.annotation-api-1.2.jar enterprise/javaee7.api/external/javax.annotation-api-1.2.jar
diff --git a/nbbuild/build.xml b/nbbuild/build.xml
index 99f95da..45bc1f3 100644
--- a/nbbuild/build.xml
+++ b/nbbuild/build.xml
@@ -198,14 +198,34 @@
   <target name="download-all-extbins" unless="ext.binaries.downloaded" depends="bootstrap">
     <echo>Downloading external binaries (*/external/ directories)...</echo>
     <!-- optionnal reporttofile used to speed resolving artefacts resolution for maven artefacts -->
-    <downloadbinaries cache="${binaries.cache}" server="${binaries.server}" reporttofile="${nb_all}/nbbuild/build/external.info" >
+    <downloadbinaries cache="${binaries.cache}" server="${binaries.server}" >
         <manifest dir="${nb_all}">
             <include name="**/external/binaries-list"/>
         </manifest>
     </downloadbinaries>
     <property name="ext.binaries.downloaded" value="true"/>
   </target>
-
+  <!-- create list of all maven coordinate -->
+  <target name="getallmavencoordinates">
+      <concat destfile="${nb_all}/nbbuild/build/external.info">
+          <fileset dir="${nb_all}" includes="**/external/binaries-list" />
+          <fileset dir="${nb_all}" includes="**/external/binariesembedded-list" />
+          <filterchain>
+              <!-- remove comment inline not inline -->
+              <tokenfilter>
+                  <replaceregex pattern="#(.*)$" replace="" flags="gim" />
+              </tokenfilter>
+              <!-- : is sparator for maven coordinate -->
+              <linecontains>
+                  <contains value=":"/>
+              </linecontains>
+              <!--  needed as separator -->
+              <tokenfilter>
+                  <replacestring from=" " to=";"/>
+              </tokenfilter>
+          </filterchain>
+      </concat>
+  </target>
   <target name="download-selected-extbins" unless="ext.binaries.downloaded" depends="init-module-list">
     <echo>Downloading external binaries (*/external/ directories) for cluster.config=${cluster.config}...</echo>
     <pathconvert property="modules.binaries-list" pathsep=",">
diff --git a/nbbuild/cluster.properties b/nbbuild/cluster.properties
index 48b940b..af34fd2 100644
--- a/nbbuild/cluster.properties
+++ b/nbbuild/cluster.properties
@@ -1012,6 +1012,7 @@
         groovy.refactoring,\
         groovy.samples,\
         groovy.support,\
+        libs.gradle,\
         libs.groovy,\
         maven.groovy
 
diff --git a/nbbuild/installer/infra/build/init.sh b/nbbuild/installer/infra/build/init.sh
index a18b649..235f23f 100644
--- a/nbbuild/installer/infra/build/init.sh
+++ b/nbbuild/installer/infra/build/init.sh
@@ -58,7 +58,6 @@
 echo jarsigner.keystore="${JARSIGNER_KEYSTORE}"
 echo jarsigner.alias="${JARSIGNER_ALIAS}"
 echo jarsigner.storepass="${JARSIGNER_STOREPASS}"
-echo pack200.enabled="${USE_PACK200}"
 echo nbi.cache.dir="${CACHE_DIR}"
 echo nb.binary.name="${BINARY_NAME}"
 echo nb.version="${NB_VER_NUMBER}"
diff --git a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt b/nbbuild/licenses/Apache-2.0-freemarker
similarity index 92%
copy from platform/libs.flatlaf/external/flatlaf-0.26-license.txt
copy to nbbuild/licenses/Apache-2.0-freemarker
index b1b4cd7..1121eba 100644
--- a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt
+++ b/nbbuild/licenses/Apache-2.0-freemarker
@@ -1,10 +1,3 @@
-Name: FlatLaf Look and Feel
-Description: FlatLaf Look and Feel
-Version: 0.26
-Files: flatlaf-0.26.jar
-License: Apache-2.0
-Origin: FormDev Software GmbH.
-URL: https://www.formdev.com/flatlaf/
 
                                  Apache License
                            Version 2.0, January 2004
@@ -207,3 +200,24 @@
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
+
+=========================================================================
+
+The source code contains the following binaries,
+which were created at the Apache FreeMarker project, and hence are
+covered by the same license as the other source files of it:
+
+  src/main/misc/overloadedNumberRules/prices.ods
+  src/manual/en_US/docgen-originals/figures/overview.odg
+  src/manual/en_US/docgen-originals/figures/model2sketch_with_alpha.png
+  src/manual/en_US/docgen-originals/figures/tree_with_alpha.png
+  src/manual/en_US/favicon.png
+  src/manual/en_US/figures/model2sketch.png
+  src/manual/en_US/figures/overview.png
+  src/manual/en_US/figures/tree.png
+  src/manual/en_US/logo.png
+  src/manual/zh_CN/favicon.png
+  src/manual/zh_CN/figures/model2sketch.png
+  src/manual/zh_CN/figures/overview.png
+  src/manual/zh_CN/figures/tree.png
+  src/manual/zh_CN/logo.png
diff --git a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt b/nbbuild/licenses/Apache-2.0-spring3.2.18
similarity index 90%
rename from java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt
rename to nbbuild/licenses/Apache-2.0-spring3.2.18
index 8edc4a7..efebe6b 100644
--- a/java/libs.springframework/external/spring-framework-3.2.7.RELEASE-license.txt
+++ b/nbbuild/licenses/Apache-2.0-spring3.2.18
@@ -1,11 +1,4 @@
-Name: Spring Framework
-Description: Java/J2EE application framework
-Version: 3.2.7.RELEASE
-Origin: SpringSource
-License: Apache-2.0-spring3.2.7
-URL: http://www.springsource.org/download
-
-				  Apache License
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -209,18 +202,19 @@
 
 =======================================================================
 
-SPRING FRAMEWORK 3.1 SUBCOMPONENTS:
+SPRING FRAMEWORK 3.2.18.RELEASE SUBCOMPONENTS:
 
-Spring Framework 3.1 includes a number of subcomponents with
-separate copyright notices and license terms.  The product that
+Spring Framework 3.2.18.RELEASE includes a number of subcomponents
+with separate copyright notices and license terms. The product that
 includes this file does not necessarily use all the open source
 subcomponents referred to below. Your use of the source
 code for these subcomponents is subject to the terms and
 conditions of the following licenses.
 
->>> asm-2.2.3:
 
-Copyright (c) 2000-2005 INRIA, France Telecom
+>>> ASM 4.0 (org.ow2.asm:asm:4.0, org.ow2.asm:asm-commons:4.0):
+
+Copyright (c) 2000-2011 INRIA, France Telecom
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -252,17 +246,34 @@
 
 Copyright (c) 1999-2009, OW2 Consortium <http://www.ow2.org/>
 
+
+>>> CGLIB 3.0 (cglib:cglib:3.0):
+
+Per the LICENSE file in the CGLIB JAR distribution downloaded from
+http://sourceforge.net/projects/cglib/files/cglib3/3.0/cglib-3.0.jar/download,
+CGLIB 3.0 is licensed under the Apache License, version 2.0, the text of which
+is included above.
+
+
 =======================================================================
 
-To the extent any open source subcomponents are licensed under the EPL and/or other
-similar licenses that require the source code and/or modifications to
+To the extent any open source subcomponents are licensed under the EPL and/or
+other similar licenses that require the source code and/or modifications to
 source code to be made available (as would be noted above), you may obtain a
 copy of the source code corresponding to the binaries for such open source
 components and modifications thereto, if any, (the "Source Files"), by
-downloading the Source Files from http://www.springsource.org/download,
-or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview
-Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com.  All
-such requests should clearly specify:  OPEN SOURCE FILES REQUEST, Attention General
-Counsel.  VMware shall mail a copy of the Source Files to you on a CD or equivalent
-physical medium.  This offer to obtain a copy of the Source Files is valid for three
-years from the date you acquired this Software product.
+downloading the Source Files from http://www.springsource.org/download, or by
+sending a request, with your name and address to:
+
+    Pivotal, Inc., 875 Howard St,
+    San Francisco, CA 94103
+    United States of America
+
+or email info@gopivotal.com.  All such requests should clearly specify:
+
+    OPEN SOURCE FILES REQUEST
+    Attention General Counsel
+
+Pivotal shall mail a copy of the Source Files to you on a CD or equivalent
+physical medium. This offer to obtain a copy of the Source Files is valid for
+three years from the date you acquired this Software product.
diff --git a/nbbuild/licenses/Apache-2.0-spring3.2.7 b/nbbuild/licenses/Apache-2.0-spring3.2.7
deleted file mode 100644
index b50430d..0000000
--- a/nbbuild/licenses/Apache-2.0-spring3.2.7
+++ /dev/null
@@ -1,261 +0,0 @@
-				  Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) 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. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-=======================================================================   
-
-SPRING FRAMEWORK 3.1 SUBCOMPONENTS: 
-
-Spring Framework 3.1 includes a number of subcomponents with
-separate copyright notices and license terms.  The product that 
-includes this file does not necessarily use all the open source 
-subcomponents referred to below. Your use of the source
-code for these subcomponents is subject to the terms and
-conditions of the following licenses. 
-
->>> asm-2.2.3:
-
-Copyright (c) 2000-2005 INRIA, France Telecom
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holders nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
-
-Copyright (c) 1999-2009, OW2 Consortium <http://www.ow2.org/>	
-		
-=======================================================================   
-
-To the extent any open source subcomponents are licensed under the EPL and/or other 
-similar licenses that require the source code and/or modifications to 
-source code to be made available (as would be noted above), you may obtain a 
-copy of the source code corresponding to the binaries for such open source 
-components and modifications thereto, if any, (the "Source Files"), by 
-downloading the Source Files from http://www.springsource.org/download, 
-or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview 
-Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com.  All 
-such requests should clearly specify:  OPEN SOURCE FILES REQUEST, Attention General 
-Counsel.  VMware shall mail a copy of the Source Files to you on a CD or equivalent 
-physical medium.  This offer to obtain a copy of the Source Files is valid for three 
-years from the date you acquired this Software product.
diff --git a/nbbuild/licenses/Maven-CDDL-1.0 b/nbbuild/licenses/Maven-CDDL-1.0
deleted file mode 100644
index a9194cf..0000000
--- a/nbbuild/licenses/Maven-CDDL-1.0
+++ /dev/null
@@ -1,406 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type"
- content="text/html; charset=ISO-8859-1">
-  <title>CDDL ver. 1.0</title>
-  <meta name="author" content="Cliff Allen">
-</head>
-<body>
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-1. <br>
-<br>
-Definitions.
-<br>
-<br>
-1.1. <span style="font-style: italic;">Contributor</span> means each
-individual or entity that creates or
-contributes to the creation of Modifications.
-<br>
-<br>
-1.2. <span style="font-style: italic;">Contributor Version</span>
-means the combination of the Original
-Software, prior Modifications used by a Contributor (if any), and the
-Modifications made by that particular Contributor.
-<br>
-<br>
-1.3. <span style="font-style: italic;">Covered Software</span> means
-(a) the Original Software, or (b)
-Modifications, or (c) the combination of files containing Original
-Software with files containing Modifications, in each case including
-portions thereof.
-<br>
-<br>
-1.4. <span style="font-style: italic;">Executable</span> means the
-Covered Software in any form other than
-Source Code.
-<br>
-<br>
-1.5. <span style="font-style: italic;">Initial Developer</span> means
-the individual or entity that first makes
-Original Software available under this License.
-<br>
-<br>
-1.6. <span style="font-style: italic;">Larger Work</span> means a work
-which combines Covered Software or
-portions thereof with code not governed by the terms of this License.
-<br>
-<br>
-1.7. <span style="font-style: italic;">License</span> means this
-document.
-<br>
-<br>
-1.8. <span style="font-style: italic;">Licensable</span> means having
-the right to grant, to the maximum extent
-possible, whether at the time of the initial grant or subsequently
-acquired, any and all of the rights conveyed herein.
-<br>
-<br>
-1.9. <span style="font-style: italic;">Modifications</span> means the
-Source Code and Executable form of any of
-the following:
-A. Any file that results from an addition to, deletion from or
-modification of the contents of a file containing Original Software or
-previous Modifications;
-B. Any new file that contains any part of the Original Software or
-previous Modification; or
-C. Any new file that is contributed or otherwise made available under
-the terms of this License.
-<br>
-<br>
-1.10. <span style="font-style: italic;">Original Software</span> means
-the Source Code and Executable form of
-computer software code that is originally released under this License.
-<br>
-<br>
-1.11. <span style="font-style: italic;">Patent Claims</span> means any
-patent claim(s), now owned or hereafter
-acquired, including without limitation, method, process, and apparatus
-claims, in any patent Licensable by grantor.
-<br>
-<br>
-1.12. <span style="font-style: italic;">Source Code</span> means (a)
-the common form of computer software code
-in which modifications are made and (b) associated documentation
-included in or with such code.
-<br>
-<br>
-1.13. <span style="font-style: italic;">You (or Your)</span> means an
-individual or a legal entity exercising
-rights under, and complying with all of the terms of, this License. For
-legal entities, You includes any entity which controls, is controlled
-by, or is under common control with You. For purposes of this
-definition, control means (a)&nbsp;the power, direct or indirect, to
-cause
-the direction or management of such entity, whether by contract or
-otherwise, or (b)&nbsp;ownership of more than fifty percent (50%) of
-the
-outstanding shares or beneficial ownership of such entity.
-<br>
-<br>
-2. License Grants.<br>
-<br>
-&nbsp;2.1. The Initial Developer Grant.
-Conditioned upon Your compliance with Section 3.1 below and subject to
-third party intellectual property claims, the Initial Developer hereby
-grants You a world-wide, royalty-free, non-exclusive license:
-<br>
-<br>
-(a) under intellectual property rights (other than patent or trademark)
-Licensable by Initial Developer, to use, reproduce, modify, display,
-perform, sublicense and distribute the Original Software (or portions
-thereof), with or without Modifications, and/or as part of a Larger
-Work; and
-<br>
-<br>
-(b) under Patent Claims infringed by the making, using or selling of
-Original Software, to make, have made, use, practice, sell, and offer
-for sale, and/or otherwise dispose of the Original Software (or
-portions thereof);<br>
-<br>
-&nbsp;(c) The licenses granted in Sections&nbsp;2.1(a) and (b) are
-effective on
-the date Initial Developer first distributes or otherwise makes the
-Original Software available to a third party under the terms of this
-License;<br>
-<br>
-&nbsp;(d) Notwithstanding Section&nbsp;2.1(b) above, no patent license
-is granted:
-(1)&nbsp;for code that You delete from the Original Software, or
-(2)&nbsp;for
-infringements caused by: (i)&nbsp;the modification of the Original
-Software,
-or (ii)&nbsp;the combination of the Original Software with other
-software or
-devices.
-<br>
-<br>
-2.2. Contributor Grant.
-Conditioned upon Your compliance with Section 3.1 below and subject to
-third party intellectual property claims,
-each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-<br>
-<br>
-(a) under intellectual property rights (other than patent or trademark)
-Licensable by Contributor to use, reproduce, modify, display, perform,
-sublicense and distribute the Modifications created by such Contributor
-(or portions thereof), either on an unmodified basis, with other
-Modifications, as Covered Software and/or as part of a Larger Work; and
-<br>
-<br>
-(b) under Patent Claims infringed by the making, using, or selling of
-Modifications made by that Contributor either alone and/or in
-combination with its Contributor Version (or portions of such
-combination), to make, use, sell, offer for sale, have made, and/or
-otherwise dispose of: (1)&nbsp;Modifications made by that Contributor
-(or
-portions thereof); and (2)&nbsp;the combination of Modifications made
-by
-that Contributor with its Contributor Version (or portions of such
-combination).
-<br>
-<br>
-(c) The licenses granted in Sections&nbsp;2.2(a) and 2.2(b) are
-effective on
-the date Contributor first distributes or otherwise makes the
-Modifications available to a third party.<br>
-<br>
-(d) Notwithstanding Section&nbsp;2.2(b) above, no patent license is
-granted:
-(1)&nbsp;for any code that Contributor has deleted from the Contributor
-Version; (2)&nbsp;for infringements caused by: (i)&nbsp;third party
-modifications
-of Contributor Version, or (ii)&nbsp;the combination of Modifications
-made
-by that Contributor with other software (except as part of the
-Contributor Version) or other devices; or (3)&nbsp;under Patent Claims
-infringed by Covered Software in the absence of Modifications made by
-that Contributor.
-<br>
-<br>
-3. Distribution Obligations.
-<br>
-<br>
-3.1. Availability of Source Code.
-Any Covered Software that You distribute or otherwise make available in
-Executable form must also be made available in Source Code form and
-that Source Code form must be distributed only under the terms of this
-License. You must include a copy of this License with every copy of the
-Source Code form of the Covered Software You distribute or otherwise
-make available. You must inform recipients of any such Covered Software
-in Executable form as to how they can obtain such Covered Software in
-Source Code form in a reasonable manner on or through a medium
-customarily used for software exchange.
-<br>
-<br>
-3.2. Modifications.
-The Modifications that You create or to which You contribute are
-governed by the terms of this License. You represent that You believe
-Your Modifications are Your original creation(s) and/or You have
-sufficient rights to grant the rights conveyed by this License.
-<br>
-<br>
-3.3. Required Notices.
-You must include a notice in each of Your Modifications that identifies
-You as the Contributor of the Modification. You may not remove or alter
-any copyright, patent or trademark notices contained within the Covered
-Software, or any notices of licensing or any descriptive text giving
-attribution to any Contributor or the Initial Developer.
-<br>
-<br>
-3.4. Application of Additional Terms.
-You may not offer or impose any terms on any Covered Software in Source
-Code form that alters or restricts the applicable version of this
-License or the recipients rights hereunder. You may choose to offer,
-and to charge a fee for, warranty, support, indemnity or liability
-obligations to one or more recipients of Covered Software. However, you
-may do so only on Your own behalf, and not on behalf of the Initial
-Developer or any Contributor. You must make it absolutely clear that
-any such warranty, support, indemnity or liability obligation is
-offered by You alone, and You hereby agree to indemnify the Initial
-Developer and every Contributor for any liability incurred by the
-Initial Developer or such Contributor as a result of warranty, support,
-indemnity or liability terms You offer.<br>
-<br>
-3.5. Distribution of Executable Versions.
-You may distribute the Executable form of the Covered Software under
-the terms of this License or under the terms of a license of Your
-choice, which may contain terms different from this License, provided
-that You are in compliance with the terms of this License and that the
-license for the Executable form
-does not attempt to limit or alter the recipients rights in the Source
-Code form from the rights set forth in this License. If You distribute
-the Covered Software in Executable form under a different license, You
-must make it absolutely clear that any terms which differ from this
-License are offered by You alone, not by the Initial Developer or
-Contributor. You hereby agree to indemnify the Initial Developer and
-every Contributor for any liability incurred by the Initial Developer
-or such Contributor as a result of any such terms You offer.
-<br>
-<br>
-3.6. Larger Works.
-You may create a Larger Work by combining Covered Software with other
-code not governed by the terms of this License and distribute the
-Larger Work as a single product. In such a case, You must make sure the
-requirements of this License are fulfilled for the Covered Software.
-<br>
-<br>
-4. Versions of the License.
-<br>
-<br>
-4.1. New Versions.
-Sun Microsystems, Inc. is the initial license steward and may publish
-revised and/or new versions of this License from time to time. Each
-version will be given a distinguishing version number. Except as
-provided in Section 4.3, no one other than the license steward has the
-right to modify this License.
-<br>
-<br>
-4.2. Effect of New Versions.
-You may always continue to use, distribute or otherwise make the
-Covered Software available under the terms of the version of the
-License under which You originally received the Covered Software. If
-the Initial Developer includes a notice in the Original Software
-prohibiting it from being distributed or otherwise made available under
-any subsequent version of the License, You must distribute and make the
-Covered Software available under the terms of the version of the
-License under which You originally received the Covered Software.
-Otherwise, You may also choose to use, distribute or otherwise make the
-Covered Software available under the terms of any subsequent version of
-the License published by the license steward.
-<br>
-<br>
-4.3. Modified Versions.
-When You are an Initial Developer and You want to create a new license
-for Your Original Software, You may create and use a modified version
-of this License if You: (a)&nbsp;rename the license and remove any
-references to the name of the license steward (except to note that the
-license differs from this License); and (b)&nbsp;otherwise make it
-clear
-that the license contains terms which differ from this License.
-<br>
-<br>
-5. DISCLAIMER OF WARRANTY.
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF
-DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
-SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN
-ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR)
-ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS
-DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
-NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
-THIS DISCLAIMER.
-<br>
-<br>
-6. TERMINATION.
-<br>
-<br>
-6.1. This License and the rights granted hereunder will terminate
-automatically if You fail to comply with terms herein and fail to cure
-such breach within 30 days of becoming aware of the breach. Provisions
-which, by their nature, must remain in effect beyond the termination of
-this License shall survive.
-<br>
-<br>
-6.2. If You assert a patent infringement claim (excluding declaratory
-judgment actions) against Initial Developer or a Contributor (the
-Initial Developer or Contributor against whom You assert such claim is
-referred to as Participant) alleging that the Participant Software
-(meaning the Contributor Version where the Participant is a Contributor
-or the Original Software where the Participant is the Initial
-Developer) directly or indirectly infringes any patent, then any and
-all rights granted directly or indirectly to You by such Participant,
-the Initial Developer (if the Initial Developer is not the Participant)
-and all Contributors under
-Sections&nbsp;2.1 and/or 2.2 of this License shall, upon 60 days notice
-from
-Participant terminate prospectively and automatically at the expiration
-of such 60 day notice period, unless if within such 60 day period You
-withdraw Your claim with respect to the Participant Software against
-such Participant either unilaterally or pursuant to a written agreement
-with Participant.
-<br>
-<br>
-6.3. In the event of termination under Sections&nbsp;6.1 or 6.2 above,
-all
-end user licenses that have been validly granted by You or any
-distributor hereunder prior to termination (excluding licenses granted
-to You by any distributor) shall survive termination.
-<br>
-<br>
-7. LIMITATION OF LIABILITY.
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED
-SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
-PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST
-PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
-MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF
-SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
-THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
-PERSONAL INJURY RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT
-ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL
-DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-<br>
-<br>
-8. U.S. GOVERNMENT END USERS.
-The Covered Software is a commercial item, as that term is defined in
-48&nbsp;C.F.R.&nbsp;2.101 (Oct. 1995), consisting of commercial
-computer software
-(as that term is defined at 48 C.F.R. &nbsp;252.227-7014(a)(1)) and
-commercial computer software documentation as such terms are used in
-48&nbsp;C.F.R.&nbsp;12.212 (Sept. 1995). Consistent with 48 C.F.R.
-12.212 and 48
-C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
-End Users acquire Covered Software with only those rights set forth
-herein. This U.S. Government Rights clause is in lieu of, and
-supersedes, any other FAR, DFAR, or other clause or provision that
-addresses Government rights in computer software under this License.
-<br>
-<br>
-9. MISCELLANEOUS.
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. This License shall be governed by the
-law of the jurisdiction specified in a notice contained within the
-Original Software (except to the extent applicable law, if any,
-provides otherwise), excluding such jurisdictions conflict-of-law
-provisions. Any litigation relating to this License shall be subject to
-the jurisdiction of the courts located in the jurisdiction and venue
-specified in a notice contained within the Original Software, with the
-losing party responsible for costs, including, without limitation,
-court costs and reasonable attorneys fees and expenses. The application
-of the United Nations Convention on Contracts for the International
-Sale of Goods is expressly excluded. Any law or regulation which
-provides that the language of a contract shall be construed against the
-drafter shall not apply to this License. You agree that You alone are
-responsible for compliance with the United States export administration
-regulations (and the export control laws and regulation of any other
-countries) when You use, distribute or otherwise make available any
-Covered Software. <br>
-<br>
-10. RESPONSIBILITY FOR CLAIMS.
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or indirectly, out
-of its utilization of rights under this License and You agree to work
-with Initial Developer and Contributors to distribute such
-responsibility on an equitable basis. Nothing herein is intended or
-shall be deemed to constitute any admission of liability.
-<br>
-<br>
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
-LICENSE (CDDL)
-The code released under the CDDL shall be governed by the
-laws of the State of California (excluding conflict-of-law provisions).
-Any litigation relating to this License shall be subject to the
-jurisdiction of the Federal Courts of the Northern District of
-California and the state courts of the State of California, with venue
-lying in Santa Clara County, California.
-</body>
-</html>
diff --git a/nbbuild/licenses/Maven-EPL-v10 b/nbbuild/licenses/Maven-EPL-v10
index fd39122..6a200a1 100644
--- a/nbbuild/licenses/Maven-EPL-v10
+++ b/nbbuild/licenses/Maven-EPL-v10
@@ -1,261 +1,210 @@
-<?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">
+Eclipse Public License - v 1.0
 
-<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>
+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.
 
-</head>
+   1. DEFINITIONS
 
-<body lang="EN-US">
+   "Contribution" means:
 
-<h2>Eclipse Public License - v 1.0</h2>
+a) in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and
 
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
+      b) in the case of each subsequent Contributor:
 
-<p><b>1. DEFINITIONS</b></p>
+         i) changes to the Program, and
 
-<p>&quot;Contribution&quot; means:</p>
+         ii) additions to the Program;
 
-<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>
+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>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
+   "Contributor" means any person or entity that distributes the Program.
 
-<p>&quot;Licensed Patents&quot; 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>
+"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>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
+"Program" means the Contributions distributed in accordance with this Agreement.
 
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
+"Recipient" means anyone who receives the Program under this Agreement, including
+all Contributors.
 
-<p><b>2. GRANT OF RIGHTS</b></p>
+   2. GRANT OF RIGHTS
 
-<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>
+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 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>
+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 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>
+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 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>
+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><b>3. REQUIREMENTS</b></p>
+   3. REQUIREMENTS
 
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
 
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
+      a) it complies with the terms and conditions of this Agreement; and
 
-<p class="list">b) its license agreement:</p>
+      b) its license agreement:
 
-<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>
+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 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>
+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 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>
+iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
 
-<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>
+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>When the Program is made available in source code form:</p>
+   When the Program is made available in source code form:
 
-<p class="list">a) it must be made available under this Agreement; and</p>
+      a) it must be made available under this Agreement; and
 
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
+b) a copy of this Agreement must be included with each copy of the Program.
 
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
+Contributors may not remove or alter any copyright notices contained within
+the Program.
 
-<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>
+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><b>4. COMMERCIAL DISTRIBUTION</b></p>
+   4. COMMERCIAL DISTRIBUTION
 
-<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
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-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>
+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>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>
+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><b>5. NO WARRANTY</b></p>
+   5. NO WARRANTY
 
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; 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>
+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><b>6. DISCLAIMER OF LIABILITY</b></p>
+   6. DISCLAIMER OF LIABILITY
 
-<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>
+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><b>7. GENERAL</b></p>
+   7. GENERAL
 
-<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>
+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>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>
+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>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>
+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>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>
+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>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>
+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.
diff --git a/nbbuild/licenses/Maven-MIT b/nbbuild/licenses/Maven-MIT
index 6057ad8..689a130 100644
--- a/nbbuild/licenses/Maven-MIT
+++ b/nbbuild/licenses/Maven-MIT
@@ -1,370 +1,22 @@
-<!DOCTYPE html>
-<html lang="en" dir="ltr">
-<head profile="http://www.w3.org/1999/xhtml/vocab">
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<link rel="shortcut icon" href="http://opensource.org/files/osi_favicon.png" type="image/png" />
-<meta name="HandheldFriendly" content="true" />
-<link rel="shortlink" href="/node/66" />
-<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
-<link rel="canonical" href="/licenses/MIT" />
-<meta name="MobileOptimized" content="width" />
-  <title>The MIT License (MIT) | Open Source Initiative</title>
-  <link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_4p37TiWeuzRfdymI_lPgCuu6wEwSDhUquxUkHLI7QnU.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_MnXiytJtb186Ydycnpwpw34cuUsHaKc80ey5LiQXhSY.css" media="all" />
-<link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_KGZcOm3i1wmtbgZsjo-3V9FM4wZ-5UDcpJ7Vfzmt45E.css" media="all" />
-<link type="text/css" rel="stylesheet" href="http://opensource.org/files/css/css_G9cu63kkDQ56GYuF3QrqJxma5HT-bUVZckUWKUzFCF4.css" media="all" />
 
-<!--[if (lt IE 9)]>
-<link type="text/css" rel="stylesheet" href="http://opensource.org/sites/all/themes/bootstrap-business/css/ie8.css?nxi1lc" media="all" />
-<![endif]-->
+The MIT License
 
-    
-  <!-- HTML5 element support for IE6-8 -->
-  <!--[if lt IE 9]>
-    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-  <![endif]-->
-  <script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-window.jQuery || document.write("<script src='/sites/all/modules/jquery_update/replace/jquery/1.10/jquery.min.js'>\x3C/script>")
-//--><!]]>
-</script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_3TykeRWpejhD4-J3vdlaNXdULg9xhOZhbsppK0o2bUs.js"></script>
-<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery(document).ready(function($) { 
-		$(window).scroll(function() {
-			if($(this).scrollTop() != 0) {
-				$("#toTop").fadeIn();	
-			} else {
-				$("#toTop").fadeOut();
-			}
-		});
-		
-		$("#toTop").click(function() {
-			$("body,html").animate({scrollTop:0},800);
-		});	
-		
-		});
-//--><!]]>
-</script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_ruOYJN6FkJU2O5L1dAKVnDloSn5R6LjnLW88zFxS1Uw.js"></script>
-<script type="text/javascript" src="http://opensource.org/files/js/js_JQHTvV_SkyFlN3f2BnQwnusF-eI6tkX8wrKAk2siiZU.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"bootstrap_business","theme_token":"XQUfOVWcNUstFL7Mf28dswXzO-DyvgTX2IZqLuFqRhQ","js":{"\/\/code.jquery.com\/jquery-1.10.2.min.js":1,"0":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.2.0\/js\/bootstrap.min.js":1,"1":1,"sites\/all\/libraries\/superfish\/jquery.hoverIntent.minified.js":1,"sites\/all\/libraries\/superfish\/sftouchscreen.js":1,"sites\/all\/libraries\/superfish\/sfsmallscreen.js":1,"sites\/all\/libraries\/superfish\/supposition.js":1,"sites\/all\/libraries\/superfish\/superfish.js":1,"sites\/all\/libraries\/superfish\/supersubs.js":1,"sites\/all\/modules\/superfish\/superfish.js":1,"sites\/all\/themes\/bootstrap-business\/js\/jquery.browser.min.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"modules\/aggregator\/aggregator.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"sites\/all\/modules\/mollom\/mollom.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"modules\/user\/user.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.2.0\/css\/bootstrap.min.css":1,"sites\/all\/libraries\/superfish\/css\/superfish.css":1,"sites\/all\/themes\/bootstrap-business\/css\/style.css":1,"sites\/all\/themes\/bootstrap-business\/color\/colors.css":1,"sites\/all\/themes\/bootstrap-business\/css\/local.css":1,"sites\/all\/themes\/bootstrap-business\/css\/ie8.css":1}},"urlIsAjaxTrusted":{"\/licenses\/mit-license.php":true},"superfish":{"1":{"id":"1","sf":{"animation":{"opacity":"show","height":"show"},"speed":"\u0027fast\u0027","autoArrows":false,"dropShadows":true,"disableHI":false},"plugins":{"touchscreen":{"mode":"window_width"},"smallscreen":{"mode":"window_width","addSelected":false,"menuClasses":false,"hyperlinkClasses":false,"title":"Navigation"},"supposition":true,"bgiframe":false,"supersubs":{"minWidth":"12","maxWidth":"27","extraWidth":1}}}}});
-//--><!]]>
-</script>
-</head>
-<body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-66 node-type-page" >
-  <div id="skip-link">
-    <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>
-  </div>
-    <div id="toTop"><span class="glyphicon glyphicon-chevron-up"></span></div>
+Copyright (c) 2009-2019 Jonathan Hedley <jonathan@hedley.net>
 
-
-
-<!-- #header-top -->
-<div id="header-top" class="clearfix">
-    <div class="container">
-
-        <!-- #header-top-inside -->
-        <div id="header-top-inside" class="clearfix">
-            <div class="row">
-            
-                        <div class="col-md-8">
-                <!-- #header-top-left -->
-                <div id="header-top-left" class="clearfix">
-                      <div class="region region-header-top-left">
-    <div id="block-menu-secondary-menu" class="block block-menu clearfix">
-
-    
-  <div class="content">
-    <ul class="menu"><li class="first leaf"><a href="/" title="">Home</a></li>
-<li class="leaf"><a href="/blog" title="">From the Board</a></li>
-<li class="leaf"><a href="/contact" title="">Contact</a></li>
-<li class="last leaf"><a href="/civicrm/contribute/transact?reset=1&amp;id=2" title="">Donate</a></li>
-</ul>  </div>
-</div>
-  </div>
-                </div>
-                <!-- EOF:#header-top-left -->
-            </div>
-                        
-                        <div class="col-md-4">
-                <!-- #header-top-right -->
-                <div id="header-top-right" class="clearfix">
-                      <div class="region region-header-top-right">
-    <div id="block-search-form" class="block block-search clearfix">
-
-    
-  <div class="content">
-    <form action="/licenses/mit-license.php" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
-      <h2 class="element-invisible">Search form</h2>
-    <div class="form-item form-type-textfield form-item-search-block-form">
- <input onblur="if (this.value == &#039;&#039;) {this.value = &#039;Search this website...&#039;;}" onfocus="if (this.value == &#039;Search this website...&#039;) {this.value = &#039;&#039;;}" type="text" id="edit-search-block-form--2" name="search_block_form" value="Search this website..." size="15" maxlength="128" class="form-text" />
-</div>
-<div class="form-actions form-wrapper" id="edit-actions"><input value="" type="submit" id="edit-submit" name="op" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-aB5V1er92LvWOShUqnFr3ohElMRQIZsrGOx3rJziFwQ" />
-<input type="hidden" name="form_id" value="search_block_form" />
-</div>
-</div></form>  </div>
-</div>
-  </div>
-                </div>
-                <!-- EOF:#header-top-right -->
-            </div>
-                        
-            </div>
-        </div>
-        <!-- EOF: #header-top-inside -->
-
-    </div>
-</div>
-<!-- EOF: #header-top -->    
-
-<!-- header -->
-<header id="header" role="banner" class="clearfix">
-    <div class="container">
-
-        <!-- #header-inside -->
-        <div id="header-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-8">
-
-                                <div id="logo">
-                <a href="/" title="Home" rel="home"> <img src="http://opensource.org/files/osi_keyhole_300X300_90ppi_0.png" alt="Home" /> </a>
-                </div>
-                
-                                <div id="site-name">
-                <a href="/" title="Home">Open Source Initiative</a>
-                </div>
-                                
-                                
-                </div>
-                
-                <div class="col-md-4">
-                
-                
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #header-inside -->
-
-    </div>
-</header>
-<!-- EOF: #header --> 
-
-<!-- #main-navigation --> 
-<div id="main-navigation" class="clearfix">
-    <div class="container">
-
-        <!-- #main-navigation-inside -->
-        <div id="main-navigation-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-12">
-                    <nav role="navigation">
-                                                  <div class="region region-navigation">
-    <div id="block-superfish-1" class="block block-superfish clearfix">
-
-    
-  <div class="content">
-    <ul id="superfish-1" class="menu sf-menu sf-navigation sf-horizontal sf-style-none sf-total-items-6 sf-parent-items-6 sf-single-items-0"><li id="menu-37-1" class="first odd sf-item-1 sf-depth-1 sf-total-children-4 sf-parent-children-2 sf-single-children-2 menuparent"><a href="/about" title="About the Open Source Initiative" class="sf-depth-1 menuparent">About</a><ul><li id="menu-75-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/history" title="History of the OSI" class="sf-depth-2">History</a></li><li id="menu-82-1" class="middle even sf-item-2 sf-depth-2 sf-total-children-7 sf-parent-children-0 sf-single-children-7 menuparent"><a href="/board" title="Board of Directors" class="sf-depth-2 menuparent">Board</a><ul><li id="menu-83-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/docs/board-annotated" title="OSI Board -- With Annotations" class="sf-depth-3">Board - Annotated</a></li><li id="menu-96-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/minutes" title="Public Minutes of Board Meetings" class="sf-depth-3">Minutes</a></li><li id="menu-185-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/organization" title="These portfolios represent the activities of the current OSI board." class="sf-depth-3">Organization &amp; Operations</a></li><li id="menu-95-1" class="middle even sf-item-4 sf-depth-3 sf-no-children"><a href="/articles-of-incorporation" title="OSI incorporation record" class="sf-depth-3">Articles of Incorporation</a></li><li id="menu-1475-1" class="middle odd sf-item-5 sf-depth-3 sf-no-children"><a href="/elections" class="sf-depth-3">Board Elections</a></li><li id="menu-84-1" class="middle even sf-item-6 sf-depth-3 sf-no-children"><a href="/bylaws" title="Bylaws of the Open Source Initiative" class="sf-depth-3">Bylaws</a></li><li id="menu-1317-1" class="last odd sf-item-7 sf-depth-3 sf-no-children"><a href="/conflict_of_interest_policy" title="" class="sf-depth-3">Conflict of Interest</a></li></ul></li><li id="menu-1843-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/trademark" title="" class="sf-depth-2 menuparent">Trademark &amp; Logo</a><ul><li id="menu-184-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/trademark-guidelines" title="OSI&#039;s Trademark Policy" class="sf-depth-3">Trademark Guidelines</a></li><li id="menu-183-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/logo-usage-guidelines" title="Guidelines for appearance and usage of OSI Logo" class="sf-depth-3">Logo Guidelines</a></li></ul></li><li id="menu-126-1" class="last even sf-item-4 sf-depth-2 sf-no-children"><a href="/ToS" title="Rules for posting content on this site" class="sf-depth-2">Terms of Service</a></li></ul></li><li id="menu-65-1" class="middle even sf-item-2 sf-depth-1 sf-total-children-5 sf-parent-children-3 sf-single-children-2 menuparent"><a href="/licenses" class="sf-depth-1 menuparent">Licenses &amp; Standards</a><ul><li id="menu-61-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/osd" title="The actual OSD defining what constitutes an Open Source licence" class="sf-depth-2 menuparent">Open Source Definition</a><ul><li id="menu-62-1" class="firstandlast odd sf-item-1 sf-depth-3 sf-no-children"><a href="/osd-annotated" title="The OSD with explationations and rationale interspersed." class="sf-depth-3">OSD - Annotated</a></li></ul></li><li id="menu-77-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/licenses/category" title="Licenses by Category" class="sf-depth-2">Licenses by Category</a></li><li id="menu-72-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/licenses/alphabetical" title="Licenses that are approved by the OSI as conforming to the OSD" class="sf-depth-2">Licenses by Name</a></li><li id="menu-66-1" class="middle even sf-item-4 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/approval" title="Certifying licences as OSD-compliant" class="sf-depth-2 menuparent">License Review Process</a><ul><li id="menu-67-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/proliferation" title="Supporting choice while maintaining sanity" class="sf-depth-3">Licence Proliferation</a></li><li id="menu-69-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/proliferation-report" title="License Proliferation Committee&#039;s report to the OSI Board" class="sf-depth-3">LP report to the Board</a></li></ul></li><li id="menu-99-1" class="last odd sf-item-5 sf-depth-2 sf-total-children-4 sf-parent-children-0 sf-single-children-4 menuparent"><a href="/osr-intro" title="Open Standards Requirement for Software" class="sf-depth-2 menuparent">Open Standards</a><ul><li id="menu-101-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/osr" title="An &quot;open standard&quot; must not prohibit conforming implementations in open source software." class="sf-depth-3">The Open Standards Requirement</a></li><li id="menu-102-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/osr-compliance" class="sf-depth-3">Open Standards Requirement Compliance</a></li><li id="menu-100-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/osr-rationale" class="sf-depth-3">Open Standards Requirement Rationale</a></li><li id="menu-103-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="/osr-faq" title="Frequently asked questions about the Open Standards Requirement" class="sf-depth-3">OSR Frequently Asked Questions</a></li></ul></li></ul></li><li id="menu-1842-1" class="middle odd sf-item-3 sf-depth-1 sf-total-children-3 sf-parent-children-2 sf-single-children-1 menuparent"><a href="/membership" title="Page for our various membership programs" class="sf-depth-1 menuparent">Membership</a><ul><li id="menu-914-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/members" class="sf-depth-2 menuparent">Individuals</a><ul><li id="menu-897-1" class="firstandlast odd sf-item-1 sf-depth-3 sf-no-children"><a href="/civicrm/contribute/transact?reset=1&amp;id=1" title="" class="sf-depth-3">Join</a></li></ul></li><li id="menu-675-1" class="middle even sf-item-2 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/affiliates" title="Home page for OSI&#039;s membership scheme for non-profits and not-for-profits" class="sf-depth-2 menuparent">Affiliates</a><ul><li id="menu-676-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/affiliates/about" title="" class="sf-depth-3">Become an Affiliate</a></li><li id="menu-677-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/affiliates/list" title="Full list of non-profits and not-for-profits affiliated to OSI" class="sf-depth-3">List of Affiliates</a></li></ul></li><li id="menu-1436-1" class="last odd sf-item-3 sf-depth-2 sf-no-children"><a href="/sponsors" class="sf-depth-2">Sponsors &amp; Support</a></li></ul></li><li id="menu-1841-1" class="middle even sf-item-4 sf-depth-1 sf-total-children-4 sf-parent-children-1 sf-single-children-3 menuparent"><a href="/community" title="Page for our various community members." class="sf-depth-1 menuparent">Community</a><ul><li id="menu-63-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/lists" title="The virtual committees where the OSI&#039;s work gets done" class="sf-depth-2 menuparent">Mailing lists</a><ul><li id="menu-78-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/codeofconduct" title="Guidelines for OSI Mailing Lists" class="sf-depth-3">General Code of Conduct</a></li><li id="menu-1072-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/codeofconduct/licensing" class="sf-depth-3">Licensing Code of Conduct</a></li></ul></li><li id="menu-2032-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/volunteers" class="sf-depth-2">Volunteers</a></li><li id="menu-1846-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="http://wiki.opensource.org" title="" class="sf-depth-2">Wiki</a></li><li id="menu-1524-1" class="last even sf-item-4 sf-depth-2 sf-no-children"><a href="/store" title="" class="sf-depth-2">OSI Store</a></li></ul></li><li id="menu-1840-1" class="middle odd sf-item-5 sf-depth-1 sf-total-children-6 sf-parent-children-1 sf-single-children-5 menuparent"><a href="/resources" title="Page offering resources to OSI personas" class="sf-depth-1 menuparent">Resources</a><ul><li id="menu-342-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/faq" title="Frequently Asked Questions about open source and about the OSI." class="sf-depth-2">FAQ</a></li><li id="menu-38-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/blog" title="A group blog / aggregation point for OSI Board Member blogs" class="sf-depth-2">OSI Board Blog</a></li><li id="menu-45-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/help" title="Resources for questions and further exploration" class="sf-depth-2 menuparent">Getting Help</a><ul><li id="menu-76-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/links" title="Links and References to Open Source" class="sf-depth-3">Bibliography</a></li><li id="menu-125-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/advocacy/case_for_business.php" title="How to advocate Open Source to businesses" class="sf-depth-3">Open Source Case for Business</a></li></ul></li><li id="menu-1845-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/newsletters" title="Index of newsletters" class="sf-depth-2">Newsletters</a></li><li id="menu-1514-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/working_groups" class="sf-depth-2">Working Groups</a></li><li id="menu-12-1" class="last even sf-item-6 sf-depth-2 sf-no-children"><a href="/osi-open-source-education" title="OSI&#039;s Open Source Education Initiative and Activities" class="sf-depth-2">Open Source Education</a></li></ul></li><li id="menu-1844-1" class="last even sf-item-6 sf-depth-1 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/news" title="Page dedicated to the latest news and events." class="sf-depth-1 menuparent">News &amp; Events</a><ul><li id="menu-1999-1" class="firstandlast odd sf-item-1 sf-depth-2 sf-no-children"><a href="/events" class="sf-depth-2">Events</a></li></ul></li></ul>  </div>
-</div>
-  </div>
-                                            </nav>
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #main-navigation-inside -->
-
-    </div>
-</div>
-<!-- EOF: #main-navigation -->
-
-
-<!-- #page -->
-<div id="page" class="clearfix">
-    
-    
-    <!-- #main-content -->
-    <div id="main-content">
-        <div class="container">
-        
-            <!-- #messages-console -->
-                        <!-- EOF: #messages-console -->
-            
-            <div class="row">
-
-                
-
-                <section class="col-md-12">
-
-                    <!-- #main -->
-                    <div id="main" class="clearfix">
-                    
-                        
-                        
-                        <!-- EOF:#content-wrapper -->
-                        <div id="content-wrapper">
-
-                                                                                    <h1 class="page-title">The MIT License (MIT)</h1>
-                                                        
-                                                  
-                            <!-- #tabs -->
-                                                            <div class="tabs">
-                                                                </div>
-                                                        <!-- EOF: #tabs -->
-
-                            <!-- #action links -->
-                                                        <!-- EOF: #action links -->
-
-                              <div class="region region-content">
-    <div id="block-system-main" class="block block-system clearfix">
-
-    
-  <div class="content">
-    <article id="node-66" class="node node-page clearfix">
-
-  
-  <div class="content">
-    <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>
-<a href="https://tldrlegal.com/license/mit-license" style="color:rgb(92, 138, 208) !important;">
-View Summary of <b>MIT License</b> on TLDRLegal »
-</a>
-<a href="/node/778"><b>(Disclaimer)</b></a>
-</p>
-
-<h1>The MIT License (MIT)</h1>
-
-<pre>
-<p>Copyright (c) &lt;year&gt; &lt;copyright holders&gt;</p>
-
-<p>Permission is hereby granted, free of charge, to any person obtaining a copy
+Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:</p>
+furnished to do so, subject to the following conditions:
 
-<p>The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.</p>
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
 
-<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.</p>
-
-</pre>
-</div></div></div>  </div>
-    
-     
-
-  
-</article>  </div>
-</div>
-  </div>
-                            
-                        </div>
-                        <!-- EOF:#content-wrapper -->
-
-                    </div>
-                    <!-- EOF:#main -->
-
-                </section>
-
-                        
-            </div>
-
-        </div>
-    </div>
-    <!-- EOF:#main-content -->
-
-    
-</div>
-<!-- EOF:#page -->
-
-
-<footer id="subfooter" class="clearfix">
-    <div class="container">
-        
-        <!-- #subfooter-inside -->
-        <div id="subfooter-inside" class="clearfix">
-            <div class="row">
-                <div class="col-md-12">
-                    <!-- #subfooter-left -->
-                    <div class="subfooter-area">
-                                            
-
-                                          <div class="region region-footer">
-    <div id="block-block-11" class="block block-block clearfix">
-
-    
-  <div class="content">
-    <div class="filler" style="vertical-align: middle; display: inline-block;">
-<p style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;">
-<a href="https://twitter.com/OpenSourceOrg" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/twitterlogo.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="https://plus.google.com/+opensourceinitiative" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/google.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="https://www.linkedin.com/company/open-source-initiative-osi-" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/linkedin.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="http://wiki.opensource.org" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/xwikilogo.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<a href="http://creativecommons.org/licenses/by/4.0/" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;"><img src="/files/ccby.png" width="50" style="margin: 0pt auto; display: table-cell; text-align: center; vertical-align: middle;" /></a>
-
-<script id="fbwiuwz">
-<!--//--><![CDATA[// ><!--
-(function(i){var f,s=document.getElementById(i);f=document.createElement('iframe');f.src='//api.flattr.com/button/view/?uid=osi&url=http%3A%2F%2Fopensource.org';f.title='Flattr';f.height=70;f.width=70;f.style.borderWidth=0;s.parentNode.insertBefore(f,s);})('fbwiuwz');
-//--><!]]>
-</script></p>
-</div>
-
-<br /><div class="license" style="vertical-align: middle; display: inline-block;">
-<p>
-Opensource.org site content is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
-</p>
-<p>
-<a href="../ToS">Terms of Service</a>
-</p>
-</div>
-  </div>
-</div>
-<div id="block-block-7" class="block block-block clearfix">
-
-    
-  <div class="content">
-    <script src="https://www.google-analytics.com/urchin.js" type="text/javascript">
-<!--//--><![CDATA[// ><!--
-
-
-//--><!]]>
-</script><script type="text/javascript">
-<!--//--><![CDATA[// ><!--
-
-_uacct = "UA-3916956-1";
-urchinTracker();
-
-//--><!]]>
-</script>  </div>
-</div>
-  </div>
-                    
-                    </div>
-                    <!-- EOF: #subfooter-left -->
-                </div>
-            </div>
-        </div>
-        <!-- EOF: #subfooter-inside -->
-    
-    </div>
-</footer>
-<!-- EOF:#subfooter -->
-  </body>
-</html>
\ No newline at end of file
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/nbbuild/licenses/freemarker b/nbbuild/licenses/freemarker
deleted file mode 100644
index 6fa8f42..0000000
--- a/nbbuild/licenses/freemarker
+++ /dev/null
@@ -1,46 +0,0 @@
-FreeMarker 1.x was released under the LGPL license. Later, by community
-consensus, we have switched over to a BSD-style license. As of FreeMarker
-2.2pre1, the original author, Benjamin Geer, has relinquished the copyright in
-behalf of Visigoth Software Society. The current copyright holder is the
-Visigoth Software Society.
-
-------------------------------------------------------------------------------
-Copyright (c) 2003 The Visigoth Software Society. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1.  Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
-2.  The end-user documentation included with the redistribution, if any, must
-    include the following acknowlegement:
-      "This product includes software developed by the
-      Visigoth Software Society (http://www.visigoths.org/)."
-    Alternately, this acknowlegement may appear in the software itself, if and
-    wherever such third-party acknowlegements normally appear.
-
-3.  Neither the name "FreeMarker", "Visigoth", nor any of the names of the
-    project contributors may be used to endorse or promote products derived
-    from this software without prior written permission. For written
-    permission, please contact visigoths@visigoths.org.
-
-4.  Products derived from this software may not be called "FreeMarker" or
-    "Visigoth" nor may "FreeMarker" or "Visigoth" appear in their names
-    without prior written permission of the Visigoth Software Society.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-VISIGOTH SOFTWARE SOCIETY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-------------------------------------------------------------------------------
-This software consists of voluntary contributions made by many individuals on
-behalf of the Visigoth Software Society. For more information on the Visigoth
-Software Society, please see http://www.visigoths.org/
diff --git a/nbbuild/templates/common.xml b/nbbuild/templates/common.xml
index 828bab1..f9ba6c9 100644
--- a/nbbuild/templates/common.xml
+++ b/nbbuild/templates/common.xml
@@ -621,8 +621,8 @@
             <depend srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" cache="${build.test.@{test.type}.dir}/depcache">
                 <classpath refid="test.@{test.type}.cp"/>
             </depend>
-            <property name="test.excludes" value=""/> <!-- # 113770 -->
-            <nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" excludes="${test.excludes}"
+            <property name="test.javac.excludes" value=""/> <!-- # 113770 -->
+            <nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" excludes="${test.javac.excludes}"
                       debug="true" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
                       source="${javac.source}" target="${javac.target}" optimize="${build.compiler.optimize}" includeantruntime="false">
                 <classpath refid="test.@{test.type}.cp"/>
diff --git a/nbi/engine/src/org/netbeans/installer/utils/FileUtils.java b/nbi/engine/src/org/netbeans/installer/utils/FileUtils.java
index f31193d..4b1b116 100644
--- a/nbi/engine/src/org/netbeans/installer/utils/FileUtils.java
+++ b/nbi/engine/src/org/netbeans/installer/utils/FileUtils.java
@@ -51,9 +51,6 @@
 import java.util.Set;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Pack200;
-import java.util.jar.Pack200.Unpacker;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.CRC32;
@@ -78,8 +75,7 @@
 public final class FileUtils {
     /////////////////////////////////////////////////////////////////////////////////
     // Static
-    private final static Unpacker unpacker = Pack200.newUnpacker();
-
+    
     // file/stream read/write ///////////////////////////////////////////////////////
     public static String readFile(
             final File file, String charset) throws IOException {
@@ -1169,140 +1165,6 @@
         }
     }
     
-    // pack200/unpack200 ////////////////////////////////////////////////////////////
-    public static File pack(
-            final File source) throws IOException {
-        final File target = new File(source.getParentFile(),
-                source.getName() + PACK_GZ_SUFFIX);
-        if(SystemUtils.isWindows() && source.getAbsolutePath().length() > 255) {
-            /*
-             * WORKAROUND for two issues (and 6612389 in BugTrack):
-             * http://www.netbeans.org/issues/show_bug.cgi?id=96548
-             * http://www.netbeans.org/issues/show_bug.cgi?id=97984
-             * The issue is that unpack200/pack200 doesn`t support long path names
-             * Copy source to tmp dir, unpack it there and copy to target.
-             */
-            File tmpSource = null;
-            File tmpTarget = null;
-            try {
-                tmpSource = File.createTempFile(source.getName(), ".jar");
-                copyFile(source, tmpSource);
-                tmpTarget = pack(tmpSource);
-                deleteFile(tmpSource);
-                tmpSource = null;
-                copyFile(tmpTarget,target);
-                deleteFile(tmpTarget);
-                tmpTarget = null;
-            } finally {
-                if(tmpSource!=null) {
-                    deleteFile(tmpSource);
-                }
-                if(tmpTarget!=null) {
-                    deleteFile(tmpTarget);
-                }
-            }
-        } else {
-            ExecutionResults er = SystemUtils.executeCommand(
-                    SystemUtils.getPacker().getAbsolutePath(),
-                    target.getAbsolutePath(),
-                    source.getAbsolutePath());
-            if( er.getErrorCode() != 0) {
-                throw new IOException(ResourceUtils.getString(FileUtils.class,
-                        ERROR_PACK200_FAILED_KEY,
-                        er.getErrorCode(), er.getStdOut(),er.getStdErr()));
-            }
-        }
-        
-        return target;
-    }
-    
-    public static File unpack(
-            final File source) throws IOException {
-        final String name = source.getName();
-        final File target = new File(source.getParentFile(),
-                name.substring(0, name.length() - PACK_GZ_SUFFIX.length()));
-
-        if(SystemUtils.isWindows() && source.getAbsolutePath().length() > 255) {
-            /*
-             * WORKAROUND for two issues (and 6612389 in BugTrack):
-             * http://www.netbeans.org/issues/show_bug.cgi?id=96548
-             * http://www.netbeans.org/issues/show_bug.cgi?id=97984
-             * The issue is that unpack200/pack200 doesn`t support long path names
-             * Copy source to tmp dir, unpack it there and copy to target.
-             */
-            File tmpSource = null;
-            File tmpTarget = null;
-            try {
-                tmpSource = File.createTempFile(target.getName(),
-                        ".tmp" + PACK_GZ_SUFFIX);
-                copyFile(source, tmpSource);
-                tmpTarget = unpack(tmpSource);
-                deleteFile(tmpSource);
-                tmpSource = null;
-                copyFile(tmpTarget,target);
-                deleteFile(tmpTarget);
-                tmpTarget = null;
-            } finally {
-                if(tmpSource!=null) {
-                    deleteFile(tmpSource);
-                }
-                if(tmpTarget!=null) {
-                    deleteFile(tmpTarget);
-                }
-            }
-        } else if((System.getProperty("os.name").equals("AIX") && 
-                   System.getProperty("java.version").startsWith("1.6")) ||
-                   Boolean.getBoolean(USE_INTERNAL_UNPACK200_PROPERTY)) {
-            //workaround the bug when unpack200 command from Java6 on AIX corrupts the jar
-            //by using inverting zip magic numbers
-            unpack200Internal(source, target);
-        } else {
-            ExecutionResults er = SystemUtils.executeCommand(
-                    SystemUtils.getUnpacker().getAbsolutePath(),
-                    source.getAbsolutePath(),
-                    target.getAbsolutePath());
-            int errorCode = er.getErrorCode();
-            if (errorCode != 0) {
-                if(errorCode == -1073741801 || errorCode == -1073741502) {
-                    // Workaround for the issue in lvprcsrv.exe process
-                    // http://www.netbeans.org/issues/show_bug.cgi?id=117334
-                    // http://www.netbeans.org/issues/show_bug.cgi?id=165319
-                    LogManager.log("\n\n");
-                    LogManager.log("Attention!");
-                    LogManager.log("You have run into the Issue 117334");
-                    LogManager.log("http://www.netbeans.org/issues/show_bug.cgi?id=117334");
-                    LogManager.log("This is the result of error in process lvprcsrv.exe (Logitech QuickCam)");
-                    LogManager.log("You should turn it off if you have had any issues during installations");
-                    LogManager.log("\n\n");
-                } else {
-                    throw new IOException(ResourceUtils.getString(FileUtils.class,
-                            ERROR_UNPACK200_FAILED_KEY,
-                            errorCode, er.getStdOut(),er.getStdErr()));
-                }
-            }
-        }
-        return target;
-    }
-
-    private static void unpack200Internal (File source, File target) throws IOException {
-        InputStream is = null;
-        JarOutputStream os = null;
-        try {
-            //Unpacker has memory leaks so use with care
-            LogManager.log("unpacking " + source);
-            is = new GZIPInputStream(new FileInputStream(source));
-            os = new JarOutputStream(new FileOutputStream(target));
-            unpacker.unpack(is, os);
-        } finally {
-            if(is!=null) {
-                is.close();
-            }
-            if(os!=null) {
-                os.close();
-            }
-        }
-    }
-    
     // miscellaneous ////////////////////////////////////////////////////////////////
     public static FilesList mkdirs(
             final File file) throws IOException {
@@ -1826,23 +1688,6 @@
                     }
                 }
                 
-                if (listEntry.isPackedJarFile()) {
-                    final File packed   = listEntry.getFile();;
-                    final File unpacked = unpack(packed);
-                    
-                    deleteFile(packed);
-                    
-                    listEntry = new FileEntry(
-                            unpacked,
-                            listEntry.getSize(),
-                            listEntry.getMd5(),
-                            listEntry.isJarFile(),
-                            false,
-                            listEntry.isSignedJarFile(),
-                            listEntry.getLastModified(),
-                            listEntry.getPermissions());
-                }
-                
                 listEntryFile.setLastModified(listEntry.getLastModified());
                 
                 SystemUtils.setPermissions(
@@ -2082,10 +1927,4 @@
     public static final String MESSAGE_DELETE_DIR =
             ResourceUtils.getString(FileUtils.class,
             "FU.message.delete.dir");//NOI18N
-    public static final String ERROR_PACK200_FAILED_KEY =
-            "FU.error.pack200.failed";//NOI18N
-    public static final String ERROR_UNPACK200_FAILED_KEY =
-            "FU.error.unpack200.failed";//NOI18N
-    public static final String USE_INTERNAL_UNPACK200_PROPERTY =
-            "nbi.use.internal.unpack200";//NOI18N
 }
diff --git a/nbi/engine/src/org/netbeans/installer/utils/SystemUtils.java b/nbi/engine/src/org/netbeans/installer/utils/SystemUtils.java
index baa69f3..22c1f74 100644
--- a/nbi/engine/src/org/netbeans/installer/utils/SystemUtils.java
+++ b/nbi/engine/src/org/netbeans/installer/utils/SystemUtils.java
@@ -134,22 +134,6 @@
                 osArch.equals("ppc64");
     }
     
-    public static File getPacker() {
-        if (isWindows()) {
-            return new File(getCurrentJavaHome(), "bin/pack200.exe");
-        } else {
-            return new File(getCurrentJavaHome(), "bin/pack200");
-        }
-    }
-    
-    public static File getUnpacker() {
-        if (isWindows()) {
-            return new File(getCurrentJavaHome(), "bin/unpack200.exe");
-        } else {
-            return new File(getCurrentJavaHome(), "bin/unpack200");
-        }
-    }
-    
     public static String getLineSeparator() {
         return LINE_SEPARATOR;
     }
diff --git a/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/Package.java b/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/Package.java
index 5342f8b..25b3b23 100644
--- a/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/Package.java
+++ b/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/Package.java
@@ -218,109 +218,7 @@
                 
                 browse(child, output, offset);
             } else {
-                // if pack200.enabled property is set to false then disable packing
-                // otherwise do repacking
-                boolean packedProp = false;                
-                final String pack200Enabled = getProject().getProperty("pack200.enabled"); //NOI18N
-                boolean usePacking = ! "false".equals(pack200Enabled); //NOI18N
-                
-                boolean mirrorFileExist = false;
-                File mirrorFile = null;
-                if (child.getName().endsWith(".jar.pack.gz")) {
-                    mirrorFile = new File(child.getParentFile(), child.getName().substring(0, child.getName().length() - (".pack.gz".length())));
-                } else if (child.getName().endsWith(".jar")) {
-                    mirrorFile = new File(child + ".pack.gz");
-                }
-
-                if (mirrorFile != null && mirrorFile.exists()) {
-                    log("        mirror packing files exists, skipping repacking : " + mirrorFile);
-                    mirrorFileExist = true;
-                    usePacking = false;
-                }									
-
-                // if the source file comes in already packed, we need to unpack it
-                // first and then process normally                
-                if (!mirrorFileExist && child.getName().endsWith(".jar.pack.gz")) { // NOI18N
-                    if(usePacking) {
-                        log("        it is a packed jar - unpacking"); // NOI18N
-                        File unpacked = new File(child.getPath().substring(
-                                0,
-                                child.getPath().length() - 8));
-                        File temp = null;
-                        
-                        if (unpacked.exists()) {
-                            temp = File.createTempFile(
-                                    "xxx", // NOI18N
-                                    null,
-                                    child.getParentFile());
-                            temp.delete();
-                            unpacked.renameTo(temp);
-                        }
-                        
-                        if (Utils.unpack(child, unpacked)) {
-                            child.delete();
-                            if (temp != null) {
-                                temp.delete();
-                            }
-                            child = unpacked.getAbsoluteFile();
-                            
-                            log("        successfully unpacked - processing " + // NOI18N
-                                    "file: " + getShortPath(child,offset)); // NOI18N
-                        } else {
-                            unpacked.delete();
-                            if (temp != null) {
-                                temp.renameTo(unpacked);
-                            }
-                        }
-                    } else {
-                        packedProp = true;
-                    }
-                }
                 entry = new FileEntry(child, name);
-                if(packedProp) {
-                    entry.setJarFile(true);
-                    entry.setPackedJarFile(true);
-                }
-                
-                if(usePacking && entry.isJarFile() && !entry.isSignedJarFile()) {
-                    File backup = new File(child.getPath() + ".bak"); // NOI18N
-                    File packed = new File(child.getPath() + ".pack.gz"); // NOI18N
-                    
-                    // if the packed form of this jar already exists, we need to
-                    // clean it up
-                    if (packed.exists()) {
-                        log("        packed jar already exists - " + // NOI18N
-                                "deleting it"); // NOI18N
-                        packed.delete();
-                        toSkip.add(packed);
-                    }
-                    
-                    Utils.copy(child, backup);
-                    
-                    if (Utils.pack(child, packed) &&
-                            Utils.unpack(packed, child) &&
-                            Utils.verifyJad(child) &&
-                            Utils.verify(child)) {
-                        name  = packed.getPath().
-                                substring(offset + 1).replace('\\', '/');   // NOMAGI
-                        
-                        entry = new FileEntry(child, name);
-                        entry.setJarFile(true);
-                        entry.setPackedJarFile(true);
-                        entry.setSignedJarFile(false);
-                        
-                        child.delete();
-                        backup.delete();
-                        
-                        child = packed;
-                    } else {
-                        Utils.copy(backup, child);
-                        
-                        packed.delete();
-                        backup.delete();
-                    }                    
-                }
-                
                 log("        archiving file: " + name); // NOI18N
                 jarEntry = new JarEntry(name);
                 jarEntry.setTime(entry.getLastModified());
diff --git a/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/utils/Utils.java b/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/utils/Utils.java
index 1b629fd..042be6d 100644
--- a/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/utils/Utils.java
+++ b/nbi/infra/build/.ant-lib/src/org/netbeans/installer/infra/build/ant/utils/Utils.java
@@ -41,10 +41,6 @@
 import java.util.Stack;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Pack200;
-import java.util.jar.Pack200.Packer;
-import java.util.jar.Pack200.Unpacker;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.GZIPInputStream;
@@ -61,8 +57,6 @@
 public final class Utils {
     /////////////////////////////////////////////////////////////////////////////////
     // Static
-    private final static Packer packer = Pack200.newPacker();
-    private final static Unpacker unpacker = Pack200.newUnpacker();
     /**
      * The current ant project. Some of its methods will get called in process of
      * the executions of some of the utility procedures. Thus the ant tasks using the
@@ -72,8 +66,6 @@
     private static byte[] buffer = new byte[102400];
     
     private static Project project = null;
-    private static boolean useInternalPacker = false;
-    private static boolean useInternalUnpacker = false;
 
     private static boolean tarInitialized = false;
 
@@ -91,17 +83,6 @@
      */
     public static void setProject(final Project project) {
         Utils.project = project;
-        useInternalPacker = "true".equals(project.getProperty("use.internal.packer"));
-        useInternalUnpacker = "true".equals(project.getProperty("use.internal.unpacker"));
-        xmx = ARG_PREFIX + XMX_ARG + project.getProperty("pack200.xmx");
-        permSize = ARG_PREFIX + PERM_SIZE_ARG + project.getProperty("pack200.perm.size");
-        maxPermSize = ARG_PREFIX + MAX_PERM_SIZE_ARG + project.getProperty("pack200.max.perm.size");
-        String output = "use.internal.packer? " + useInternalPacker;
-        if (project != null) {
-            project.log("            " + output);
-        } else {
-            System.out.println(output);
-        }
     }
     
     /**
@@ -199,140 +180,6 @@
     }
 
     /**
-     * Packs the given jar archive using the pack200 utility.
-     *
-     * @param source Jar archive to pack.
-     * @param target File which should become the packed jar archive.
-     * @return The target file, i.e. the packed jar archive.
-     * @throws java.io.IOException if an I/O error occurs.
-     */
-    public static boolean pack(
-            final File source,
-            final File target) throws IOException {
-        return useInternalPacker ? packInternally(source,target) : packExternally(source,target);        
-    }
-    
-    private static boolean packExternally(
-            final File source,
-            final File target) throws IOException {
-        boolean result;
-        
-        
-            String output = "Calling pack200(" + getPackerExecutable() + ") on " + source + " to " + target;
-            if (project != null) {
-                project.log("            " + output);
-            } else {
-                System.out.println(output);
-            }
-
-        Results results = run(
-                getPackerExecutable(),
-                xmx,
-                permSize,
-                maxPermSize,
-                target.getAbsolutePath(),
-                source.getAbsolutePath());
-        
-        if (results.getExitcode() == 0) {
-            result = true;
-        } else {
-            System.out.println(results.getStdout());
-            System.out.println(results.getStderr());
-            System.out.println(results.getExitcode());
-            result = false;
-        }
-        
-        if (result == true) {
-            target.setLastModified(source.lastModified());
-        }
-        
-        return result;
-    }
-    @SuppressWarnings("CallToThreadDumpStack")
-    public static boolean packInternally(final File source,
-            final File target) throws IOException {
-        try {
-            JarFile jarFile = new JarFile(source);
-            FileOutputStream outputStream = new FileOutputStream(target);
-
-            
-            String output = "Packing jarFile: " + jarFile + " to " + target;
-            if (project != null) {
-                project.log("            " + output);
-            } else {
-                System.out.println(output);
-            }
-
-            packer.pack(jarFile, outputStream);
-
-            jarFile.close();
-            outputStream.close();
-            target.setLastModified(source.lastModified());
-        } catch (IOException exc) {
-            exc.printStackTrace();
-            return false;
-        }
-        return true;
-    }
-    /**
-     * Unpacks the given packed jar archive using the unpack200 utility.
-     *
-     * @param source Jar archive to unpack.
-     * @param target File to which the unpacked archive should be saved.
-     * @return The target file, i.e. the unpacked jar archive.
-     * @throws java.io.IOException if an I/O errors occurs.
-     */
-    
-     public static boolean unpack(
-            final File source,
-            final File target) throws IOException {
-        return useInternalUnpacker ? unpackInternally(source,target) : unpackExternally(source,target);        
-    }
-     
-    private static boolean unpackExternally(
-            final File source,
-            final File target) throws IOException {
-        boolean result;
-        
-        
-        Results results = run(
-                getUnPackerExecutable(),
-                xmx,
-                permSize,
-                maxPermSize,
-                source.getAbsolutePath(),
-                target.getAbsolutePath());
-        
-        if (results.getExitcode() == 0) {
-            result = true;
-        } else {
-            System.out.println(results.getStdout());
-            System.out.println(results.getStderr());
-            System.out.println(results.getExitcode());
-            result = false;
-        }
-        
-        if (result == true) {
-            target.setLastModified(source.lastModified());
-        }
-        
-        return result;
-    }
-    @SuppressWarnings("CallToThreadDumpStack")
-    public static boolean unpackInternally(final File source,
-            final File target) throws IOException {
-        try {
-            JarOutputStream os = new JarOutputStream(new FileOutputStream(target));
-            unpacker.unpack(source, os);
-            os.close();
-            target.setLastModified(source.lastModified());
-        } catch (IOException exc) {
-            exc.printStackTrace();
-            return false;
-        }
-        return true;
-    }
-    /**
      * Verifies that the jar archive is correct. This method tries to access all
      * jar archive entries and to load all the classes.
      *
@@ -1096,12 +943,6 @@
         return handleProcess(process);
     }
     
-    public static String getPackerExecutable() {
-        return getExecutable(PACKER_EXECUTABLE_PROPERTY, PACKER_EXECUTABLE);
-    }
-    public static String getUnPackerExecutable() {
-        return getExecutable(UNPACKER_EXECUTABLE_PROPERTY, UNPACKER_EXECUTABLE);
-    }
     public static String getLsExecutable() {
         final String value = project.getProperty(LS_EXECUTABLE_PROPERTY);
         return (value == null || value.equals("")) ? findLsExecutable() : value;
@@ -1464,10 +1305,6 @@
     private static final String VERIFICATION_JAVA_EXECUTABLE = 
             JAVA_HOME_VALUE + File.separator + ((IS_WINDOWS) ? JAVA_EXE : JAVA);
     
-    private static final String PACKER_EXECUTABLE = JAVA_HOME_VALUE + 
-            ((IS_WINDOWS) ? "\\bin\\pack200.exe" : "/bin/pack200");//NOI18N
-    private static final String UNPACKER_EXECUTABLE = JAVA_HOME_VALUE + 
-            ((IS_WINDOWS) ? "\\bin\\unpack200.exe" : "/bin/unpack200");//NOI18N
     private static final String NATIVE_UNZIP_EXECUTABLE =
             (IS_WINDOWS) ? "unzip.exe" : "unzip"; //NOI18N
     private static final String NATIVE_TAR_EXECUTABLE =
@@ -1477,10 +1314,6 @@
     private static final String NATIVE_GNUTAR_EXECUTABLE =
             (IS_WINDOWS) ? "gnutar.exe" : "gnutar"; //NOI18N
 
-    public static final String PACKER_EXECUTABLE_PROPERTY = 
-            "pack200.executable";
-    public static final String UNPACKER_EXECUTABLE_PROPERTY = 
-            "unpack200.executable";
     public static final String TAR_EXECUTABLE_PROPERTY = 
             "tar.executable";
     public static final String UNZIP_EXECUTABLE_PROPERTY = 
diff --git a/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionQuery.java b/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionQuery.java
index b458bb1..1aa810f 100644
--- a/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionQuery.java
+++ b/php/php.smarty/src/org/netbeans/modules/php/smarty/editor/completion/TplCompletionQuery.java
@@ -91,9 +91,9 @@
             // first command contain main keyword
             ArrayList<TplCompletionItem> availableItems = new ArrayList<TplCompletionItem>(functionParams.get(commands.get(0)));
             // rest of them is just removed from codecompletion
-            Iterator it = availableItems.iterator();
+            Iterator<TplCompletionItem> it = availableItems.iterator();
             while (it.hasNext()) {
-                TplCompletionItem tplCompletionItem = (TplCompletionItem)it.next();
+                TplCompletionItem tplCompletionItem = it.next();
                 for (String command : commands) {
                     if (tplCompletionItem.getItemText().equals(command)) {
                         it.remove();
diff --git a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
index 4126ff9..288c1cd 100644
--- a/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
+++ b/platform/api.search/src/org/netbeans/modules/search/ui/ResultsOutlineCellRenderer.java
@@ -89,7 +89,6 @@
             ((JLabel) renderer).setHorizontalAlignment(SwingConstants.RIGHT);
             ((JLabel) renderer).setHorizontalTextPosition(SwingConstants.RIGHT);
         }
-        renderer.setForeground(Color.BLACK);
         return renderer;
     }
 
diff --git a/platform/autoupdate.services/libsrc/org/netbeans/updater/Localization.java b/platform/autoupdate.services/libsrc/org/netbeans/updater/Localization.java
index fa6b0db..96e7e61 100644
--- a/platform/autoupdate.services/libsrc/org/netbeans/updater/Localization.java
+++ b/platform/autoupdate.services/libsrc/org/netbeans/updater/Localization.java
@@ -152,9 +152,9 @@
             for( LocaleIterator li = new LocaleIterator( Locale.getDefault() ); li.hasNext(); ) {
                 String localeName = li.next().toString ();
                 // loop for clusters
-                Iterator it = UpdateTracking.clusters (true).iterator ();
+                Iterator<File> it = UpdateTracking.clusters (true).iterator ();
                 while (it.hasNext ()) {
-                    File cluster = (File)it.next ();
+                    File cluster = it.next();
                     File locJar = new File( cluster.getPath () + FILE_SEPARATOR + LOCALE_DIR + FILE_SEPARATOR + UPDATER_JAR + localeName + UPDATER_JAR_EXT );
                     if ( locJar.exists() ) {  // File exists
                         try {
diff --git a/platform/autoupdate.services/libsrc/org/netbeans/updater/UpdateTracking.java b/platform/autoupdate.services/libsrc/org/netbeans/updater/UpdateTracking.java
index b25f082..7fe46d4 100644
--- a/platform/autoupdate.services/libsrc/org/netbeans/updater/UpdateTracking.java
+++ b/platform/autoupdate.services/libsrc/org/netbeans/updater/UpdateTracking.java
@@ -854,10 +854,10 @@
             config.getParentFile().mkdirs();
             Boolean isAutoload = null;
             Boolean isEager = null;
-            java.util.Iterator it = newVersion.getFiles().iterator();
+            Iterator<ModuleFile> it = newVersion.getFiles().iterator();
             boolean needToWrite = false;
             while (it.hasNext()) {
-                ModuleFile f = (ModuleFile) it.next ();
+                ModuleFile f = it.next();
                 String n = f.getName();
                 String parentDir;
                 {
diff --git a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/ProjectColorTabDecorator.java b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/ProjectColorTabDecorator.java
index 28e8a04..06d2711 100644
--- a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/ProjectColorTabDecorator.java
+++ b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/ProjectColorTabDecorator.java
@@ -161,8 +161,16 @@
         }
         g.setColor( c );
         Rectangle rect = new Rectangle( tabRect );
-        rect.y += rect.height - 3;
-        rect.grow( -1, -1 );
+        int underlineHeight = UIManager.getInt("nb.multitabs.underlineHeight"); // NOI18N
+        if( underlineHeight > 0 ) {
+            // if the selected tab is highlighted with an "underline" (e.g. in FlatLaf)
+            // then paint the project color bar at the top of the tab
+            rect.height = underlineHeight;
+        } else {
+            // bottom project color bar
+            rect.y += rect.height - 3;
+            rect.grow( -1, -1 );
+        }
         g.fillRect( rect.x, rect.y, rect.width, rect.height );
     }
 
diff --git a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabDataRenderer.java b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabDataRenderer.java
index e6a62c2..1b36adf 100644
--- a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabDataRenderer.java
+++ b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabDataRenderer.java
@@ -58,6 +58,7 @@
     private static final Color underlineColor = UIManager.getColor("nb.multitabs.underlineColor"); // NOI18N
     private static final Color inactiveUnderlineColor = UIManager.getColor("nb.multitabs.inactiveUnderlineColor"); // NOI18N
     private static final Color activeBackground = UIManager.getColor("nb.multitabs.activeBackground"); // NOI18N
+    private static final Color hoverBackground = UIManager.getColor("nb.multitabs.hoverBackground"); // NOI18N
 
     private final RendererPanel renderer = new RendererPanel();
     private final List<TabDecorator> decorators = getDecorators();
@@ -97,6 +98,10 @@
                     icon = i;
                 }
             }
+            boolean isHover = (hoverBackground != null && TabTableUI.isHover(table, row, column));
+            if (isHover) {
+                colBackground = hoverBackground;
+            }
             renderer.label.setText( text );
             renderer.label.setIcon( icon );
             renderer.label.setFont( table.getFont() );
diff --git a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabTableUI.java b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabTableUI.java
index 38449b7..c6d60b7 100644
--- a/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabTableUI.java
+++ b/platform/core.multitabs/src/org/netbeans/core/multitabs/impl/TabTableUI.java
@@ -28,6 +28,7 @@
 import javax.swing.UIManager;
 import javax.swing.border.Border;
 import javax.swing.event.MouseInputListener;
+import javax.swing.plaf.TableUI;
 import javax.swing.plaf.basic.BasicTableUI;
 
 /**
@@ -37,7 +38,11 @@
 final class TabTableUI extends BasicTableUI {
 
     static final boolean IS_AQUA = "Aqua".equals( UIManager.getLookAndFeel().getID() );
-    
+
+    private boolean hoverSupport;
+    private int hoverRow = -1;
+    private int hoverColumn = -1;
+
     static Border createTabBorder( JTable table, int tabsLocation ) {
         if( IS_AQUA ) {
             return BorderFactory.createMatteBorder( 1, 0, 0, 0, table.getGridColor());
@@ -48,6 +53,15 @@
         return BorderFactory.createEmptyBorder();
     }
 
+    static boolean isHover( JTable table, int row, int column ) {
+        TableUI ui = table.getUI();
+        if( !(ui instanceof TabTableUI) )
+            return false;
+
+        TabTableUI tabUI = (TabTableUI) ui;
+        return tabUI.hoverRow == row && tabUI.hoverColumn == column;
+    }
+
     @Override
     protected void installDefaults() {
         super.installDefaults();
@@ -118,6 +132,8 @@
                 table.setSelectionForeground(selectedForeground);
             if (gridColor != null)
                 table.setGridColor(gridColor);
+
+            hoverSupport = UIManager.getColor("nb.multitabs.hoverBackground") != null; //NOI18N
         }
     }
 
@@ -163,6 +179,10 @@
             @Override
             public void mouseExited( MouseEvent e ) {
                 orig.mouseExited( e );
+
+                if (hoverSupport) {
+                    setHover( -1, -1 );
+                }
             }
 
             @Override
@@ -173,6 +193,31 @@
             @Override
             public void mouseMoved( MouseEvent e ) {
                 orig.mouseMoved( e );
+
+                if (hoverSupport) {
+                    Point p = e.getPoint();
+                    int row = table.rowAtPoint( p );
+                    int column = table.columnAtPoint( p );
+                    setHover(row, column);
+                }
+            }
+
+            private void setHover( int row, int column ) {
+                if (row == hoverRow && column == hoverColumn) {
+                    return;
+                }
+
+                int oldRow = hoverRow;
+                int oldColumn = hoverColumn;
+                hoverRow = row;
+                hoverColumn = column;
+
+                if (oldRow != -1 && oldColumn != -1) {
+                    table.repaint(table.getCellRect(oldRow, oldColumn, true));
+                }
+                if (row != -1 && column != -1) {
+                    table.repaint(table.getCellRect(row, column, true));
+                }
             }
         };
     }
diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java b/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java
index 14a223e..2eeda05 100644
--- a/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java
+++ b/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java
@@ -286,9 +286,9 @@
         // now try a best guess.. iterate the already created elements and check if any of
         // them is a Pane
         Collection col = peer.model.getCreatedElements();
-        Iterator it = col.iterator();
+        Iterator<MultiViewElement> it = col.iterator();
         while (it.hasNext()) {
-            el = (MultiViewElement)it.next();
+            el = it.next();
             if (el.getVisualRepresentation() instanceof CloneableEditorSupport.Pane) {
                 // fingers crossed and hope for the best... could result in bad results once
                 // we have multiple editors in the multiview component.
diff --git a/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewPeer.java b/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewPeer.java
index ce2b873..63d05cf 100644
--- a/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewPeer.java
+++ b/platform/core.multiview/src/org/netbeans/core/multiview/MultiViewPeer.java
@@ -297,9 +297,9 @@
     }        
     
     void peerComponentClosed() {
-        Iterator it = model.getCreatedElements().iterator();
+        Iterator<MultiViewElement> it = model.getCreatedElements().iterator();
         while (it.hasNext()) {
-            MultiViewElement el = (MultiViewElement)it.next();
+            MultiViewElement el = it.next();
             model.markAsHidden(el);
             el.componentClosed();
         }
@@ -802,10 +802,10 @@
      */
     boolean canClose() {
         Collection col = model.getCreatedElements();
-        Iterator it = col.iterator();
+        Iterator<MultiViewElement> it = col.iterator();
         Collection<CloseOperationState> badOnes = new ArrayList<>();
         while (it.hasNext()) {
-           MultiViewElement el = (MultiViewElement)it.next();
+           MultiViewElement el = it.next();
            CloseOperationState state = el.canCloseElement();
            if (!state.canClose()) {
                badOnes.add(state);
@@ -1104,9 +1104,9 @@
         }
         
         private void fireElementChange() {
-            Iterator it = new ArrayList<ChangeListener>(listeners).iterator();
+            Iterator<ChangeListener> it = new ArrayList<ChangeListener>(listeners).iterator();
             while (it.hasNext()) {
-                ChangeListener elem = (ChangeListener) it.next();
+                ChangeListener elem = it.next();
                 ChangeEvent event = new ChangeEvent(this);
                 elem.stateChanged(event);
             }
@@ -1114,9 +1114,9 @@
         }
         
         void updateListeners(MultiViewElement old, MultiViewElement fresh) {
-            Iterator it = listeners.iterator();
+            Iterator<ChangeListener> it = listeners.iterator();
             while (it.hasNext()) {
-                ChangeListener elem = (ChangeListener) it.next();
+                ChangeListener elem = it.next();
                 if (old.getUndoRedo() != null) {
                     old.getUndoRedo().removeChangeListener(elem);
                 }
diff --git a/platform/core.multiview/src/org/netbeans/core/spi/multiview/MultiViewFactory.java b/platform/core.multiview/src/org/netbeans/core/spi/multiview/MultiViewFactory.java
index a066b3a..ef43d83 100644
--- a/platform/core.multiview/src/org/netbeans/core/spi/multiview/MultiViewFactory.java
+++ b/platform/core.multiview/src/org/netbeans/core/spi/multiview/MultiViewFactory.java
@@ -309,9 +309,9 @@
             }
             
             StringBuilder sb = new StringBuilder();
-            Iterator it = elems.values().iterator();
+            Iterator<CloseOperationState> it = elems.values().iterator();
             while (it.hasNext()) {
-                CloseOperationState state = (CloseOperationState)it.next();
+                CloseOperationState state = it.next();
                 if (sb.length() > 0) {
                     sb.append(" ");
                 }
diff --git a/platform/core.output2/src/org/netbeans/core/output2/NbIOProvider.java b/platform/core.output2/src/org/netbeans/core/output2/NbIOProvider.java
index 1b97732..dc02729 100644
--- a/platform/core.output2/src/org/netbeans/core/output2/NbIOProvider.java
+++ b/platform/core.output2/src/org/netbeans/core/output2/NbIOProvider.java
@@ -25,6 +25,7 @@
 import java.util.EnumSet;
 import java.util.Set;
 import java.util.WeakHashMap;
+import java.util.logging.Level;
 import javax.swing.Action;
 import org.netbeans.api.io.Hyperlink;
 import org.netbeans.api.io.OutputColor;
@@ -214,7 +215,14 @@
     @Override
     public void resetIO(InputOutput io) {
         if (io instanceof NbIO) {
-            ((NbIO) io).reset();
+            try {
+                // ((NbWriter)io.getOut).reset() does OutWriter fixup,
+                // then NbWriter invokes ((NbIO) io).reset()
+                io.getOut().reset();
+            } catch (IOException ex) {
+                Exceptions.attachSeverity(ex, Level.WARNING);
+                Exceptions.printStackTrace(ex);
+            }
         } else {
             throw new IllegalArgumentException();
         }
diff --git a/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java b/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java
index 31f4580..13027fe 100644
--- a/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java
+++ b/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java
@@ -822,7 +822,8 @@
         } else if (e.isShiftDown()) { // horizontal scrolling
             BoundedRangeModel sbmodel = getHorizontalScrollBar().getModel();
             int currPosition = sbmodel.getValue();
-            int newPosition = Math.max(0, Math.min(sbmodel.getMaximum(), currPosition + (e.getUnitsToScroll()) * fontWidth));
+            int newPosition = Math.max(0, Math.min(sbmodel.getMaximum(), currPosition
+                    + (int) (e.getPreciseWheelRotation() * e.getScrollAmount() * fontWidth)));
             sbmodel.setValue (newPosition);
             return;
         }
@@ -832,7 +833,8 @@
 
         int currPosition = sbmodel.getValue();
         if (e.getSource() == textView) {
-            int newPosition = Math.max(0, Math.min(sbmodel.getMaximum(), currPosition + (e.getUnitsToScroll() * fontHeight)));
+            int newPosition = Math.max(0, Math.min(sbmodel.getMaximum(), currPosition
+                    + (int) (e.getPreciseWheelRotation() * e.getScrollAmount() * fontHeight)));
             // height is a magic constant because of #57532
             sbmodel.setValue (newPosition);
             if (newPosition + range >= max) {
diff --git a/platform/core.output2/test/unit/src/org/netbeans/core/output2/LifecycleTest.java b/platform/core.output2/test/unit/src/org/netbeans/core/output2/LifecycleTest.java
index 48e3dcf..50e01d3 100644
--- a/platform/core.output2/test/unit/src/org/netbeans/core/output2/LifecycleTest.java
+++ b/platform/core.output2/test/unit/src/org/netbeans/core/output2/LifecycleTest.java
@@ -60,6 +60,7 @@
 
     private IOContainer container;
     private NbIO io;
+    private NbIOProvider ioProvider;
     JFrame jf = null;
 
     OutputTab tab = null;
@@ -75,7 +76,8 @@
                 jf.getContentPane().add(getIOWindow(), BorderLayout.CENTER);
                 jf.setBounds(20, 20, 700, 300);
                 jf.setVisible(true);
-                io = (NbIO) new NbIOProvider().getIO("Test", false);
+                ioProvider = new NbIOProvider();
+                io = (NbIO) ioProvider.getIO("Test", false);
                 io.select();
                 tab = (OutputTab) container.getSelected();
                 pane = (OutputPane) tab.getOutputPane();
@@ -99,6 +101,7 @@
         }
         io.closeInputOutput();
         io = null;
+        ioProvider = null;
         container = null;
         sleep();
     }
@@ -240,6 +243,45 @@
             "fetch its storage after it was disposed.  It appears it wasn't disposed.", e);
     }
 
+    /**
+     * org.netbeans.api.io.InputOutput uses InputOutput.reset(),
+     * NOT writer.reset().[NETBEANS-4203]
+     * <p>
+     * Identical to testReset, expcept use ioProvider.resetIO(io) not writer.reset()
+     * </p>
+     * @throws Exception 
+     */
+    public void testNbIOReset() throws Exception {
+        System.out.println("testNbIOReset");
+        ErrWriter err = io.writer().getErr();
+        OutWriter out = io.writer().out();
+        NbWriter writer = io.writer();
+
+        OutputDocument doc = (OutputDocument) pane.getDocument();
+        assertNotNull ("Document should not be null", doc);
+
+        err.println ("hello");
+        writer.println ("world");
+        sleep();
+        ioProvider.resetIO(io);
+        sleep();
+
+        assertTrue ("Same writer object should be used after a reset", io.writer() == writer);
+        assertTrue ("Same err object should be used after a reset", io.writer().err() == err);
+        assertTrue ("Different output should be used afer a reset", out != io.writer().out());
+
+        assertNull ("Old document's Lines object not disposed - that means neither was its writer", doc.getLines());
+
+        Exception e = null;
+        try {
+            out.getStorage();
+        } catch (Exception exc) {
+            e = exc;
+        }
+        assertNotNull ("OutWriter should have thrown an exception on trying to " +
+            "fetch its storage after it was disposed.  It appears it wasn't disposed.", e);
+    }
+
     public void testCloseInputOutput() throws Exception {
 
         System.out.println("testCloseInputOutput");
diff --git a/platform/core.startup/src/org/netbeans/core/startup/Asm.java b/platform/core.startup/src/org/netbeans/core/startup/Asm.java
index 82b9d95..ed2bb7e 100644
--- a/platform/core.startup/src/org/netbeans/core/startup/Asm.java
+++ b/platform/core.startup/src/org/netbeans/core/startup/Asm.java
@@ -127,8 +127,8 @@
      * @param mn method to process
      */
     private static void replaceSuperCtorCalls(final ClassNode theClass, final ClassNode extenderClass, MethodNode mn) {
-        for (Iterator it = mn.instructions.iterator(); it.hasNext(); ) {
-            AbstractInsnNode aIns = (AbstractInsnNode)it.next();
+        for (Iterator<AbstractInsnNode> it = mn.instructions.iterator(); it.hasNext(); ) {
+            AbstractInsnNode aIns = it.next();
             if (aIns.getOpcode() == Opcodes.INVOKESPECIAL) {
                 MethodInsnNode mins = (MethodInsnNode)aIns;
                 if (CONSTRUCTOR_NAME.equals(mins.name) && mins.owner.equals(extenderClass.superName)) {
diff --git a/platform/core.windows/manifest.mf b/platform/core.windows/manifest.mf
index 0978ba6..a4d6319 100644
--- a/platform/core.windows/manifest.mf
+++ b/platform/core.windows/manifest.mf
@@ -6,5 +6,4 @@
 OpenIDE-Module-Recommends: org.netbeans.core.windows.nativeaccess.NativeWindowSystem
 AutoUpdate-Show-In-Client: false
 AutoUpdate-Essential-Module: true
-OpenIDE-Module-Specification-Version: 2.91
-
+OpenIDE-Module-Specification-Version: 2.93
diff --git a/platform/core.windows/src/org/netbeans/core/windows/options/LafPanel.java b/platform/core.windows/src/org/netbeans/core/windows/options/LafPanel.java
index d5b45ea..08d949f 100644
--- a/platform/core.windows/src/org/netbeans/core/windows/options/LafPanel.java
+++ b/platform/core.windows/src/org/netbeans/core/windows/options/LafPanel.java
@@ -27,6 +27,7 @@
 import java.awt.event.MouseEvent;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.prefs.Preferences;
@@ -296,7 +297,11 @@
         try {
             Class klz = cl.loadClass( COLOR_MODEL_CLASS_NAME );
             Object colorModel = klz.newInstance();
-            Method m = klz.getDeclaredMethod( "setCurrentProfile", String.class ); //NOI18N
+            Method m = klz.getDeclaredMethod( "getAnnotations", String.class ); //NOI18N
+            Object annotations = m.invoke( colorModel, preferredProfile );
+            m = klz.getDeclaredMethod( "setAnnotations", String.class, Collection.class ); //NOI18N
+            m.invoke( colorModel, preferredProfile, annotations );
+            m = klz.getDeclaredMethod( "setCurrentProfile", String.class ); //NOI18N
             m.invoke( colorModel, preferredProfile );
         } catch( Exception ex ) {
             //ignore
diff --git a/platform/junitlib/external/binaries-list b/platform/junitlib/external/binaries-list
index c5eda0a..8558d11 100644
--- a/platform/junitlib/external/binaries-list
+++ b/platform/junitlib/external/binaries-list
@@ -16,9 +16,9 @@
 # under the License.
 A6C32B40BF3D76ECA54E3C601E5D1470C86FCDFA junit:junit:4.12:sources
 941A8BE4506C65F0A9001C08812FB7DA1E505E21 junit:junit:4.12:javadoc
-22B57242E953BF2DE96FD5A122BD697F18B2FCD2 org.junit.jupiter:junit-jupiter-api:5.5.2:sources
-D24A5A6853030EBB11DACE58BD5FA49F0BCE4D58 org.junit.jupiter:junit-jupiter-api:5.5.2:javadoc
-F68669855D3DCFD6F6087FAF53A5A503DEF5D09B org.junit.jupiter:junit-jupiter-params:5.5.2:sources
-E94D6EA9D7460B9460114A009857D5588F8DC1BA org.junit.jupiter:junit-jupiter-params:5.5.2:javadoc
-44D1543A802A072D87CC146D9D96223D61683617 org.junit.jupiter:junit-jupiter-engine:5.5.2:sources
-EEAA786F518DDE7B0298A08426A349B55728D7D9 org.junit.jupiter:junit-jupiter-engine:5.5.2:javadoc
\ No newline at end of file
+EECCE5DA465F85A39FDD55F39A55591290170FAE org.junit.jupiter:junit-jupiter-api:5.6.0:sources
+9FF3C4B16802300C00C765F5D134D22291C98B34 org.junit.jupiter:junit-jupiter-api:5.6.0:javadoc
+6F38FDB1F7E00CEB6AA6F7DB54B1EE92CB196257 org.junit.jupiter:junit-jupiter-params:5.6.0:sources
+82B86EA526559DD1C1E2D7BD748CEA63AA7D067D org.junit.jupiter:junit-jupiter-params:5.6.0:javadoc
+9001C3C1E19E10FD2D0CF3C0E9CD9EAE96A6666E org.junit.jupiter:junit-jupiter-engine:5.6.0:sources
+2960C0C3D45F9F0078E75549C2FB479A73AF8BE4 org.junit.jupiter:junit-jupiter-engine:5.6.0:javadoc
\ No newline at end of file
diff --git a/platform/junitlib/external/junit-jupiter-api-5.5.2-license.txt b/platform/junitlib/external/junit-jupiter-api-5.6.0-license.txt
similarity index 99%
rename from platform/junitlib/external/junit-jupiter-api-5.5.2-license.txt
rename to platform/junitlib/external/junit-jupiter-api-5.6.0-license.txt
index 28177f3..6589771 100644
--- a/platform/junitlib/external/junit-jupiter-api-5.5.2-license.txt
+++ b/platform/junitlib/external/junit-jupiter-api-5.6.0-license.txt
@@ -1,9 +1,9 @@
 Name: JUnit Jupiter API
-Version: 5.5.2
+Version: 5.6.0
 License: EPL-v20
 Description: JUnit Jupiter API
 Origin: JUnit
-Files: junit-jupiter-api-5.5.2-sources.jar junit-jupiter-api-5.5.2-javadoc.jar
+Files: junit-jupiter-api-5.6.0-sources.jar junit-jupiter-api-5.6.0-javadoc.jar
 
 
 Eclipse Public License - v 2.0
diff --git a/platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt b/platform/junitlib/external/junit-jupiter-engine-5.6.0-license.txt
similarity index 98%
rename from platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt
rename to platform/junitlib/external/junit-jupiter-engine-5.6.0-license.txt
index 1b8872c..97ab488 100644
--- a/platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt
+++ b/platform/junitlib/external/junit-jupiter-engine-5.6.0-license.txt
@@ -1,9 +1,9 @@
 Name: JUnit Jupiter Engine
-Version: 5.5.2
+Version: 5.6.0
 License: EPL-v20
 Description: JUnit Jupiter Engine
 Origin: JUnit
-Files: junit-jupiter-engine-5.5.2-sources.jar junit-jupiter-engine-5.5.2-javadoc.jar
+Files: junit-jupiter-engine-5.6.0-sources.jar junit-jupiter-engine-5.6.0-javadoc.jar
 
 Eclipse Public License - v 2.0
 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.
diff --git a/platform/junitlib/external/junit-jupiter-params-5.5.2-license.txt b/platform/junitlib/external/junit-jupiter-params-5.5.2-license.txt
deleted file mode 100644
index ad39a63..0000000
--- a/platform/junitlib/external/junit-jupiter-params-5.5.2-license.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-Name: JUnit Jupiter Params
-Version: 5.5.2
-License: EPL-v20
-Description: JUnit Jupiter Params
-Origin: JUnit
-Files: junit-jupiter-params-5.5.2-sources.jar junit-jupiter-params-5.5.2-javadoc.jar
-
-Eclipse Public License - v 2.0
-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.
-
-1. Definitions
-“Contribution” means:
-
-a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-i) changes to the Program, and
-ii) additions to the Program; 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 changes or additions to the Program that are not Modified Works.
-“Contributor” means any person or entity that Distributes the Program.
-
-“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.
-
-“Program” means the Contributions Distributed in accordance with this Agreement.
-
-“Recipient” means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.
-
-“Derivative Works” 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.
-
-“Modified Works” 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.
-
-“Distribute” means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.
-
-“Source Code” means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-“Secondary License” 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.
-
-2. Grant of Rights
-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.
-
-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.
-
-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.
-
-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.
-
-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's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).
-
-3. Requirements
-3.1 If a Contributor Distributes the Program in any form, then:
-
-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
-
-b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license:
-
-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;
-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;
-iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and
-iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.
-3.2 When the Program is Distributed as Source Code:
-
-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
-b) a copy of this Agreement must be included with each copy of the Program.
-3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (“notices”) contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.
-
-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, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, 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, 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.
-
-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. 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.
-
-Exhibit A - Form of Secondary Licenses Notice
-“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}.”
-
-Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.
-
-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.
-
-You may add additional accurate notices of copyright ownership.
diff --git a/platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt b/platform/junitlib/external/junit-jupiter-params-5.6.0-license.txt
similarity index 98%
copy from platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt
copy to platform/junitlib/external/junit-jupiter-params-5.6.0-license.txt
index 1b8872c..4b415cb 100644
--- a/platform/junitlib/external/junit-jupiter-engine-5.5.2-license.txt
+++ b/platform/junitlib/external/junit-jupiter-params-5.6.0-license.txt
@@ -1,9 +1,9 @@
-Name: JUnit Jupiter Engine
-Version: 5.5.2
+Name: JUnit Jupiter Params
+Version: 5.6.0
 License: EPL-v20
-Description: JUnit Jupiter Engine
+Description: JUnit Jupiter Params
 Origin: JUnit
-Files: junit-jupiter-engine-5.5.2-sources.jar junit-jupiter-engine-5.5.2-javadoc.jar
+Files: junit-jupiter-params-5.6.0-sources.jar junit-jupiter-params-5.6.0-javadoc.jar
 
 Eclipse Public License - v 2.0
 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.
diff --git a/platform/junitlib/nbproject/project.properties b/platform/junitlib/nbproject/project.properties
index e4bcd25..20edacc 100644
--- a/platform/junitlib/nbproject/project.properties
+++ b/platform/junitlib/nbproject/project.properties
@@ -19,20 +19,20 @@
 javac.compilerargs=-Xlint -Xlint:-serial
 release.external/junit-4.12-sources.jar=docs/junit-4.12-sources.jar
 release.external/junit-4.12-javadoc.jar=docs/junit-4.12-javadoc.jar
-release.external/junit-jupiter-api-5.5.2-sources.jar=docs/junit-jupiter-api-5.5.2-sources.jar
-release.external/junit-jupiter-api-5.5.2-javadoc.jar=docs/junit-jupiter-api-5.5.2-javadoc.jar
-release.external/junit-jupiter-params-5.5.2-sources.jar=docs/junit-jupiter-params-5.5.2-sources.jar
-release.external/junit-jupiter-params-5.5.2-javadoc.jar=docs/junit-jupiter-params-5.5.2-javadoc.jar
-release.external/junit-jupiter-engine-5.5.2-sources.jar=docs/junit-jupiter-engine-5.5.2-sources.jar
-release.external/junit-jupiter-engine-5.5.2-javadoc.jar=docs/junit-jupiter-engine-5.5.2-javadoc.jar
+release.external/junit-jupiter-api-5.6.0-sources.jar=docs/junit-jupiter-api-5.6.0-sources.jar
+release.external/junit-jupiter-api-5.6.0-javadoc.jar=docs/junit-jupiter-api-5.6.0-javadoc.jar
+release.external/junit-jupiter-params-5.6.0-sources.jar=docs/junit-jupiter-params-5.6.0-sources.jar
+release.external/junit-jupiter-params-5.6.0-javadoc.jar=docs/junit-jupiter-params-5.6.0-javadoc.jar
+release.external/junit-jupiter-engine-5.6.0-sources.jar=docs/junit-jupiter-engine-5.6.0-sources.jar
+release.external/junit-jupiter-engine-5.6.0-javadoc.jar=docs/junit-jupiter-engine-5.6.0-javadoc.jar
 nbm.target.cluster=java
 nbm.is.global=false
 jnlp.indirect.jars=\
     docs/junit-4.12-sources.jar,\
     docs/junit-4.12-javadoc.jar,\
-    docs/junit-jupiter-api-5.5.2-sources.jar,\
-    docs/junit-jupiter-api-5.5.2-javadoc.jar,\
-    docs/junit-jupiter-params-5.5.2-sources.jar,\
-    docs/junit-jupiter-params-5.5.2-javadoc.jar,\
-    docs/junit-jupiter-engine-5.5.2-sources.jar,\
-    docs/junit-jupiter-engine-5.5.2-javadoc.jar
+    docs/junit-jupiter-api-5.6.0-sources.jar,\
+    docs/junit-jupiter-api-5.6.0-javadoc.jar,\
+    docs/junit-jupiter-params-5.6.0-sources.jar,\
+    docs/junit-jupiter-params-5.6.0-javadoc.jar,\
+    docs/junit-jupiter-engine-5.6.0-sources.jar,\
+    docs/junit-jupiter-engine-5.6.0-javadoc.jar
diff --git a/platform/junitlib/src/org/netbeans/modules/junitlib/Bundle.properties b/platform/junitlib/src/org/netbeans/modules/junitlib/Bundle.properties
index fb0789e..f6256e7 100644
--- a/platform/junitlib/src/org/netbeans/modules/junitlib/Bundle.properties
+++ b/platform/junitlib/src/org/netbeans/modules/junitlib/Bundle.properties
@@ -20,5 +20,5 @@
 OpenIDE-Module-Long-Description=\
     Includes the JUnit unit testing library and corresponding library definition. Versions 4.x/5.x are included.
 junit_4=JUnit 4.12
-junit_5=JUnit 5.5.2
+junit_5=JUnit 5.6.0
 hamcrest=Hamcrest 1.3
diff --git a/platform/junitlib/src/org/netbeans/modules/junitlib/junit_5.xml b/platform/junitlib/src/org/netbeans/modules/junitlib/junit_5.xml
index 9427681..9a2724d 100644
--- a/platform/junitlib/src/org/netbeans/modules/junitlib/junit_5.xml
+++ b/platform/junitlib/src/org/netbeans/modules/junitlib/junit_5.xml
@@ -25,29 +25,29 @@
     <localizing-bundle>org.netbeans.modules.junitlib.Bundle</localizing-bundle>
     <volume>
         <type>classpath</type>
-        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-api-5.5.2.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-params-5.5.2.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-engine-5.5.2.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-api-5.6.0.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-params-5.6.0.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.libs.junit5/modules/ext/junit-jupiter-engine-5.6.0.jar!/</resource>
     </volume>
     <volume>
         <type>javadoc</type>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-api-5.5.2-javadoc.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-params-5.5.2-javadoc.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-engine-5.5.2-javadoc.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-api-5.6.0-javadoc.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-params-5.6.0-javadoc.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-engine-5.6.0-javadoc.jar!/</resource>
     </volume>
     <volume>
         <type>src</type>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-api-5.5.2-sources.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-params-5.5.2-sources.jar!/</resource>
-        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-engine-5.5.2-sources.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-api-5.6.0-sources.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-params-5.6.0-sources.jar!/</resource>
+        <resource>jar:nbinst://org.netbeans.modules.junitlib/docs/junit-jupiter-engine-5.6.0-sources.jar!/</resource>
     </volume>
     <properties>
         <property>
             <name>maven-dependencies</name>
             <value>
-                org.junit.jupiter:junit-jupiter-api:5.5.2:jar
-                org.junit.jupiter:junit-jupiter-params:5.5.2:jar
-                org.junit.jupiter:junit-jupiter-engine:5.5.2:jar
+                org.junit.jupiter:junit-jupiter-api:5.6.0:jar
+                org.junit.jupiter:junit-jupiter-params:5.6.0:jar
+                org.junit.jupiter:junit-jupiter-engine:5.6.0:jar
             </value>
         </property>
     </properties>
diff --git a/platform/libs.flatlaf/external/binaries-list b/platform/libs.flatlaf/external/binaries-list
index 8cb59cc..c4846fd 100644
--- a/platform/libs.flatlaf/external/binaries-list
+++ b/platform/libs.flatlaf/external/binaries-list
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-2EF2AB1FF80098D83488A715AC708D60A2986A9B com.formdev:flatlaf:0.26
+AFD85ED83238E56BD032FB05471781C6E54AD6F2 com.formdev:flatlaf:0.31
diff --git a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt b/platform/libs.flatlaf/external/flatlaf-0.31-license.txt
similarity index 99%
rename from platform/libs.flatlaf/external/flatlaf-0.26-license.txt
rename to platform/libs.flatlaf/external/flatlaf-0.31-license.txt
index b1b4cd7..594cfba 100644
--- a/platform/libs.flatlaf/external/flatlaf-0.26-license.txt
+++ b/platform/libs.flatlaf/external/flatlaf-0.31-license.txt
@@ -1,7 +1,7 @@
 Name: FlatLaf Look and Feel
 Description: FlatLaf Look and Feel
-Version: 0.26
-Files: flatlaf-0.26.jar
+Version: 0.31
+Files: flatlaf-0.31.jar
 License: Apache-2.0
 Origin: FormDev Software GmbH.
 URL: https://www.formdev.com/flatlaf/
diff --git a/platform/libs.flatlaf/nbproject/project.properties b/platform/libs.flatlaf/nbproject/project.properties
index eaf091e..151b673 100644
--- a/platform/libs.flatlaf/nbproject/project.properties
+++ b/platform/libs.flatlaf/nbproject/project.properties
@@ -20,4 +20,4 @@
 javac.source=1.8
 nbm.target.cluster=platform
 
-release.external/flatlaf-0.26.jar=modules/ext/flatlaf-0.26.jar
+release.external/flatlaf-0.31.jar=modules/ext/flatlaf-0.31.jar
diff --git a/platform/libs.flatlaf/nbproject/project.xml b/platform/libs.flatlaf/nbproject/project.xml
index ca95549..d81c026 100644
--- a/platform/libs.flatlaf/nbproject/project.xml
+++ b/platform/libs.flatlaf/nbproject/project.xml
@@ -30,8 +30,8 @@
                 <package>com.formdev.flatlaf.util</package>
             </public-packages>
             <class-path-extension>
-                <runtime-relative-path>ext/flatlaf-0.26.jar</runtime-relative-path>
-                <binary-origin>external/flatlaf-0.26.jar</binary-origin>
+                <runtime-relative-path>ext/flatlaf-0.31.jar</runtime-relative-path>
+                <binary-origin>external/flatlaf-0.31.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/platform/libs.junit5/external/binaries-list b/platform/libs.junit5/external/binaries-list
index 1044d5b..2153491 100644
--- a/platform/libs.junit5/external/binaries-list
+++ b/platform/libs.junit5/external/binaries-list
@@ -14,6 +14,6 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-6393DB7E4C0265152D8FC4FF146633D1A7D36C47 org.junit.jupiter:junit-jupiter-api:5.5.2
-E0659722923BD9FDFA08602E2DA22BD5A9D354E8 org.junit.jupiter:junit-jupiter-params:5.5.2
-F597408BDE45371548F9E9791DA7981A1134328D org.junit.jupiter:junit-jupiter-engine:5.5.2
+F29E6318333D2303CE4965C9819CFAD08DE7D1E5 org.junit.jupiter:junit-jupiter-api:5.6.0
+B28E078D4E8424DE01DF02EC92410D225E5D6444 org.junit.jupiter:junit-jupiter-params:5.6.0
+83C9E737F6015D9E00029B9B1D51E952A884B8F9 org.junit.jupiter:junit-jupiter-engine:5.6.0
diff --git a/platform/libs.junit5/external/junit-jupiter-5.5.2-license.txt b/platform/libs.junit5/external/junit-jupiter-5.6.0-license.txt
similarity index 98%
rename from platform/libs.junit5/external/junit-jupiter-5.5.2-license.txt
rename to platform/libs.junit5/external/junit-jupiter-5.6.0-license.txt
index 9a41657..c79aa4c 100644
--- a/platform/libs.junit5/external/junit-jupiter-5.5.2-license.txt
+++ b/platform/libs.junit5/external/junit-jupiter-5.6.0-license.txt
@@ -1,10 +1,10 @@
 Name: JUnit Jupiter
-Version: 5.5.2
-Files: junit-jupiter-api-5.5.2.jar junit-jupiter-params-5.5.2.jar junit-jupiter-engine-5.5.2.jar
+Version: 5.6.0
+Files: junit-jupiter-api-5.6.0.jar junit-jupiter-params-5.6.0.jar junit-jupiter-engine-5.6.0.jar
 License: EPL-v20
 Description: JUnit Jupiter
 Origin: JUnit
-URL: https://search.maven.org/search?q=g:org.junit.jupiter%20AND%20v:5.5.2
+URL: https://search.maven.org/search?q=g:org.junit.jupiter%20AND%20v:5.6.0
 
 Eclipse Public License - v 2.0
 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.
diff --git a/platform/libs.junit5/nbproject/project.properties b/platform/libs.junit5/nbproject/project.properties
index 42acf2e..4a04140 100644
--- a/platform/libs.junit5/nbproject/project.properties
+++ b/platform/libs.junit5/nbproject/project.properties
@@ -16,9 +16,9 @@
 # under the License.
 
 is.autoload=true
-release.external/junit-jupiter-api-5.5.2.jar=modules/ext/junit-jupiter-api-5.5.2.jar
-release.external/junit-jupiter-params-5.5.2.jar=modules/ext/junit-jupiter-params-5.5.2.jar
-release.external/junit-jupiter-engine-5.5.2.jar=modules/ext/junit-jupiter-engine-5.5.2.jar
+release.external/junit-jupiter-api-5.6.0.jar=modules/ext/junit-jupiter-api-5.6.0.jar
+release.external/junit-jupiter-params-5.6.0.jar=modules/ext/junit-jupiter-params-5.6.0.jar
+release.external/junit-jupiter-engine-5.6.0.jar=modules/ext/junit-jupiter-engine-5.6.0.jar
 nbm.target.cluster=platform
 sigtest.skip.check=true
 sigtest.fail.on.error=false
diff --git a/platform/libs.junit5/nbproject/project.xml b/platform/libs.junit5/nbproject/project.xml
index 7fb5620..ebd9731 100644
--- a/platform/libs.junit5/nbproject/project.xml
+++ b/platform/libs.junit5/nbproject/project.xml
@@ -43,16 +43,16 @@
                 <package>org.junit.jupiter.engine.script</package>
             </public-packages>
             <class-path-extension>
-                <runtime-relative-path>ext/junit-jupiter-api-5.5.2.jar</runtime-relative-path>
-                <binary-origin>external/junit-jupiter-api-5.5.2.jar</binary-origin>
+                <runtime-relative-path>ext/junit-jupiter-api-5.6.0.jar</runtime-relative-path>
+                <binary-origin>external/junit-jupiter-api-5.6.0.jar</binary-origin>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/junit-jupiter-params-5.5.2.jar</runtime-relative-path>
-                <binary-origin>external/junit-jupiter-params-5.5.2.jar</binary-origin>
+                <runtime-relative-path>ext/junit-jupiter-params-5.6.0.jar</runtime-relative-path>
+                <binary-origin>external/junit-jupiter-params-5.6.0.jar</binary-origin>
             </class-path-extension>
             <class-path-extension>
-                <runtime-relative-path>ext/junit-jupiter-engine-5.5.2.jar</runtime-relative-path>
-                <binary-origin>external/junit-jupiter-engine-5.5.2.jar</binary-origin>
+                <runtime-relative-path>ext/junit-jupiter-engine-5.6.0.jar</runtime-relative-path>
+                <binary-origin>external/junit-jupiter-engine-5.6.0.jar</binary-origin>
             </class-path-extension>
         </data>
     </configuration>
diff --git a/platform/netbinox/nbproject/project.properties b/platform/netbinox/nbproject/project.properties
index 0fb106e..3797fc8 100644
--- a/platform/netbinox/nbproject/project.properties
+++ b/platform/netbinox/nbproject/project.properties
@@ -23,8 +23,8 @@
 
 test.config.stableBTD.includes=**/*Test.class
 test.config.stableBTD.excludes=\
-    **/BundleURLConnectionTest.class,\
     **/CachingAndExternalPathsTest.class,\
     **/CachingAndExternalURLTest.class,\
     **/CachingPreventsFileTouchesTest.class,\
-    **/NetigsoTest.class
+    **/LogReaderServiceTest.class,\
+    **/NetigsoHasSAXParserTest.class
diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
index e6d5436..0e198b8 100644
--- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
+++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
@@ -21,6 +21,10 @@
 
 import com.formdev.flatlaf.util.UIScale;
 import java.awt.Color;
+import javax.swing.InputMap;
+import javax.swing.KeyStroke;
+import javax.swing.UIDefaults;
+import javax.swing.UIDefaults.LazyValue;
 import javax.swing.UIManager;
 import org.netbeans.swing.laf.flatlaf.ui.FlatTabControlIcon;
 import org.netbeans.swing.plaf.LFCustoms;
@@ -40,9 +44,14 @@
     public Object[] createApplicationSpecificKeysAndValues() {
         Color editorContentBorderColor = UIManager.getColor("TabbedContainer.editor.contentBorderColor"); // NOI18N
 
+        Object[] removeCtrlPageUpDownKeyBindings = {
+            "ctrl PAGE_UP", null, // NOI18N
+            "ctrl PAGE_DOWN", null // NOI18N
+        };
+
         return new Object[] {
             // necessary for org.openide.explorer.propertysheet.PropertySheet and others
-            CONTROLFONT, UIManager.getFont("Label.font"),
+            CONTROLFONT, UIManager.getFont("Label.font"), // NOI18N
 
             EDITOR_TAB_DISPLAYER_UI, "org.netbeans.swing.laf.flatlaf.ui.FlatEditorTabDisplayerUI", // NOI18N
             VIEW_TAB_DISPLAYER_UI, "org.netbeans.swing.laf.flatlaf.ui.FlatViewTabDisplayerUI", // NOI18N
@@ -80,8 +89,56 @@
             // Change some colors from ColorUIResource to Color because they are used as
             // background colors for checkboxes (e.g. in org.netbeans.modules.palette.ui.CategoryButton),
             // which in FlatLaf paint background only if background color is not a UIResource.
-            "PropSheet.setBackground", new Color(UIManager.getColor("PropSheet.setBackground").getRGB()),
-            "PropSheet.selectedSetBackground", new Color(UIManager.getColor("PropSheet.selectedSetBackground").getRGB()),
+            "PropSheet.setBackground", new Color(UIManager.getColor("PropSheet.setBackground").getRGB()), // NOI18N
+            "PropSheet.selectedSetBackground", new Color(UIManager.getColor("PropSheet.selectedSetBackground").getRGB()), // NOI18N
+
+            //#108517 - turn off ctrl+page_up and ctrl+page_down mapping
+            // Not using UIUtils.addInputMapsWithoutCtrlPageUpAndCtrlPageDown() here because
+            // this method replaces all key bindings for List, ScrollPane, Table and Tree.
+            // But FlatLaf uses slightly different key bindings. Especially on macOS the
+            // key bindings are different for platform specific behavior.
+            "List.focusInputMap", new LazyModifyInputMap( "List.focusInputMap", removeCtrlPageUpDownKeyBindings ), // NOI18N
+            "ScrollPane.ancestorInputMap", new LazyModifyInputMap( "ScrollPane.ancestorInputMap", removeCtrlPageUpDownKeyBindings ), // NOI18N
+            "ScrollPane.ancestorInputMap.RightToLeft", new LazyModifyInputMap( "ScrollPane.ancestorInputMap.RightToLeft", removeCtrlPageUpDownKeyBindings ), // NOI18N
+            "Table.ancestorInputMap", new LazyModifyInputMap( "Table.ancestorInputMap", removeCtrlPageUpDownKeyBindings ), // NOI18N
+            "Table.ancestorInputMap.RightToLeft", new LazyModifyInputMap( "Table.ancestorInputMap.RightToLeft", removeCtrlPageUpDownKeyBindings ), // NOI18N
+            "Tree.focusInputMap", new LazyModifyInputMap( "Tree.focusInputMap", removeCtrlPageUpDownKeyBindings ), // NOI18N
         };
     }
+
+    //---- class LazyModifyInputMap -------------------------------------------
+
+    /**
+     * Lazily gets a base input map from the look and feel defaults and
+     * applies modifications to it specified in bindings.
+     */
+    private static class LazyModifyInputMap
+        implements LazyValue
+    {
+        private final String baseKey;
+        private final Object[] bindings;
+
+        LazyModifyInputMap(String baseKey, Object[] bindings) {
+            this.baseKey = baseKey;
+            this.bindings = bindings;
+        }
+
+        @Override
+        public Object createValue(UIDefaults table) {
+            // get base input map from look and feel defaults (resolves lazy base input map)
+            InputMap inputMap = (InputMap) UIManager.getLookAndFeelDefaults().get(baseKey);
+
+            // modify input map (replace or remove)
+            for (int i = 0; i < bindings.length; i += 2) {
+                KeyStroke keyStroke = KeyStroke.getKeyStroke((String) bindings[i]);
+                if (bindings[i + 1] != null) {
+                    inputMap.put(keyStroke, bindings[i + 1]);
+                } else {
+                    inputMap.remove(keyStroke);
+                }
+            }
+
+            return inputMap;
+        }
+    }
 }
diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties
index 8230d33..4ea5d56 100644
--- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties
+++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLaf.properties
@@ -64,6 +64,7 @@
 nb.multitabs.activeBackground=$EditorTab.activeBackground
 nb.multitabs.selectedBackground=$EditorTab.selectedBackground
 nb.multitabs.selectedForeground=$EditorTab.selectedForeground
+nb.multitabs.hoverBackground=$EditorTab.hoverBackground
 nb.multitabs.underlineColor=$TabbedPane.underlineColor
 nb.multitabs.inactiveUnderlineColor=$EditorTab.inactiveUnderlineColor
 
diff --git a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ColumnSelectionPanel.java b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ColumnSelectionPanel.java
index 1f5ed9f..94d8c64 100644
--- a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ColumnSelectionPanel.java
+++ b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ColumnSelectionPanel.java
@@ -226,8 +226,8 @@
         if (columnModel == null) {
             return;
         }
-        for (Iterator it = checkBoxes.keySet().iterator(); it.hasNext(); ) {
-            ETableColumn etc = (ETableColumn) it.next();
+        for (Iterator<ETableColumn> it = checkBoxes.keySet().iterator(); it.hasNext(); ) {
+            ETableColumn etc = it.next();
             JCheckBox checkBox = checkBoxes.get (etc);
             columnModel.setColumnHidden(etc,! checkBox.isSelected());
         }
diff --git a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETable.java b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETable.java
index 132da24..42b5050 100644
--- a/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETable.java
+++ b/platform/o.n.swing.outline/src/org/netbeans/swing/etable/ETable.java
@@ -2225,8 +2225,8 @@
                 int rows[] = getSelectedRows();
                 int selectedRowIndex = (rows == null || rows.length == 0) ? 0 : rows[0];
                 int r = 0;
-                for (Iterator it = results.iterator(); it.hasNext(); r++) {
-                    int curResult = ((Integer)it.next()).intValue();
+                for (Iterator<Integer> it = results.iterator(); it.hasNext(); r++) {
+                    int curResult = it.next().intValue();
                     if (selectedRowIndex <= curResult) {
                         currentSelectionIndex = r;
                         break;
diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
index af8ae60..d1e2677 100644
--- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
+++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/popupswitcher/SwitcherTable.java
@@ -161,7 +161,7 @@
         if (ren instanceof JLabel) {
             // #199007: Swing HTML renderer does a poor job of truncating long labels
             JLabel prototype = (JLabel) ren;
-            lbl = HtmlRenderer.createLabel();
+            lbl = (JLabel) HtmlRenderer.createRenderer();
             if( lbl instanceof HtmlRenderer.Renderer ) {
                 ((HtmlRenderer.Renderer)lbl).setRenderStyle( HtmlRenderer.STYLE_TRUNCATE );
             }
diff --git a/platform/openide.actions/src/org/openide/actions/NewAction.java b/platform/openide.actions/src/org/openide/actions/NewAction.java
index 94e041a..d627718 100644
--- a/platform/openide.actions/src/org/openide/actions/NewAction.java
+++ b/platform/openide.actions/src/org/openide/actions/NewAction.java
@@ -19,6 +19,7 @@
 
 package org.openide.actions;
 
+import java.util.Iterator;
 import java.beans.PropertyChangeListener;
 import javax.swing.event.ChangeListener;
 import org.openide.awt.Actions;
@@ -159,10 +160,10 @@
                 java.util.Collection c = lookup.lookupResult(Node.class).allItems();
 
                 if (c.size() == 1) {
-                    java.util.Iterator it = c.iterator();
+                    Iterator<Lookup.Item> it = c.iterator();
 
                     while (it.hasNext()) {
-                        Lookup.Item item = (Lookup.Item) it.next();
+                        Lookup.Item item = it.next();
                         Node n = (Node) item.getInstance();
 
                         if (n != null) {
diff --git a/platform/openide.awt/src/org/openide/awt/HtmlRenderer.java b/platform/openide.awt/src/org/openide/awt/HtmlRenderer.java
index 5ada2d9..493cbe1 100644
--- a/platform/openide.awt/src/org/openide/awt/HtmlRenderer.java
+++ b/platform/openide.awt/src/org/openide/awt/HtmlRenderer.java
@@ -339,7 +339,7 @@
             // #54257 - on macosx + chinese/japanese fonts, the getStringBounds() method returns bad value
             wid = fm.stringWidth(s);
         } else {
-            wid = (int)fm.getStringBounds(s, g).getWidth();
+            wid = (int) Math.ceil(fm.getStringBounds(s, g).getWidth());
         }
 
         if (paint) {
diff --git a/platform/openide.awt/src/org/openide/awt/HtmlRendererImpl.java b/platform/openide.awt/src/org/openide/awt/HtmlRendererImpl.java
index 5da355d..4028a0f 100644
--- a/platform/openide.awt/src/org/openide/awt/HtmlRendererImpl.java
+++ b/platform/openide.awt/src/org/openide/awt/HtmlRendererImpl.java
@@ -21,6 +21,9 @@
 
 import java.awt.*;
 import java.awt.event.*;
+import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.WritableRaster;
 
 import java.beans.PropertyChangeListener;
 import java.beans.VetoableChangeListener;
@@ -60,7 +63,7 @@
     //For experimentation - holding the graphics object may be the source of some
     //strange painting problems on Apple
     private static boolean noCacheGraphics = Boolean.getBoolean("nb.renderer.nocache"); //NOI18N
-    private static Reference<Graphics2D> scratchGraphics = null;
+    private ScratchGraphics cachedScratchGraphics = null;
     private boolean centered = false;
     private boolean parentFocused = false;
     private Boolean html = null;
@@ -593,28 +596,60 @@
         return result;
     }
 
+    private static final class ScratchGraphics {
+        private final GraphicsConfiguration configuration;
+        private Reference<Graphics2D> graphics = new SoftReference<>(null);
+
+        public ScratchGraphics(GraphicsConfiguration configuration) {
+            if (configuration == null) {
+                throw new NullPointerException();
+            }
+            this.configuration = configuration;
+        }
+
+        public boolean isConfigurationCompatible(GraphicsConfiguration other) {
+          return configuration.getColorModel().equals(other.getColorModel())
+              && configuration.getDefaultTransform().equals(other.getDefaultTransform());
+        }
+
+        public Graphics2D getGraphics() {
+          Graphics2D result = graphics.get();
+          if (result == null) {
+              /* Equivalent to configuration.createCompatibleImage(int, int), just to show that only the
+              ColorModel field of the GraphicsConfiguration is really relevant here. */
+              ColorModel model = configuration.getColorModel();
+              WritableRaster raster = model.createCompatibleWritableRaster(1, 1);
+              BufferedImage img = new BufferedImage(model, raster, model.isAlphaPremultiplied(), null);
+              result = img.createGraphics();
+              this.graphics = new SoftReference<>(result);
+          }
+          // Restore state on every call, just in case a client modified it for some reason.
+          result.setClip(null);
+          /* NETBEANS-2543: Apply the scaling HiDPI transform. This affects font measurements, via
+                            FontRenderContext.getTransform(). */
+          result.setTransform(configuration.getDefaultTransform());
+          return result;
+        }
+    }
+
     /** Fetch a scratch graphics object for calculating preferred sizes while
      * offscreen */
-    private static final Graphics2D scratchGraphics() {
-        Graphics2D result = null;
-
-        if (scratchGraphics != null) {
-            result = scratchGraphics.get();
-
-            if (result != null) {
-                result.setClip(null); //just in case somebody did something nasty
-            }
+    private final Graphics2D scratchGraphics() {
+        GraphicsConfiguration gc = getGraphicsConfiguration();
+        if (gc == null) {
+            gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
         }
 
-        if (result == null) {
-            result = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration()
-                                        .createCompatibleImage(1, 1).createGraphics();
-            if (!noCacheGraphics) {
-                scratchGraphics = new SoftReference<>(result);
-            }
+        ScratchGraphics scratchGraphics = cachedScratchGraphics;
+        if (scratchGraphics != null && scratchGraphics.isConfigurationCompatible(gc)) {
+            return scratchGraphics.getGraphics();
         }
 
-        return result;
+        scratchGraphics = new ScratchGraphics(gc);
+        if (!noCacheGraphics) {
+            cachedScratchGraphics = scratchGraphics;
+        }
+        return scratchGraphics.getGraphics();
     }
 
     public @Override void setBounds(int x, int y, int w, int h) {
diff --git a/platform/openide.filesystems/src/org/openide/filesystems/MultiFileObject.java b/platform/openide.filesystems/src/org/openide/filesystems/MultiFileObject.java
index aa7caf0..beb54fb 100644
--- a/platform/openide.filesystems/src/org/openide/filesystems/MultiFileObject.java
+++ b/platform/openide.filesystems/src/org/openide/filesystems/MultiFileObject.java
@@ -204,9 +204,9 @@
             }
         }
 
-        Iterator it = now.iterator();
+        Iterator<FileObject> it = now.iterator();
         while (it.hasNext()) {
-            FileObject fo = (FileObject) it.next();
+            FileObject fo = it.next();
             fo.removeFileChangeListener(weakL);
         }
 
diff --git a/platform/openide.filesystems/src/org/openide/filesystems/XMLFileSystem.java b/platform/openide.filesystems/src/org/openide/filesystems/XMLFileSystem.java
index 041b441..7cf6966 100644
--- a/platform/openide.filesystems/src/org/openide/filesystems/XMLFileSystem.java
+++ b/platform/openide.filesystems/src/org/openide/filesystems/XMLFileSystem.java
@@ -861,10 +861,10 @@
                 foAttrs = new XMLMapAttr();
             }
 
-            Iterator it = attrs.entrySet().iterator();
+            Iterator<Map.Entry> it = attrs.entrySet().iterator();
             boolean ch = false;
             while (it.hasNext()) {
-                Map.Entry attrEntry = (Map.Entry) it.next();
+                Map.Entry attrEntry = it.next();
                 Object prev = foAttrs.put(attrEntry.getKey(), attrEntry.getValue());
                 
                 ch |= (prev == null && attrEntry.getValue() != null) || !prev.equals(attrEntry.getValue());
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java b/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
index 58073c9..b57c252 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataLoaderPool.java
@@ -570,10 +570,10 @@
                 // [PENDING] in the future a more efficient API may be introduced
                 // (actually currently you can look up with a template giving the name
                 // as part of the lookup item ID but this is not an official API)
-                Iterator modules = Lookup.getDefault().lookupAll(ModuleInfo.class).iterator();
+                Iterator<? extends ModuleInfo> modules = Lookup.getDefault().lookupAll(ModuleInfo.class).iterator();
                 boolean ok = false;
                 while (modules.hasNext()) {
-                    ModuleInfo module = (ModuleInfo)modules.next();
+                    ModuleInfo module = modules.next();
                     if (module.getCodeNameBase().equals(modulename)) {
                         if (module.isEnabled()) {
                             // Carry on.
diff --git a/platform/openide.loaders/src/org/openide/loaders/DataObject.java b/platform/openide.loaders/src/org/openide/loaders/DataObject.java
index db4e5be..a01591e 100644
--- a/platform/openide.loaders/src/org/openide/loaders/DataObject.java
+++ b/platform/openide.loaders/src/org/openide/loaders/DataObject.java
@@ -274,9 +274,9 @@
      * If the files are rescanned (e.g. after a disposal), the current data loader will be given preference.
     */
     protected final void markFiles () throws IOException {
-        Iterator en = files ().iterator ();
+        Iterator<FileObject> en = files ().iterator ();
         while (en.hasNext ()) {
-            FileObject fo = (FileObject)en.next ();
+            FileObject fo = en.next ();
             loader.markFile (fo);
         }
     }
diff --git a/platform/openide.loaders/src/org/openide/loaders/MultiDataObject.java b/platform/openide.loaders/src/org/openide/loaders/MultiDataObject.java
index 70e188b..30196b3 100644
--- a/platform/openide.loaders/src/org/openide/loaders/MultiDataObject.java
+++ b/platform/openide.loaders/src/org/openide/loaders/MultiDataObject.java
@@ -385,10 +385,10 @@
      */
     private void removeAllInvalid () {
         ERR.log(Level.FINE, "removeAllInvalid, started {0}", this); // NOI18N
-        Iterator it = checkSecondary ().entrySet ().iterator ();
+        Iterator<Map.Entry<FileObject, MultiDataObject.Entry>> it = checkSecondary().entrySet().iterator();
         boolean fire = false;
         while (it.hasNext ()) {
-            Map.Entry e = (Map.Entry)it.next ();
+            Map.Entry e = it.next();
             FileObject fo = (FileObject)e.getKey ();
             if (fo == null || !fo.isValid ()) {
                 it.remove ();
diff --git a/platform/openide.loaders/src/org/openide/loaders/XMLEntityResolverChain.java b/platform/openide.loaders/src/org/openide/loaders/XMLEntityResolverChain.java
index c86b900..9cd2113 100644
--- a/platform/openide.loaders/src/org/openide/loaders/XMLEntityResolverChain.java
+++ b/platform/openide.loaders/src/org/openide/loaders/XMLEntityResolverChain.java
@@ -99,9 +99,9 @@
         IOException lioex = null;
         
         synchronized (resolverChain) {
-            Iterator it = resolverChain.iterator();
+            Iterator<EntityResolver> it = resolverChain.iterator();
             while (it.hasNext()) {
-                EntityResolver resolver = (EntityResolver) it.next();
+                EntityResolver resolver = it.next();
                 try {
                     InputSource test = resolver.resolveEntity(publicID, systemID);
                     if (test == null) continue;
diff --git a/platform/openide.nodes/src/org/netbeans/modules/openide/nodes/NodesRegistrationSupport.java b/platform/openide.nodes/src/org/netbeans/modules/openide/nodes/NodesRegistrationSupport.java
index f5943f9..a612197 100644
--- a/platform/openide.nodes/src/org/netbeans/modules/openide/nodes/NodesRegistrationSupport.java
+++ b/platform/openide.nodes/src/org/netbeans/modules/openide/nodes/NodesRegistrationSupport.java
@@ -60,8 +60,8 @@
                 @Override
                 void register() {
                     ClassLoader clsLoader = findClsLoader();
-                    for (Iterator it = lookupResult.allInstances().iterator(); it.hasNext();) {
-                        PEClassRegistration clsReg = (PEClassRegistration) it.next();
+                    for (Iterator<PEClassRegistration> it = lookupResult.allInstances().iterator(); it.hasNext();) {
+                        PEClassRegistration clsReg = it.next();
                         for (String type : clsReg.targetTypes) {
                             try {
                                 Class<?> cls = getClassFromCanonicalName(type);
@@ -88,8 +88,8 @@
                 @Override
                 void register() {
                     Set<String> newPath = new LinkedHashSet<String> ();
-                    for (Iterator it = lookupResult.allInstances().iterator(); it.hasNext();) {
-                        PEPackageRegistration pkgReg = (PEPackageRegistration) it.next();
+                    for (Iterator<PEPackageRegistration> it = lookupResult.allInstances().iterator(); it.hasNext();) {
+                        PEPackageRegistration pkgReg = it.next();
                         newPath.add(pkgReg.pkg);
                     }
                     newPath.addAll(originalPath);
@@ -113,8 +113,8 @@
                 @Override
                 void register() {
                     Set<String> newPath = new LinkedHashSet<String> ();
-                    for (Iterator it = lookupResult.allInstances().iterator(); it.hasNext();) {
-                        BeanInfoRegistration biReg = (BeanInfoRegistration) it.next();
+                    for (Iterator<BeanInfoRegistration> it = lookupResult.allInstances().iterator(); it.hasNext();) {
+                        BeanInfoRegistration biReg = it.next();
                         newPath.add(biReg.searchPath);
                     }
                     newPath.addAll(originalBeanInfoSearchPath);
diff --git a/platform/openide.nodes/src/org/openide/nodes/EntrySupportDefault.java b/platform/openide.nodes/src/org/openide/nodes/EntrySupportDefault.java
index 7d4678f..ee2c916 100644
--- a/platform/openide.nodes/src/org/openide/nodes/EntrySupportDefault.java
+++ b/platform/openide.nodes/src/org/openide/nodes/EntrySupportDefault.java
@@ -546,9 +546,9 @@
                 children.parent.fireSubNodesChange(false, arr, current);
             }
             // fire change of parent
-            Iterator it = nodes.iterator();
+            Iterator<Node> it = nodes.iterator();
             while (it.hasNext()) {
-                Node n = (Node) it.next();
+                Node n = it.next();
                 n.deassignFrom(children);
                 n.fireParentNodeChange(children.parent, null);
             }
diff --git a/platform/openide.nodes/src/org/openide/nodes/NodeLookup.java b/platform/openide.nodes/src/org/openide/nodes/NodeLookup.java
index 5358bff..1f019db 100644
--- a/platform/openide.nodes/src/org/openide/nodes/NodeLookup.java
+++ b/platform/openide.nodes/src/org/openide/nodes/NodeLookup.java
@@ -133,10 +133,10 @@
                 all = CookieSet.exitAllClassesMode(prev);
             }
 
-            Iterator it = all.iterator();
+            Iterator<Class> it = all.iterator();
 
             while (it.hasNext()) {
-                Class c = (Class) it.next();
+                Class c = it.next();
                 updateLookupAsCookiesAreChanged(c);
             }
 
diff --git a/platform/openide.options/src/org/openide/options/SystemOption.java b/platform/openide.options/src/org/openide/options/SystemOption.java
index 32ba449..0cd1103 100644
--- a/platform/openide.options/src/org/openide/options/SystemOption.java
+++ b/platform/openide.options/src/org/openide/options/SystemOption.java
@@ -33,6 +33,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
+import java.util.Iterator;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Level;
@@ -137,10 +138,10 @@
                 return;
             }
 
-            java.util.Iterator it = m.entrySet().iterator();
+            Iterator<Map.Entry> it = m.entrySet().iterator();
 WHILE: 
             while (it.hasNext()) {
-                Map.Entry e = (Map.Entry) it.next();
+                Map.Entry e = it.next();
 
                 if (e.getValue() instanceof Box) {
                     Object value = ((Box) e.getValue()).value;
diff --git a/platform/openide.util.ui.svg/manifest.mf b/platform/openide.util.ui.svg/manifest.mf
index abe0f7d..00a8113 100644
--- a/platform/openide.util.ui.svg/manifest.mf
+++ b/platform/openide.util.ui.svg/manifest.mf
@@ -1,4 +1,5 @@
 Manifest-Version: 1.0
+AutoUpdate-Show-In-Client: false
 OpenIDE-Module: org.openide.util.ui.svg
 OpenIDE-Module-Localizing-Bundle: org/openide/util/svg/Bundle.properties
 OpenIDE-Module-Specification-Version: 1.1
diff --git a/platform/openide.util.ui/src/org/openide/util/ImageUtilities.java b/platform/openide.util.ui/src/org/openide/util/ImageUtilities.java
index ea8af4e..5a24b70 100644
--- a/platform/openide.util.ui/src/org/openide/util/ImageUtilities.java
+++ b/platform/openide.util.ui/src/org/openide/util/ImageUtilities.java
@@ -528,8 +528,9 @@
                 }
                 useLoaderQuery = loaderQuery;
             }
-            Iterator it = useLoaderQuery.allInstances().iterator();
-            toReturn = Optional.ofNullable(it.hasNext() ? (T) it.next() : null);
+
+            Iterator<? extends T> it = useLoaderQuery.allInstances().iterator();
+            toReturn = Optional.ofNullable(it.hasNext() ? it.next() : null);
             if (!toReturn.isPresent()) {
                 if (!noLoaderWarned.getAndSet(true)) {
                     ERR.log(Level.WARNING, "No {0} instance found in {1}", // NOI18N
diff --git a/platform/openide.util/src/org/openide/util/MapFormat.java b/platform/openide.util/src/org/openide/util/MapFormat.java
index 202948d..37626ba 100644
--- a/platform/openide.util/src/org/openide/util/MapFormat.java
+++ b/platform/openide.util/src/org/openide/util/MapFormat.java
@@ -310,13 +310,13 @@
     */
     public String parse(String source) {
         StringBuffer sbuf = new StringBuffer(source);
-        Iterator key_it = argmap.keySet().iterator();
+        Iterator<String> key_it = argmap.keySet().iterator();
 
         //skipped = new RangeList();
         // What was this for??
         //process(source, "\"", "\""); // NOI18N
         while (key_it.hasNext()) {
-            String it_key = (String) key_it.next();
+            String it_key = key_it.next();
             String it_obj = formatObject(argmap.get(it_key));
             int it_idx = -1;
 
diff --git a/platform/openide.util/src/org/openide/util/NbCollections.java b/platform/openide.util/src/org/openide/util/NbCollections.java
index 12687e2..4fa385a 100644
--- a/platform/openide.util/src/org/openide/util/NbCollections.java
+++ b/platform/openide.util/src/org/openide/util/NbCollections.java
@@ -65,7 +65,7 @@
      */
     public static <E> Set<E> checkedSetByCopy(Set rawSet, Class<E> type, boolean strict) throws ClassCastException {
         Set<E> s = new HashSet<E>(rawSet.size() * 4 / 3 + 1);
-        Iterator it = rawSet.iterator();
+        Iterator<?> it = rawSet.iterator();
         while (it.hasNext()) {
             Object e = it.next();
             try {
@@ -93,7 +93,7 @@
      */
     public static <E> List<E> checkedListByCopy(List rawList, Class<E> type, boolean strict) throws ClassCastException {
         List<E> l = (rawList instanceof RandomAccess) ? new ArrayList<E>(rawList.size()) : new LinkedList<E>();
-        Iterator it = rawList.iterator();
+        Iterator<?> it = rawList.iterator();
         while (it.hasNext()) {
             Object e = it.next();
             try {
@@ -122,9 +122,9 @@
      */
     public static <K,V> Map<K,V> checkedMapByCopy(Map rawMap, Class<K> keyType, Class<V> valueType, boolean strict) throws ClassCastException {
         Map<K,V> m2 = new HashMap<K,V>(rawMap.size() * 4 / 3 + 1);
-        Iterator it = rawMap.entrySet().iterator();
+        Iterator<Map.Entry> it = rawMap.entrySet().iterator();
         while (it.hasNext()) {
-            Map.Entry e = (Map.Entry) it.next();
+            Map.Entry e = it.next();
             try {
                 m2.put(keyType.cast(e.getKey()), valueType.cast(e.getValue()));
             } catch (ClassCastException x) {
@@ -142,7 +142,7 @@
 
         private static final Object WAITING = new Object();
 
-        private final Iterator it;
+        private final Iterator<?> it;
         private Object next = WAITING;
 
         public CheckedIterator(Iterator it) {
@@ -264,7 +264,7 @@
         @Override
         public int size() {
             int c = 0;
-            Iterator it = rawSet.iterator();
+            Iterator<?> it = rawSet.iterator();
             while (it.hasNext()) {
                 if (acceptEntry(it.next())) {
                     c++;
@@ -365,9 +365,9 @@
             @Override
             public int size() {
                 int c = 0;
-                Iterator it = rawMap.entrySet().iterator();
+                Iterator<Map.Entry> it = rawMap.entrySet().iterator();
                 while (it.hasNext()) {
-                    if (acceptEntry((Map.Entry) it.next())) {
+                    if (acceptEntry(it.next())) {
                         c++;
                     }
                 }
@@ -430,9 +430,9 @@
         @Override
         public int size() {
             int c = 0;
-            Iterator it = rawMap.entrySet().iterator();
+            Iterator<Map.Entry> it = rawMap.entrySet().iterator();
             while (it.hasNext()) {
-                if (acceptEntry((Map.Entry) it.next())) {
+                if (acceptEntry(it.next())) {
                     c++;
                 }
             }
diff --git a/platform/openide.util/src/org/openide/util/RE13.java b/platform/openide.util/src/org/openide/util/RE13.java
index 8b68df5..520be8f 100644
--- a/platform/openide.util/src/org/openide/util/RE13.java
+++ b/platform/openide.util/src/org/openide/util/RE13.java
@@ -219,7 +219,7 @@
 
         Integer last = null;
 
-        Iterator it = item.iterator();
+        Iterator<?> it = item.iterator();
         int i = 0;
 
         while (it.hasNext()) {
diff --git a/platform/openide.util/src/org/openide/util/Task.java b/platform/openide.util/src/org/openide/util/Task.java
index 4b64880..d582ced 100644
--- a/platform/openide.util/src/org/openide/util/Task.java
+++ b/platform/openide.util/src/org/openide/util/Task.java
@@ -195,7 +195,7 @@
     * @see #run
     */
     protected final void notifyFinished() {
-        Iterator it;
+        Iterator<TaskListener> it;
 
         synchronized (this) {
             finished = true;
@@ -211,7 +211,7 @@
         }
 
         while (it.hasNext()) {
-            TaskListener l = (TaskListener) it.next();
+            TaskListener l = it.next();
             l.taskFinished(this);
         }
     }
diff --git a/platform/openide.util/src/org/openide/util/TopologicalSortException.java b/platform/openide.util/src/org/openide/util/TopologicalSortException.java
index 8adf8ab..384ac76 100644
--- a/platform/openide.util/src/org/openide/util/TopologicalSortException.java
+++ b/platform/openide.util/src/org/openide/util/TopologicalSortException.java
@@ -316,10 +316,10 @@
         visited.add(vertex.object);
         vertex.visited = true;
 
-        Iterator it = vertex.edges();
+        Iterator<Vertex> it = vertex.edges();
 
         while (it.hasNext()) {
-            Vertex v = (Vertex) it.next();
+            Vertex v = it.next();
             visitDualGraph(v, visited);
         }
     }
diff --git a/platform/openide.util/src/org/openide/util/io/NbObjectOutputStream.java b/platform/openide.util/src/org/openide/util/io/NbObjectOutputStream.java
index eb61a25..85d4bd9 100644
--- a/platform/openide.util/src/org/openide/util/io/NbObjectOutputStream.java
+++ b/platform/openide.util/src/org/openide/util/io/NbObjectOutputStream.java
@@ -145,11 +145,11 @@
             b.append(classname);
             b.append(" does not declare serialVersionUID field. Encountered while storing: ["); // NOI18N
 
-            Iterator it = serializing.iterator();
+            Iterator<Class> it = serializing.iterator();
             boolean first = true;
 
             while (it.hasNext()) {
-                Class c = (Class) it.next();
+                Class c = it.next();
 
                 if ((c != cl) && serializingUniq.add(c)) {
                     if (first) {
diff --git a/profiler/maven.profiler/src/org/netbeans/modules/maven/profiler/RunCheckerImpl.java b/profiler/maven.profiler/src/org/netbeans/modules/maven/profiler/RunCheckerImpl.java
index 5320783..19dee4f 100644
--- a/profiler/maven.profiler/src/org/netbeans/modules/maven/profiler/RunCheckerImpl.java
+++ b/profiler/maven.profiler/src/org/netbeans/modules/maven/profiler/RunCheckerImpl.java
@@ -112,18 +112,31 @@
             
             session.setAttribute("mvn-run-checker.config", config);
              
+            final String agentArg = sProps.get("agent.jvmargs"); // NOI18N
+            final String internalProfilerArgs = sProps.get("profiler.info.jvmargs") // NOI18N
+                                + " " + agentArg; // NOI18N 
+
+            final String prefixPublicArgs = "profiler.jvmargs"; // NOI18N
+            config.setProperty(prefixPublicArgs+".all",internalProfilerArgs); // NOI18N
             for (Map.Entry<? extends String, ? extends String> entry : config.getProperties().entrySet()) {
                 if (entry.getKey().equals(VM_ARGS)) {
                     String value = entry.getValue();
                     int index = value.indexOf(PROFILER_ARGS);
                     if(index > -1) {
-                        String agentArg = sProps.get("agent.jvmargs");
-                        value = value.replace(PROFILER_ARGS, sProps.get("profiler.info.jvmargs") // NOI18N
-                                + " " + agentArg); // NOI18N
+                        value = value.replace(PROFILER_ARGS, internalProfilerArgs);
                         config.setProperty(entry.getKey(), value);
                     }
                 }
             }
+            // Make the profiler jvm args available as individual arguments.
+            // Note: this assumes ordering doesn't matter.
+            int idxArg = 0;
+            for(Map.Entry<String, String> entry : sProps.entrySet()) {
+                if(entry.getKey().startsWith("profiler.netbeansBindings.jvmarg.")) { // NOI18N
+                    ++idxArg;
+                    config.setProperty(prefixPublicArgs+".arg"+idxArg, entry.getValue()); // NOI18N
+                }
+            }
             final ProfilerLauncher.Session s = session;
             // Attach profiler engine (in separate thread) to profiled process
             if (!NetBeansProfiler.getDefaultNB().startEx(s.getProfilingSettings(), s.getSessionSettings(), new AtomicBoolean())) {
diff --git a/profiler/profiler.nbimpl/src/org/netbeans/modules/profiler/nbimpl/actions/ProfilerLauncher.java b/profiler/profiler.nbimpl/src/org/netbeans/modules/profiler/nbimpl/actions/ProfilerLauncher.java
index 37fc1d1..fe4ebb7 100644
--- a/profiler/profiler.nbimpl/src/org/netbeans/modules/profiler/nbimpl/actions/ProfilerLauncher.java
+++ b/profiler/profiler.nbimpl/src/org/netbeans/modules/profiler/nbimpl/actions/ProfilerLauncher.java
@@ -69,6 +69,7 @@
     
     final private static String AGENT_ARGS = "agent.jvmargs"; // NOI18N
     final private static String LINUX_THREAD_TIMER_KEY = "-XX:+UseLinuxPosixThreadCPUClocks"; // NOI18N
+    final private static String ARGS_PREFIX = "profiler.netbeansBindings.jvmarg"; // NOI18N
     
     public static final class Command {
         private final String command;
@@ -541,6 +542,7 @@
         }
         assert agentArgs != null;
         props.put(AGENT_ARGS, agentArgs);
+        props.put(ARGS_PREFIX + ".agent", agentArgs); // NOI18N
 
         if (Platform.isLinux() && javaVersion.equals(CommonConstants.JDK_16_STRING)) {
             activateLinuxPosixThreadTime(pSettings, props);
@@ -608,8 +610,12 @@
                     heapDumpPath = "\"" + heapDumpPath + "\"";//NOI18N
                 }
 
-                oomArgsBuffer.append(" -XX:+HeapDumpOnOutOfMemoryError"); // NOI18N
-                oomArgsBuffer.append(" -XX:HeapDumpPath=").append(heapDumpPath).append(" "); // NOI18N
+                final String oom = "-XX:+HeapDumpOnOutOfMemoryError";
+                final String path = "-XX:HeapDumpPath=" + heapDumpPath;
+                oomArgsBuffer.append(" ").append(oom); // NOI18N
+                oomArgsBuffer.append(" ").append(path).append(" "); // NOI18N
+                props.put(ARGS_PREFIX + ".outOfMemory", oom); // NOI18N
+                props.put(ARGS_PREFIX + ".heapDumpPath", path); // NOI18N
 
                 ProfilerLogger.log("Profiler.OutOfMemoryDetection: Enabled"); // NOI18N
             }
diff --git a/profiler/profiler.oql.language/src/org/netbeans/modules/profiler/oql/language/OQLCompletionProvider.java b/profiler/profiler.oql.language/src/org/netbeans/modules/profiler/oql/language/OQLCompletionProvider.java
index 58deff3..3c1edfd 100644
--- a/profiler/profiler.oql.language/src/org/netbeans/modules/profiler/oql/language/OQLCompletionProvider.java
+++ b/profiler/profiler.oql.language/src/org/netbeans/modules/profiler/oql/language/OQLCompletionProvider.java
@@ -237,9 +237,9 @@
                         Set<String> pkgCompletions = new HashSet<String>();
                         Set<String> completions = new HashSet<String>();
 
-                        Iterator clzs = e.getHeap().getJavaClassesByRegExp(regex).iterator();
+                        Iterator<JavaClass> clzs = e.getHeap().getJavaClassesByRegExp(regex).iterator();
                         while(clzs.hasNext()) {
-                            String className = ((JavaClass)clzs.next()).getName();
+                            String className = clzs.next().getName();
                             String[] sig = splitClassName(className);
                             if (sig[1].startsWith(tokentext)) {
                                 completions.add("00 " + className); // NOI18N
diff --git a/profiler/profiler.oql/src/org/netbeans/modules/profiler/oql/engine/api/impl/Snapshot.java b/profiler/profiler.oql/src/org/netbeans/modules/profiler/oql/engine/api/impl/Snapshot.java
index 0425b49..582efa2 100644
--- a/profiler/profiler.oql/src/org/netbeans/modules/profiler/oql/engine/api/impl/Snapshot.java
+++ b/profiler/profiler.oql/src/org/netbeans/modules/profiler/oql/engine/api/impl/Snapshot.java
@@ -167,7 +167,7 @@
     }
 
     public Iterator getClassNames(String regex)  {
-        final Iterator delegated = delegate.getJavaClassesByRegExp(regex).iterator();
+        final Iterator<JavaClass> delegated = delegate.getJavaClassesByRegExp(regex).iterator();
         return new Iterator() {
 
             public boolean hasNext() {
@@ -175,7 +175,7 @@
             }
 
             public Object next() {
-                return ((JavaClass)delegated.next()).getName();
+                return delegated.next().getName();
             }
 
             public void remove() {
diff --git a/webcommon/javascript.nodejs/samples_src/MessagesAngular/package.json b/webcommon/javascript.nodejs/samples_src/MessagesAngular/package.json
index ea851f1..877fc23 100644
--- a/webcommon/javascript.nodejs/samples_src/MessagesAngular/package.json
+++ b/webcommon/javascript.nodejs/samples_src/MessagesAngular/package.json
@@ -10,7 +10,7 @@
     "dependencies": {
         "express": "^4.10.1",
         "body-parser": "^1.4.3",
-        "bower": "~1.3.12"
+        "bower": "~1.8.8"
     },
     "devDependencies": {
         "gulp": "^3.8.10",
diff --git a/webcommon/javascript.nodejs/samples_src/MessagesExpress/package.json b/webcommon/javascript.nodejs/samples_src/MessagesExpress/package.json
index 5664cdf..accbe7e 100644
--- a/webcommon/javascript.nodejs/samples_src/MessagesExpress/package.json
+++ b/webcommon/javascript.nodejs/samples_src/MessagesExpress/package.json
@@ -11,11 +11,11 @@
     "dependencies": {
         "body-parser": "~1.10.2",
         "cookie-parser": "~1.3.3",
-        "debug": "~2.1.1",
+        "debug": "~2.6.9",
         "express": "~4.11.1",
         "jade": "~1.9.1",
-        "morgan": "~1.5.1",
-        "bower" : "~1.3.12"
+        "morgan": "~1.9.1",
+        "bower" : "~1.8.8"
     },
     "devDependencies": {
         "grunt": "^0.4.5",
diff --git a/webcommon/javascript.nodejs/samples_src/MessagesKnockout/package.json b/webcommon/javascript.nodejs/samples_src/MessagesKnockout/package.json
index d407fb3..40bbc89 100644
--- a/webcommon/javascript.nodejs/samples_src/MessagesKnockout/package.json
+++ b/webcommon/javascript.nodejs/samples_src/MessagesKnockout/package.json
@@ -6,7 +6,7 @@
     "dependencies": {
         "express": "^4.10.1",
         "body-parser": "^1.4.3",
-        "bower" : "~1.3.12"
+        "bower" : "~1.8.8"
     },
     "devDependencies": {
         "grunt": "^0.4.5",
diff --git a/websvccommon/websvc.saas.codegen/src/org/netbeans/modules/websvc/saas/codegen/util/Util.java b/websvccommon/websvc.saas.codegen/src/org/netbeans/modules/websvc/saas/codegen/util/Util.java
index 4e56769..3953a9e 100644
--- a/websvccommon/websvc.saas.codegen/src/org/netbeans/modules/websvc/saas/codegen/util/Util.java
+++ b/websvccommon/websvc.saas.codegen/src/org/netbeans/modules/websvc/saas/codegen/util/Util.java
@@ -188,9 +188,9 @@
     public static JLabel findLabel(JComponent comp, String labelText) {
         Vector allComponents = new Vector();
         getAllComponents(comp.getComponents(), allComponents);
-        Iterator iterator = allComponents.iterator();
+        Iterator<Component> iterator = allComponents.iterator();
         while (iterator.hasNext()) {
-            Component c = (Component) iterator.next();
+            Component c = iterator.next();
             if (c instanceof JLabel) {
                 JLabel label = (JLabel) c;
                 if (label.getText().equals(labelText)) {
diff --git a/websvccommon/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/nodes/WsdlMethodNode.java b/websvccommon/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/nodes/WsdlMethodNode.java
index 646aac2..64b80af 100644
--- a/websvccommon/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/nodes/WsdlMethodNode.java
+++ b/websvccommon/websvc.saas.ui/src/org/netbeans/modules/websvc/saas/ui/nodes/WsdlMethodNode.java
@@ -190,11 +190,11 @@
 
             signature += ")";
 
-            Iterator excpIterator = javaMethod.getExceptions();
+            Iterator<String> excpIterator = javaMethod.getExceptions();
             if (excpIterator.hasNext()) {
                 signature += " throws";
                 while (excpIterator.hasNext()) {
-                    String currentExcp = (String) excpIterator.next();
+                    String currentExcp = excpIterator.next();
                     signature += " " + currentExcp;
                     if (excpIterator.hasNext()) {
                         signature += ",";
@@ -257,9 +257,9 @@
                 sheet.put(exceptionSet);
             }
 
-            Iterator exceptionIterator = javaMethod.getExceptions();
+            Iterator<String> exceptionIterator = javaMethod.getExceptions();
             for (int ii = 0; exceptionIterator.hasNext(); ii++) {
-                String currentException = (String) exceptionIterator.next();
+                String currentException = exceptionIterator.next();
                 p = new Reflection(currentException, String.class, "toString", null); // NOI18N
                 p.setName("exception" + ii); // NOI18N
                 p.setDisplayName(NbBundle.getMessage(WsdlMethodNode.class, "METHOD_PARAMTYPE")); // NOI18N